投资者咨询:MACD第9行大括号不配对 (文华财经WH8赢智V8.2)
来源:文华财经 日期:2018-7-7 11:20
我下载的8,模拟测试版,K线图显示的时候,提示公式:MACD第9行大括号不配对,,无法显示MACD,//该模型仅仅用来示范如何根据指标编写简单的模型
//用户需要根据自己交易经验,进行修改后再实际应用!!!
// //后为文字说明,编写模型时不用写出
DIFF : EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);//短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA : EMA(DIFF,M);//DIFF的M个周期指数平滑移动平均
2*(DIFF-DEA),COLORSTICK;//DIFF减DEA的2倍画柱状线
{
CODENAME = "IF1408";
N = 5;
I = 1;
M1 = 5;
M2 = 5;
MINPRICE = MINPRICE(CODENAME);
NEW = PRICE(CODENAME, "NEW"); //获取当前合约最新价
DATA = DEF_TICKDATA(CODENAME,1,51);
BPRICE=T_BUYAVGPRICE(CODENAME);//取得持仓栏中该合约多头持仓均价
SPRICE=T_SELLAVGPRICE(CODENAME);//取得持仓栏中该合约空头持仓均价
IF( DATA.STATE == 1 )
{
CALBIG();
//盘口卖1的挂单大于设置的大单量,并且最近5笔TICK的主动卖的量大于主动买的量,则卖平开N手
IF( DATA[DATA.NUM-1].ASKVOL1 > BIG )
{
IF( QUSHI() == 1 && STYPE == 0 )
{
MESSAGEOUT("当前卖量:"+ITOA(DATA[DATA.NUM-1].ASKVOL1));
MESSAGEOUT("主动买量:"+ITOA(BVOL));
MESSAGEOUT("主动卖量:"+ITOA(SVOL));
IF( T_ORDERSTATE( BKID) == 0)
{
T_DELETEORDER( BKID );
}
IF( T_ORDERSTATE( BPID) == 0)
{
T_DELETEORDER( BPID );
}
SKID = T_DEAL(CODENAME,1,0,N,OFFERS(CODENAME,"BID1"));
IF( T_BUYREMAINPOSITION(CODENAME) > 0 )
{
SPID = T_DEAL(CODENAME,1,1,T_BUYREMAINPOSITION(CODENAME),T_GETFALLLIMIT(CODENAME));
}
STYPE = 1;
BTYPE = 0;
}
}
//盘口买1的挂单大于设置的大单量,并且最近5笔TICK的主动买的量大于主动卖的量,则买平开N手
IF( DATA[DATA.NUM-1].BIDVOL1 > BIG )
{
IF( QUSHI() == 2 && BTYPE == 0)
{
MESSAGEOUT("当前买量:"+ITOA(DATA[DATA.NUM-1].BIDVOL1));
MESSAGEOUT("主动买量:"+ITOA(BVOL));
MESSAGEOUT("主动卖量:"+ITOA(SVOL));
IF( T_ORDERSTATE( SKID) == 0)
{
T_DELETEORDER( SKID );
}
IF( T_ORDERSTATE( SPID) == 0)
{
T_DELETEORDER( SPID );
}
BKID = T_DEAL(CODENAME,0,0,N,OFFERS(CODENAME,"ASK1"));
IF( T_SELLREMAINPOSITION(CODENAME) > 0 )
{
BPID = T_DEAL(CODENAME,0,1,T_SELLREMAINPOSITION(CODENAME),T_GETRISELIMIT(CODENAME));
}
BTYPE = 1;
STYPE = 0;
}
}
ZHILOSTANDWIN();//止损M1个最小变动价位,止盈M2个最小变动价位
//如果平仓指令挂单撤单则重新以市价委托
IF( T_ORDERSTATE( BPID ) == 2 )
{
T_DEAL(CODENAME,0,1,T_SELLREMAINPOSITION(CODENAME),T_GETRISELIMIT(CODENAME));
}
IF( T_ORDERSTATE( SPID ) == 2 )
{
T_DEAL(CODENAME,1,1,T_BUYREMAINPOSITION(CODENAME),T_GETFALLLIMIT(CODENAME));
}
IF( T_ORDERSTATE( BPID ) == 1 )
{
BPTYPE = 0;
}
IF( T_ORDERSTATE( SPID ) == 1 )
{
SPTYPE = 0;
}
}
}
VOID ZHILOSTANDWIN()
{
//多头止损
IF( BPRICE - NEW >= M1 * MINPRICE && SPTYPE == 0 )
{
IF( T_BUYREMAINPOSITION(CODENAME) > 0 )
{
MESSAGEOUT("多头止损");
SPID = T_DEAL(CODENAME,1,1,T_BUYREMAINPOSITION(CODENAME),T_GETFALLLIMIT(CODENAME));
SPTYPE = 1;
BTYPE = 0;
}
}
//空头止损
IF( NEW - SPRICE >= M1 * MINPRICE && BPTYPE == 0)
{
IF( T_SELLREMAINPOSITION(CODENAME) > 0 )
{
MESSAGEOUT("空头止损");
BPID = T_DEAL(CODENAME,0,1,T_SELLREMAINPOSITION(CODENAME),T_GETRISELIMIT(CODENAME));
BPTYPE = 1;
STYPE = 0;
}
}
//多头止盈
IF( NEW - BPRICE >= M2 * MINPRICE && SPTYPE == 0 )
{
IF( T_BUYREMAINPOSITION(CODENAME) > 0 )
{
MESSAGEOUT("多头止盈");
SPID = T_DEAL(CODENAME,1,1,T_BUYREMAINPOSITION(CODENAME),T_GETFALLLIMIT(CODENAME));
SPTYPE = 1;
BTYPE = 0;
}
}
//空头止盈
IF( SPRICE - NEW >= M2 * MINPRICE && BPTYPE == 0)
{
IF( T_SELLREMAINPOSITION(CODENAME) > 0 )
{
MESSAGEOUT("空头止盈");
BPID = T_DEAL(CODENAME,0,1,T_SELLREMAINPOSITION(CODENAME),T_GETRISELIMIT(CODENAME));
BPTYPE = 1;
STYPE = 0;
}
}
}
VAR QUSHI()
{
SVOL = DATA[DATA.NUM-1].ASKVOL1 + DATA[DATA.NUM-5].ASKVOL1 + DATA[DATA.NUM-2].ASKVOL1 + DATA[DATA.NUM-3].ASKVOL1 + DATA[DATA.NUM-4].ASKVOL1;
BVOL = DATA[DATA.NUM-1].BIDVOL1 + DATA[DATA.NUM-5].BIDVOL1 + DATA[DATA.NUM-2].BIDVOL1 + DATA[DATA.NUM-3].BIDVOL1 + DATA[DATA.NUM-4].BIDVOL1;
IF( SVOL > BVOL )
{
RETURN 1;
}
ELSE
{
RETURN 2;
}
}
//设置大单量为加载后前50笔TICK成交量的均值的5倍
VOID CALBIG()
{
IF( FIRST == 0) // 第一次进来 计算大单
{
I = 1;
WHILE(1)
{
BIG = BIG + DATA[I].TICKVOLUM - DATA[I - 1].TICKVOLUM;
I = I + 1;
IF( I >= DATA.NUM )
{
FIRST = 1;
BREAK;
}
}
BIG = ( BIG / DATA.NUM ) * 5;
MESSAGEOUT("大单量:"+ITOA(BIG));
}
技术人员回复
日期:2018-7-7 16:10