公式编写

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手。


问题:策略编译不过,请老师帮忙修改修改,谢谢。

请教策略编写 和公式编写 的区别?
最新版TB公式编写基础
请问在公式编写中,如何编写按账户资金比例下单?谢谢
请教各位高手,编写公式中,每行最多可以多少字符,是否有数量限制?另外,公式编写中,Global全局变量最多可以自定义多少? 至为感谢!!!
学习视频里 经典课程的 “公式编写基础” 的第二课视频有吗?
请问一下,蔡云华老师的TB公式编写基础教程第二部分
TB公式编写必看——序列函数避坑指南
新人请教两个问题
设置条件单
如何得到当前图层的合约代码

data-href=

你这个大括号时拿来干嘛的?如果没有设计用途把对应的上下括号删掉