写了一个macd的跨周期公式,意思是5分钟金叉买入,死叉卖出;如果买入户15分钟金叉了,则等15分钟死叉时再卖出;如果30分钟金叉了,则等30分钟死叉后再卖出;买入始终是5分钟级别上金叉买入,而且总是卖出过后再买入。但是总是调不对,请大神帮忙指导指导
Params
Numeric FastMA(12); //macd短周期值
Numeric SlowMA(26); //macd长周期值
Numeric AvgMA(9); //MACD慢线周期值
Vars
Series<Numeric> MACDLine(0);
Series<Numeric> SignalLine(0);
Global Bool sellquantity;
Global Bool sellquantity1;
Global Bool sellquantity2;
Global Numeric border(1);
Global Numeric buyprice(0);
Global Numeric sellprice(100000);
Bool jc;
Bool sc;
Bool dobuy;
Bool dosell;
Events
OnBar(ArrayRef<Integer> indexs)
{
Range[0:datasourcesize()-1]
{
MACDLine = XAverage( Close[1], FastMA ) - XAverage( Close[1], SlowMA ); //计算macd快线
SignalLine = XAverage( MACDLine, AvgMA ); //计算macd慢线
jc=CrossOver(MACDLine,SignalLine);
sc=CrossUnder(MACDLine,SignalLine);
}
if(Data0.jc)
{
sellquantity=true;
If(Data1.jc)
{
sellquantity=false;
sellquantity1=true;
If(Data2.jc)
{
sellquantity1=false;
sellquantity2=true;
}
}
}
PlotBool("sellquantity",sellquantity);
PlotBool("sellquantity1",sellquantity1);
PlotBool("sellquantity2",sellquantity2);
dobuy=Data0.jc;
dosell=(Data0.sc and sellquantity) Or (Data1.sc and sellquantity1) Or (Data2.sc and sellquantity2);
if(dobuy)
{
if(buyprice>sellprice)
{
border=border*2;
}
if(buyprice<=sellprice)
{
border=1;
}
buyprice=open;
Buy(border,Open);
}
if(dosell)
{
sellprice=open;
Sell(border,Open);
sellquantity=false;
sellquantity1=false;
sellquantity2=false;
}
}
需要代码勘误分析的两个路径。
第一,社区置顶帖,周四直播投稿
第二,社区置顶帖,付费代写项目。
怎么付费呢