請問這個模型哪里寫錯了 - TradeBlazer公式
作者:開拓者 TB 來源:cxh99.com 發布時間:2012年11月25日
- 咨詢內容: 本帖最后由 土人 于 2012-9-20 14:48 編輯
原理大致是大均線交叉進場后,用小均線再判斷,做兩次進場。
同時出場。
一直不知道錯誤在哪里,請幫忙解決,謝謝。
- Params
- Numeric FastLength(40);
- Numeric SlowLength(60);
- Vars
- NumericSeries AvgValue1;
- NumericSeries AvgValue2;
- NumericSeries AvgValue3;
- NumericSeries AvgValue4;
- Numeric AA;
- Numeric BB;
- Begin
-
- AvgValue1 = AverageFC(Close,FastLength);
- AvgValue2 = AverageFC(Close,SlowLength);
- AvgValue3 = AverageFC(Close,5);
- AvgValue4 = AverageFC(Close,20);
-
- If(MarketPosition ==0 && AvgValue1[1] > AvgValue2[1])
- {
- Buy(1,Open);
- SetGlobalVar (1,1);
- }
-
- If(MarketPosition ==0 && AvgValue1[1] < AvgValue2[1])
- {
- SellShort(1,Open);
- SetGlobalVar (2,2);
- }
-
-
- AA=GetGlobalVar(1);
- BB=GetGlobalVar(2);
-
- PlotNumeric("大MA1",AvgValue1,0,red);
- PlotNumeric("大MA2",AvgValue2,0,Yellow);
- PlotNumeric("小MA3",AvgValue3,0,Blue);
- PlotNumeric("小MA4",AvgValue4,0,Green);
-
- //PlotNumeric("PL",Portfolio_TotalProfit);
-
- //==========================================================================================
- //==========================================小周期同向再進場======================
- If(/*MarketPosition==1 && */AvgValue1[1] > AvgValue2[1] && AvgValue3[1] > AvgValue4[1] && AA==1)
- {
- Buy(2,Open);
- }
-
- If(/*MarketPosition ==-1 && */AvgValue1[1] < AvgValue2[1] && AvgValue3[1] < AvgValue4[1] && BB==2)
- {
- SellShort(2,Open);
- }
-
-
- //==============出場
- If(MarketPosition ==1 && AvgValue1[1] < AvgValue2[1])
- {
- Sell(0,Open);
- }
-
- If(MarketPosition ==-1 && AvgValue1[1] > AvgValue2[1])
- {
- BuyToCover(0,Open);
- }
-
-
- End
- TB技術人員: AA BB如果不用序列變量的話,不會保存值到賦值之后的下一根K線。要睡覺了,先改正這個試試
- TB客服:
rookies 發表于 2012-9-21 00:24
AA BB如果不用序列變量的話,不會保存值到賦值之后的下一根K線。要睡覺了,先改正這個試試 ...
謝謝
有時間幫我檢查一下是否有其他重大錯誤