Params
//此处添加参数
Numeric N(5);
Numeric N1(10);
Numeric ShortLengh(12);
Numeric LongLength(26);
Numeric M(9);
Numeric Length1(10);
Vars
//此处添加变量
Numeric VOL1;
Numeric JC2;
Numeric SHORT1;
Numeric SHORTMA;
Numeric LC;
Numeric VID;
Numeric RC;
Numeric LONG1;
Numeric LONGMA1;
Numeric LONGMA2;
Numeric LONGMA;
Numeric LON;
Numeric DIFF;
Numeric DEA;
Defs
//此处添加公式函数
Events
//此处实现事件函数
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
OnBar(ArrayRef<Integer> indexs)
{
//SHORT短线
VOL1=Average((VOL-VOL[1])/VOL[1],5);
JC2=(CLOSE-Average(CLOSE,24))/Average(CLOSE,24)*100;
SHORT1=JC2*(1+VOL1);
SHORTMA=Average(SHORT1,N);
//PlotStick(SHORT1, Enum_ColorStick);
PlotNumeric(\"SHORT1\",SHORT1);
PlotNumeric(\"SHORTMA\",SHORTMA);
//LON长线
LC = Average(Close,1); //取前一根K线的收盘
VID = Summation(Vol,2)/((MAX(High,2)-MIN(Low,2))*100); //2周期成交量相加,除以2周期最高价和最低价的差值乘以100
RC = (Close-LC) * VID; //收盘价与LC的差值,乘以VID
LONG1 = Summation(RC,0); //将所有K线上RC的数值求和
LONGMA1 = Sma(LONG1,10,1); //LONG的10个周期内的扩展指数加权移动平均
LONGMA2 = Sma(LONG1,20,1); //LONG的20个周期内的扩展指数加权移动平均
LON = LONGMA1-LONGMA2; //LONGMA1与LONGMA2做差
LONGMA = Average(LON,N1);
//PlotStick(LON, Enum_ColorStick);
PlotNumeric(\"LON\",LON);
PlotNumeric(\"LONGMA\",LONGMA);
//MACD
DIFF = Sma(Close, ShortLengh) - Sma(Close, LongLength);//短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA = Sma(DIFF,M);//DIFF的M个周期指数平滑移动平均
PlotNumeric(\"DIFF\",DIFF);
PlotNumeric(\"DEA\",DEA);
//PlotStick(2 * (DIFF - DEA), Enum_ColorStick);
}
{
// 当前持仓为空,且符合开多条件,开多1手
If(MarketPosition==0 And DIFF > DEA And SHORT> SHORTMA And LON > LONGMA );
Buy( 1 Contract At Market);
// 当前持仓为多单,且符合平多条件,平多1手
If (position > 0 And LON < 0 And close < Length1 );
Sell 1 Contract At Market;
// 当前持仓为空,且符合开空条件,开空1手
If (position = 0 And DIFF < DEA And SHORT < SHORT_MA And LON < LONGMA );
Sell Short 1 Contract At Market;
// 当前持仓为空单,且符合平空条件,平空1手
If (position < 0 And LON > 0 And close > Length1 Then);
Buy To Cover 1 Contract At Market;
// 更新持仓手数
position = MarketPosition;
}
策略描述:当MACD快线大于MACD慢线,SHORT短线大于SHORT短线均线,LON长线大于LON长线均线时,开多1手;当LON长线下穿0线且收盘价小于10日均线时,平多1手;当MACD快线小于MACD慢线,SHORT短线小于SHORT短线均线,LON长线小于LON长线均线时,开空1手;当LON长线上穿0线且收盘价大于10日均线时,平空1手。
问题:策略编译不过,请老师帮忙修改修改,谢谢。
你这个大括号时拿来干嘛的?如果没有设计用途把对应的上下括号删掉