if條件滿足的情況下沒有執行下面的語句 [開拓者 TB]
- 咨詢內容:
- Params
- Numeric length1(20);
- Numeric length2(80);
- Vars
- NumericSeries Avghigh20;
- NumericSeries Avghigh80;
- NumericSeries Avglow20;
- NumericSeries Avglow80;
- NumericSeries ma20;
- NumericSeries ma80;
- Begin
- Avghigh20=Average(high,length1);
- Avghigh80=Average(high,length2);
- Avglow20=Average(low,length1);
- Avglow80=Average(low,length2);
- ma20=Average(close,length1);
- ma80=Average(close,length2);
- if ((Close[1]>Avghigh20[1]&&ma20[1]>ma20[2])&&(close[1]>Avghigh80[1]&&ma80[1]>ma80[2])&&MarketPosition<>1)
- Buy(1,open);
- else if (close[1]<Avglow80[1]&&MarketPosition==1)
- Sell(1,open);
- else if ((Close[1]<Avglow20[1]&&ma20[1]<ma20[2])&&(close[1]<Avglow80[1]&&ma80[1]<ma80[2])&&MarketPosition<>-1)
- SellShort(1,open);
- else if (close[1]>Avghigh80[1]&&MarketPosition==-1)
- BuyToCover(1,open);
- Commentary("20最高價="+text(avghigh20));
- Commentary("80最高價="+text(avghigh80));
- Commentary("20最低價="+text(avglow20));
- Commentary("80最低價="+text(avglow80));
- Commentary("20均價="+text(ma20));
- Commentary("80均價="+text(ma80));
- Commentary("交易狀態="+text(MarketPosition));
- End
- Params
- TB技術人員:
簡單看了一下公式,里面使用的最大參數是80.
也就是說為了保證交易的正確性,信號會在currentbar>=80后才會有信號。。
圖表最左邊的bar上是不會顯示信號的。。
建議你在公式里加上currentba>=maxbarsback的條件。 - TB客服:
小米 發表于 2016-2-5 10:52
簡單看了一下公式,里面使用的最大參數是80.
也就是說為了保證交易的正確性,信號會在currentbar>=80后才會 ...
謝謝謝謝!!!好厲害!!!
那以前不加的時候他為什么沒有信號但是marketposition卻變了呢? - 網友回復:
shingyscorpio 發表于 2016-2-5 11:03
謝謝謝謝!!!好厲害!!!
那以前不加的時候他為什么沒有信號但是marketposition卻變了呢? ...
那你的公式條件已經滿足了開倉的條件 。。
但是如果是currenbar<maxbarsback時,我們會認為數據沒有達到原需求,出來的計算結果可能是有誤的,所以不顯示plotnumeric等輸出以及信號的輸出、、
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容