求大神,止損不會(huì)執(zhí)行 [開拓者 TB]
-
咨詢內(nèi)容:
Params
? ? ? ? Numeric FastLength(12);
? ? ? ? Numeric SlowLength(26);
? ? ? ? Numeric MACDLength(9);
? ? ? ?
? ? Numeric StopLossSetA(300);? ? // 止損設(shè)置多頭
? ? Numeric StopLossSetB(300);? ? // 止損設(shè)置空頭
Vars
? ? ? ? NumericSeries M;
? ? ? ? Numeric AvgMACD;
? ? ? ? NumericSeries N;
? ? ? ? Numeric MACDDiff;
? ? ? ? Numeric??G1;
? ? ? ? Numeric G2;
? ? ? ? Numeric E;
? ???Numeric F;
? ? ? ? Numeric P1;
? ? ? ? Numeric P2;
? ???NumericSeries EA;
? ???NumericSeries EF;
? ???NumericSeries EP1;
? ???NumericSeries EP2;
? ???
? ?
Numeric MinPoint;// 一個(gè)最小變動(dòng)單位,也就是一跳
Numeric MyEntryPrice; // 開倉(cāng)價(jià)格,本例是開倉(cāng)均價(jià),也可根據(jù)需要設(shè)置為某次入場(chǎng)的價(jià)格
Numeric MyExitPrice;// 平倉(cāng)價(jià)格
Begin
? ? ? ? M = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;? ? ? ?
? ? ? ? AvgMACD = XAverage(M,MACDLength);
? ? ? ? MACDDiff = M - AvgMACD;
? ? ? ?
? ? MinPoint = MinMove*PriceScale;
? ? MyEntryPrice = AvgEntryPrice;
? ? ? ? PlotNumeric("MACD",M);
? ? ? ? PlotNumeric("MACDAvg",AvgMACD);
? ? ? ?
? ? ? ? If (MACDDiff >= 0)? ? ? ?
? ? ? ? ? ? ? ? PlotNumeric("MACDDiff",MACDDiff,0,Red);
? ? ? ? Else
? ? ? ? ? ? ? ? PlotNumeric("MACDDiff",MACDDiff,0,Green);
? ? ? ? PlotNumeric("零線",0); ? ? ? ???
? ? ? ? N=AvgMACD;
? ? ? ? G1=Highest (h,8);
? ? ? ? G2=Lowest(l,8);
? ? ? ? If (((M[1]>N[1]) AND (M<N))AND(M<>0))
? ? ? ? {E=M;
? ? ? ? P1=G1;
? ???EA=E;
? ???EP1=P1;
? ? ? ? PlotNumeric("EA",E);
? ? ? ? PlotNumeric("EP1",P1);
? ? ? ?
? ? ? ? }
? ? ? ?
? ? ? ? IF(((M[1]<N[1]) AND (M>N))AND(M<>0))
? ? ? ? {F=M;
? ? ? ? P2=G2;
? ? ? ? EF=F;
? ? ? ? EP2=P2;
? ? ? ? PlotNumeric("EF",F);
? ? ? ? PlotNumeric("EP2",P2);
? ? ? ? //PlotNumeric("R",R);
? ? ? ? }
??IF ((EP2 <EP2[1]) and(EF>=EF[1]))
? ?? ?? ?? ? Buy(0,Close);
? ?? ?? ?
? ? ? ?? ? IF(MarketPosition==1) // 有多倉(cāng)的情況
? ? {? ???IF(Open <= MyEntryPrice - StopLossSetA*MinPoint)// 止損條件表達(dá)式
? ?? ???{
? ?? ?? ?? ?MyExitPrice = MyEntryPrice - StopLossSetA*MinPoint;
? ?? ???
? ?? ?? ? IF(Low< MyExitPrice)
? ?? ?? ? MyExitPrice = Open;? ?? ?// 如果該Bar開盤價(jià)有跳空觸發(fā),則用開盤價(jià)代替
? ?? ?? ?? ?Sell(0,MyExitPrice);
? ?? ???}
? ?? ???}
? ? ? ?
? ? ? ?? ?
? ? ? ?? ?
? ? IF((EP1>EP1[1] ) and (EA <=EA[1]))
? ?? ???SellShort(0,Close);
? ?? ?? ?? ???
??IF(MarketPosition==-1) // 有空倉(cāng)的情況
? ? {? ?IF(Open >= MyEntryPrice + StopLossSetB*MinPoint)// 止損條件表達(dá)式
? ?? ???{
? ?? ?? ?? ?MyExitPrice = MyEntryPrice + StopLossSetB*MinPoint;
? ?? ?? ?? ?
? ?? ???IF(High> MyExitPrice)
? ?? ???MyExitPrice = Open;? ?? ?// 如果該Bar開盤價(jià)有跳空觸發(fā),則用開盤價(jià)代替
? ?? ?? ?? ?BuyToCover(0,MyExitPrice);
? ?}
? ? }
? ?? ?? ?? ???
End
這段代碼,無論止損怎么設(shè),都不會(huì)執(zhí)行,同時(shí)我還遇到一種情況,就是空頭止損無論設(shè)置多大第二根BAR就會(huì)被止損,多頭無論設(shè)置多小都不會(huì)被執(zhí)行,這是什么情況??
?來源:CXH99.COM
-
TB技術(shù)人員:
本帖最后由 kookzw 于 2017-6-24 17:49 編輯
你用這個(gè)官網(wǎng)提供的止損代碼改改多好。把開平倉(cāng)的代碼放一起,止損的代碼單獨(dú)放一起,編程看著舒服。
我加了備注清晰明了。想移動(dòng)止損,想初始止損,隨便改。- //bStop = Highest(High[1],BarsSinceEntry) - nLoss*OnePoint;? ? //買盤止損線不斷移動(dòng)到買入后產(chǎn)生的最高價(jià)減去止損限額
- ? ?? ???//sStop =??Lowest( Low[1],BarsSinceEntry) + nLoss*OnePoint;? ? //賣盤止損線不斷移動(dòng)到賣出后產(chǎn)生的最低價(jià)減去止損限額
- ? ?? ???bStop = EntryPrice - nLoss*OnePoint;? ? //買盤止損線不斷移動(dòng)到買入后產(chǎn)生的最高價(jià)減去止損限額
- ? ?? ???sStop =??EntryPrice + nLoss*OnePoint;? ? //賣盤止損線不斷移動(dòng)到賣出后產(chǎn)生的最低價(jià)減去止損限額
- ? ?? ???
- ? ? ? ? ? ? ? ? If (MarketPosition == 1) PlotNumeric("bStop",bStop);? ? // 畫出多單止損線。? ?
- ? ?? ???If (MarketPosition ==-1) PlotNumeric("sStop",sStop);? ? // 畫出空單止損線。??
- ? ?? ?? ?If ( BarsSinceEntry <> 0)
- ? ?? ???{? ?? ???
- ? ?? ?? ???If ( MarketPosition == 1 &&??Low<bStop )? ?? ? Sell(0,Min(Open,bStop));
- ? ?? ?? ???If ( MarketPosition ==-1 && High>sStop ) BuyToCover(0,Max(Open,sStop));
- ? ? ? ? ? ? ? ???}
?
- //bStop = Highest(High[1],BarsSinceEntry) - nLoss*OnePoint;? ? //買盤止損線不斷移動(dòng)到買入后產(chǎn)生的最高價(jià)減去止損限額
-
TB客服:
kookzw 發(fā)表于 2017-6-24 17:45
你用這個(gè)官網(wǎng)提供的止損代碼改改多好。把開平倉(cāng)的代碼放一起,止損的代碼單獨(dú)放一起,編程看著舒服。
我加 ...
好的,謝謝,我試試看?
-
網(wǎng)友回復(fù):
kookzw 發(fā)表于 2017-6-24 17:45
你用這個(gè)官網(wǎng)提供的止損代碼改改多好。把開平倉(cāng)的代碼放一起,止損的代碼單獨(dú)放一起,編程看著舒服。
我加 ...
我嘗試了,問題還是沒得到解決,不過還是非常感謝你
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容