http://twojezyskinagieldzie.pl/zarzadzanie-kapitalem-metody-wbudowane-posiadany-kapital-wielkosc-ryzyka/
- Kod: Zaznacz wszystko
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: Zaznacz wszystko
LiniaStop[i] = wartoscStop;
..na coś w rodzaju
- Kod: Zaznacz wszystko
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ć.
P.S Już nieaktualne:http://www.stockwatch.pl/forum/wpisy-5340_Amibroker-Zastapienie-trailingstopa-stopem-na-sztywno.aspx
Pozostał tylko jeszcze problem z Exrem ....