Как в wealht-lab можно сделать так, чтобы в неудачных сделках трейлинг- стоп срабатывал на той же свечки, на которой был вход? И чтобы не получалось такого:
Пытался убрать "+1":
Но почти все сделки стали закрываться на той же свечки, на которой был вход, независимо от размера трейлинг-стопа.
Если кто поможет в решении этой проблемы, буду очень бладарен.
for(int bar....; bar < Bars.Count; bar++)
И вопрос отпадает сам собой.
У нас цикл перебора свечек из серии. Такой цикл никаких «внутри» свечки не предполагает. Каждый прогон — новый бар.
for(int bar....; bar < Bars.Count; bar++),
если бы я разбирался в программировании, я бы уже что-нибудь придумал
fau, using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
namespace WealthLab.Strategies
{
public class MyStrategy: WealthScript
{
protected override void Execute()
{
PlotSeries(PricePane, Highest.Series(High, 20) >> 1, Color.Red, LineStyle.Solid, 1);
PlotStops();
for(int bar = GetTradingLoopStartBar(21); bar < Bars.Count; bar++)
{
if (IsLastPositionActive)
{
Position p = LastPosition;
if (p.EntrySignal.Contains(«Group1|»))
{
double amount = p.MFEAsOfBar(bar) / p.Shares + p.EntryPrice — 1000;
SellAtTrailingStop(bar + 1, p, amount, «Group1»);
}
}
else
{
BuyAtStop(bar + 1, Highest.Value(bar, High, 20), «Group1|»);
}
}
}
}
}
BuyAtStop-насколько я понял-это и есть вход в сделку.
SellAtStop пытался по разному вписать, но постоянно выдает ошибку, не знаю как вписать туда.
SellAtStop(bar+1, LastPosition, price1);
price1 — уровень стопа
}
else
{
BuyAtStop(bar + 1, Highest.Value(bar, High, 20), «Group1|»);
SellAtStop(bar + 1, LastPosition, 1000);
}
}
}
}
}
тоже самое что и на рисунке в посте, все равно закрывается только на следующей свечки и просадка идет минус 4500
double amount = p.MFEAsOfBar(bar) / p.Shares + p.EntryPrice — 1000;