问题1;两条均线不显示
问题2;MACD快线和0轴也不显示
问题3;没有交易信号
//只做多双均线,MA1金叉MA3 同时满足MACD快线上穿0轴
//固定止盈,开仓价格盈利20个点 止盈点位是可变参数
//固定止损,开仓价格亏损20个点 止损点位是可变参数
//开仓手数是可变参数
Params
Numeric Lots(1);
Numeric TakeProfitSet(20);// 止赢设置
Numeric StopLossSet(20);// 止损设置
Numeric FastLength(12);//MACD周期设置
Numeric SlowLength(26);//MACD周期设置
Numeric MACDLength(9);//MACD周期设置
Vars
Numeric MA1;
Numeric MA3;
Numeric AvgMACD;
Numeric MACDValue;
Series<Numeric> MACDDiff;
Series<Numeric> my_EntryPrice;
Series<Bool> B;
Series<Bool> S;
Series<Bool> M(false,2);//MACD中的序列布尔型变量
Series<Bool> N(false,2);//MACD中的序列布尔型变量
Events
OnBar(ArrayRef<Integer> indexs)
{
MA1 = AverageFC(Close,5);
MA3 = AverageFC(Close,20);
PlotNumeric("MA1",MA1);
PlotNumeric("MA3",MA3);
B = CrossOver(MA1,MA3);
S = CrossUnder(MA1,MA3);
Range[0:DataSourceSize() - 1]
MACDDiff = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;//dif快线
AvgMACD = XAverage(MACDDiff,MACDLength);//dea慢线
MACDValue = MACDDiff - AvgMACD;//柱体, >0 红柱,<0 绿柱
PlotNumeric("MACDDiff",MACDDiff);
PlotNumeric("zero",0);
M = CrossOver(MACDDiff,0);
N = CrossUnder(MACDDiff,0);
//Commentary("M="+IIFString(M,"True","False"));//什么意思不知道?
//Commentary("N="+IIFString(N,"True","False"));//什么意思不知道?
if(B) PlotBool("金叉",true);
if(MarketPosition<>1 and B[1] And M[1])//在空仓的情况下,MA1和MA3金叉,dif快线向上过0轴,向前回溯1根K线
{
buy(Lots,OPEN);
my_EntryPrice = Open;
}
if(MarketPosition==1 and S[1])////向前回溯1根K线
{
sell(Lots,OPEN);
}
//////止损代码
If(MarketPosition==1 And low-my_EntryPrice<-StopLossSet)//持有多单,止损条件满足,亏损20
{
Sell(Lots,Min(Open,EntryPrice-StopLossSet));
}
//////止盈代码
If(MarketPosition==1 And high-my_EntryPrice>TakeProfitSet)//持有多单,止盈条件满足,盈利20
{
Sell(Lots,Max(Open,my_EntryPrice+TakeProfitSet));
}
}
现在是主图和幅图不分,能解决一下吗?
你主图和副图是怎么拆分的?
哪里有问题你能帮我说出来吗? 我画了一个笑脸也没有显示,也没有交易信号呀 你这个图片上。