W poniższym kodzie...:
twojezyskinagieldzie.pl/zarzad...Kod:wstop = 0.05*Close;
Plot(Close,"Close",colorBlack,styleCandle);
ma1 = MA(Close,21);
ma2 = MA(Close,55);
Plot(ma1,"",colorRed);
Plot(ma2,"",colorBlue);
Buy = Cross(ma1,ma2);
BuyPrice = Close;
Sell = 0;
SellPrice = Close;
SetTradeDelays(0,0,0,0);
//ApplyStop(stopTypeTrailing,stopModePoint,wartstop);
LiniaStop = Null;
pozycja = 0;
wartoscStop = 0;
for(i=0; i<BarCount; i++)
{
if(Buy[i]==1)
{
pozycja = 1;
wartoscStop = Close[i]-wstop[i];
}
if(pozycja == 1 AND Close[i]<=wartoscStop)
{
Sell[i] = 1;
pozycja = 0;
}
if(Close[i]-wstop[i]>wartoscStop)
wartoscStop = Close[i]-wstop[i];
if(pozycja == 1)
LiniaStop[i] = wartoscStop;
}
PlotShapes(Buy*shapeUpArrow,colorGreen,0,Low);
PlotShapes(Sell*shapeHollowDownArrow,colorGreen,0,High);
Plot(LiniaStop,"",colorRed,styleDots);
SetPositionSize(1,spsShares);
... Pan Rafał Wysocki w prostym systemiku stosuje zwizualizowanie trailingstopa przy pomocy pętli for. Ja chciałbym natomiast poniższy aby w/w systemik reagował nie na trailing tylko na stoploss sztywny.
Wiem, że można by zastosować (ApplyStop,stopModePoint,wartstop) i usunąć całą pętle for, ale wtedy owszem system odpowiedznio działał, ale bez wizualizacji stopa na wykresie. Kombinuję, że aby w tym kodzie uzyskać należało by zamienieć..:
Kod:LiniaStop[i] = wartoscStop;
..na coś w rodzaju
Kod:LiniaStop[i] = cena - wstop po której została zawarta ostania transakcja.
... ale po pierwsze nie wiem czy da się coś takiego zrobić, a po drugie nie wiem jak to zapisać.