以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  [原创]图表化程序交易如果做到己经持有多单的,就不在开多单的头寸  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=157798)

--  作者:ganchuan
--  发布时间:2017/9/11 19:22:03
--  [原创]图表化程序交易如果做到己经持有多单的,就不在开多单的头寸
MA1:MA(CLOSE,A);
MA2:MA(CLOSE,B);
手数:=1;
GLOBALVARIABLE:gISHAVELONGSS=HLONGSS;
GLOBALVARIABLE:gISHAVESHORTSS=HSHORTSS;
开多平空条件:=CROSS(MA1,MA2);//开多平空条件
开空平多条件:=CROSS(MA2,MA1);//开空平多条件
//交易条件

//固定止损部分************************

//止盈
//IF C-AVGENTERPRICE>3*MINDIFF THEN BEGIN
//SELL(1,HOLDING,MARKET);
//END

//止损
//IF AVGENTERPRICE-C>2*MINDIFF THEN BEGIN
//SELL(1,HOLDING,MARKET);
//END
//开多条成交,但是没有多头持仓的情况下可以开多单

//IF NOT(ISLASTBAR) THEN EXIT; 
IF gISHAVELONGSS<1 and 开多平空条件 THEN BEGIN
  开多:BUY(开多平空条件,手数,MARKET);
//  IF    islastbar  THEN BEGIN
    gISHAVELONGSS:=1;
//  end

END
//开空条件成交,但是没有空头持仓的情况下可以开多单
IF gISHAVESHORTSS<1 and 开空平多条件 and islastbar THEN BEGIN
 // 开空:BUYSHORT(开空平多条件,手数,MARKET);
  gISHAVESHORTSS:=1;
END



这个指标一运行就给gISHAVELONGSS赋了值,导到不会下单,IF gISHAVESHORTSS<1 and 开空平多条件 and islastbar THEN BEGIN
 // 开空:BUYSHORT(开空平多条件,手数,MARKET);
  gISHAVESHORTSS:=1;
END
像这样,一开始不会赋初值 ,可是出实现不了,开发人员可以测试一下,


--  作者:gxx978
--  发布时间:2017/9/12 9:17:41
--  
你是想要已经持有多单就不再开多仓?那直接在开仓的时候判定下holding=0即可,即在空仓的时候才开仓。无需用到这个全局变量。