用SwingHigh 出現的問題,求教! 寫了一個MACD頂背離的測試程序 [開拓者 TB]
-
咨詢內容:
本帖最后由 Alex2020 于 2020-12-11 18:32 編輯
寫了一個頂背離的程序,, 為了避免出現??SwingHigh 為-1的情況,用了 If(Bofen1>0 && Bofen2>0 && BARbofen1>0 && BARbofen2>0 ) 來控制,
但是,沒有起作用,還是不停的開倉.
請見如下簡化的程序:
Vars
? ? ? ? Series<Numeric> BFBar1; //第1個波峰發生的bar
? ? ? ? Series<Numeric> BFBar2; //第2個波峰發生的bar
? ? ? ? Series<Numeric>? ? ? ? Bofen1 ; //第一個波峰的值
? ? ? ? Series<Numeric> BARbofen1; //第一個波峰的BAR回溯值
? ?? ???Series<Numeric>? ? ? ? Bofen2 ; //第2個波峰的值
? ? ? ? Series<Numeric> BARbofen2; //第2個波峰的BAR值回溯
OnBar(ArrayRef<Integer> indexs)
? ? ? ? {
? ?? ?? ?? ?? ? Bofen1= SwingHigh(1,High,2,Length1); //最近第一個波峰
? ? ? ? ? ? ? ? BARbofen1= SwingHighBar(1,High,2,Length1); //最近第一個波峰Bar值
? ? ? ? ? ? ? ? BFBar1=CurrentBar-BARbofen1;??//最近第一個波峰發生時的BAR
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? Bofen2= SwingHigh(2,High,5,Length1); //最近第2個波峰
? ? ? ? ? ? ? ? BARbofen2= SwingHighBar(2,High,5,Length1); //最近第2個波峰Bar回溯值
? ? ? ? ? ? ? ? BFBar2=CurrentBar-BARbofen2;? ?//最近第二個波峰發生時的BAR
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? If(Bofen1>0 && Bofen2>0 && BARbofen1>0 && BARbofen2>0 )? ?//這個條件沒有起作用
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ?? ?if(Bofen1>Bofen2??&& MACDLine[BFBar1]<MACDLine[Bofen2] && MarketPosition ==0)??//頂背離發生,開空倉, 無持倉時
? ? ? ? ? ? ? ?? ?{
? ? ? ? ? ? ? ? ? ? ? ???MyEntryPrice=Open;
? ? ? ? ? ? ? ? ? ? ? ???SellShort(Num,MyEntryPrice);? ?? ?? ?? ???
? ? ? ? ? ? ? ? ? ? ? ???Commentary("頂背離-開空: "+Text(MyEntryPrice));
? ? ? ? ? ? ? ? ? ? ? ???SendOrderThisBar = True; //本條bar開過倉
? ? ? ? ? ? ? ?? ?}
? ? ? ? ? ? ? ? }? ? ? ?
? ? ? ? }? ? ? ??
?來源:CXH99.COM
-
TB技術人員:
SwingHigh 為-1是因為你swinghigh的參數取得不對。把參數調整下。控制開倉的語句你也是不對的
?
-
TB客服:
if(Bofen1>Bofen2??&& MACDLine[BFBar1]<MACDLine[Bofen2] && MarketPosition ==0)??//頂背離發生,開空倉, 無持倉時,這里用的是回測值,但是你用法貌似錯了。MarketPosition<>-1
?
-
網友回復:
TB策略微信群
加群主微信:northquant
有思路,想編寫各種指標公式,交易模型,選股公式,還原公式的朋友
可聯系技術人員 QQ: 262069696 或微信號:cxh99cxh99 進行 有償收費 編寫!
(注:由于人數限制,QQ或微信請選擇方便的一個聯系我們就行,加好友時請簡單備注下您的需求,否則無法通過。謝謝您!)
相關文章
-
沒有相關內容