求大神幫忙完成下面的代碼。 [開拓者 TB]
- 咨詢內容:
公式的要求:快慢線在0軸以上,發生一次死叉(有一次回撤)后,再次發生金叉,就進場做多。
快慢線在0軸以下,發生一次金叉(有一次反彈)后,再次發生死叉,進場做空。
下面是不完整的,不知道該如何確定發生的一次死叉。
Params
??????? Numeric FastLength(12); //12
??????? Numeric SlowLength(26);//26
??????? Numeric MACDLength(9);//9
Vars
??????? NumericSeries MACDValue;?
??????? Numeric AvgMACD;
??????? NumericSeries MACDDiff;????????
??????? BoolSeries??????? condition1;
??????? BoolSeries??????? condition2;
????????
Begin
??????? MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;????????
??????? AvgMACD = XAverage(MACDValue,MACDLength);
??????? MACDDiff = MACDValue - AvgMACD;
??????? PlotNumeric("MACDValue",MACDValue);
??????? PlotNumeric("AvgMACD",AvgMACD);
??????? /*if (MACDDiff>0)
??????????????? PlotNumeric("macddiff",macddiff,0,Red);
??????? Else
??????????????? PlotNumeric("macddiff",macddiff,0,Green);
??????? PlotNumeric("零線",0);*/
????????
??????? condition1=CrossOver(MACDValue,AvgMACD);//金叉做多
??????? condition2=CrossUnder(MACDValue,AvgMACD);//死叉做空
????????
??????? if(condition1[1] )
??????? {
??????????????? Buy(1,open);
??????? }
????????
??????? if(condition2[1])
??????? {
??????????????? SellShort(1,open);
??????? }?
End
- TB技術人員:
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
NumericSeries MACDValue;
Numeric AvgMACD;
Numeric MACDDiff;
BoolSeries Con1;
BoolSeries Con2;
BoolSeries Con3;
BoolSeries Con4;
BoolSeries Con5;
BoolSeries Con6;
Begin
// 集合競價和小節休息過濾
If(!CallAuctionFilter()) Return;
MACDValue = XAverage(Close,FastLength ) - XAverage(Close,SlowLength ) ;
AvgMACD = XAverage(MACDValue,MACDLength);
MACDDiff = MACDValue - AvgMACD;
Con1 = (MACDValue > 0) And (AvgMACD > 0);
Con2 = CrossOver(MACDValue,AvgMACD);
Con3 = (MACDValue < 0) And (AvgMACD < 0);
Con4 = CrossUnder(MACDValue,AvgMACD);
If(Con1 and Con4)
{
Con5 = True;
}Else If(Con3)
{
Con5 = False;
}
If(Con2 and Con3)
{
Con6 = True;
}Else If(Con1)
{
Con6 = False;
}
If(MarketPosition != 1 And Con1[1] And Con2[1] and Con5[1])
{
Buy(1,Open);
}
If(MarketPosition != -1 And Con3[1] and Con4[1] and Con6[1])
{
SellShort(1,Open);
}
End - TB客服:
垃圾策略,MACD只能用來手工交易判斷,程序化完全是垃圾。
比如背離的時候,有的MACDvalue很高,有的卻很低;你不能用一個固定的范圍或差值去確定背離。判斷上漲下跌也一樣。
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容