以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  图表程序化交易的问题,谁能帮我解决下???  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=48518)

--  作者:证通的曹琴
--  发布时间:2013/2/7 14:26:08
--  图表程序化交易的问题,谁能帮我解决下???
<!--StartFragment -->
 
为什么总是在同一时间开平呢,还同时提交委托单??????
 
 
图上有开多指示的地方没开多,而是在第二根K线才有交易????
哪位大师帮我看看我的程序哪儿有错误?
 
 
INPUT N1(5,1,10000,1);

MA5:MA(CLOSE,5);
MA10:MA(CLOSE,10);

前高1:=REF(HIGH,1);
前高2:=REF(HIGH,2);
前低1:=REF(LOW,1);
前低2:=REF(LOW,2);
MAMAIN:=MA5>MA10;
MALOW:=MA10>MA5;
FRONTER:=前高1<前高2;
FRONLOWER:=前低1>前低2;

//条件

平多条件:=CLOSE<ENTERPRICE+0.01;
开多条件:=MAMAIN AND FRONTER;
开空条件:=MALOW AND FRONLOWER;
平空条件:=CLOSE<ENTERPRICE+0.01;

多头止损条件:=CLOSE<ENTERPRICE-N1*MINDIFF;
多头止盈条件:=CLOSE>ENTERPRICE+N1*MINDIFF;
空头止损条件:=CLOSE>ENTERPRICE-N1*MINDIFF;
空头止盈条件:=CLOSE<ENTERPRICE+N1*MINDIFF;

//交易系统
IF 平空条件 AND HOLDING <0 THEN BEGIN
平空:SELLSHORT(1,HOLDING,MARKET);
END
IF 平多条件 AND HOLDING >0  THEN BEGIN
平多:SELL(1,HOLDING,MARKET);
END
IF 开多条件 AND HOLDING=0 AND (CLOSE>REF(HIGH,1)) THEN BEGIN
开多:BUY(1,1,MARKET);
END

IF 开空条件 AND HOLDING=0 AND (CLOSE<REF(LOW,1)) THEN BEGIN
开空:BUYSHORT(1,1,MARKET);
END

//止损
IF 多头止损条件 THEN BEGIN
多头止损:SELL(1,HOLDING,MARKET);
END
//止盈
IF 多头止盈条件 THEN BEGIN
多头止盈:SELL(1,HOLDING,MARKET);
END


//止损
IF 空头止损条件 THEN BEGIN
空头止损:SELLSHORT(1,HOLDING,MARKET);
END
  //止盈
IF 空头止盈条件 THEN BEGIN
空头止盈:SELLSHORT(1,HOLDING,MARKET);
END
//收盘前平仓
SELL(TIME>151000 AND HOLDING>0,HOLDING,MARKET);
SELLSHORT(TIME>151000 AND HOLDING<0,HOLDING,MARKET);
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;

 

[此贴子已经被作者于2013-2-7 14:27:34编辑过]

--  作者:jinzhe
--  发布时间:2013/2/7 14:27:55
--  

图片没有上传,

http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=31614&page=3

用这个方式贴图


--  作者:证通的曹琴
--  发布时间:2013/2/8 11:18:46
--  不好意思,图片没有弄好,我又重新发了图片

MA5:MA(CLOSE,5);
MA10:MA(CLOSE,10);

前高1:=REF(HIGH,1);
前高2:=REF(HIGH,2);
前低1:=REF(LOW,1);
前低2:=REF(LOW,2);
MAMAIN:=MA5>MA10;
MALOW:=MA10>MA5;
FRONTER:=前高1<前高2;
FRONLOWER:=前低1>前低2;

//条件
开多条件:=MAMAIN AND FRONTER AND (CLOSE<REF(LOW,1));
平多条件:=CLOSE<ENTERPRICE+0.01;

开空条件:=MALOW AND FRONLOWER AND (CLOSE>REF(HIGH,1));
平空条件:=CLOSE>ENTERPRICE+0.01;

多头止损条件:=CLOSE<AVGENTERPRICE-N1*MINDIFF;
多头止盈条件:=CLOSE>AVGENTERPRICE+N1*MINDIFF;
空头止损条件:=CLOSE>AVGENTERPRICE-N1*MINDIFF;
空头止盈条件:=CLOSE<AVGENTERPRICE+N1*MINDIFF;

//交易系统
平空:SELLSHORT(平空条件 and holding<0,HOLDING,MARKET);
开多:BUY(开多条件 and holding=0,1,MARKET);
平多:SELL(平多条件 and holding>0,HOLDING,MARKET);
开空:BUYSHORT(开空条件 and holding=0,1,MARKET);
//止损
IF 多头止损条件 THEN BEGIN
多头止损:SELL(1,HOLDING,MARKET);
END
//止盈
IF 多头止盈条件 THEN BEGIN
多头止盈:SELL(1,HOLDING,MARKET);
END


//止损
IF 空头止损条件 THEN BEGIN
空头止损:SELLSHORT(1,HOLDING,MARKET);
END
//止盈
IF 空头止盈条件 THEN BEGIN
空头止盈:SELLSHORT(1,HOLDING,MARKET);
END
//收盘前平仓
SELL(TIME>151000 AND HOLDING>0,HOLDING,MARKET);
SELLSHORT(TIME>151000 AND HOLDING<0,HOLDING,MARKET);
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;


图片点击可在新窗口打开查看此主题相关图片如下:~zt`qe15ep8u95d76o8%lq.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:zk~ur@hr$5fq6)w3s%4pq.jpg
图片点击可在新窗口打开查看

--  作者:jinzhe
--  发布时间:2013/2/8 11:29:50
--  
你的信号就是在同一根线上出来的
--  作者:金字塔
--  发布时间:2013/2/8 17:26:28
--  
以下是引用证通的曹琴在2013-2-8 11:18:46的发言:

MA5:MA(CLOSE,5);
MA10:MA(CLOSE,10);

前高1:=REF(HIGH,1);
前高2:=REF(HIGH,2);
前低1:=REF(LOW,1);
前低2:=REF(LOW,2);
MAMAIN:=MA5>MA10;
MALOW:=MA10>MA5;
FRONTER:=前高1<前高2;
FRONLOWER:=前低1>前低2;

//条件
开多条件:=MAMAIN AND FRONTER AND (CLOSE<REF(LOW,1));
平多条件:=CLOSE<ENTERPRICE+0.01;

开空条件:=MALOW AND FRONLOWER AND (CLOSE>REF(HIGH,1));
平空条件:=CLOSE>ENTERPRICE+0.01;

多头止损条件:=CLOSE<AVGENTERPRICE-N1*MINDIFF;
多头止盈条件:=CLOSE>AVGENTERPRICE+N1*MINDIFF;
空头止损条件:=CLOSE>AVGENTERPRICE-N1*MINDIFF;
空头止盈条件:=CLOSE<AVGENTERPRICE+N1*MINDIFF;

//交易系统
平空:SELLSHORT(平空条件 and holding<0,HOLDING,MARKET);
开多:BUY(开多条件 and holding=0,1,MARKET);
平多:SELL(平多条件 and holding>0,HOLDING,MARKET);
开空:BUYSHORT(开空条件 and holding=0,1,MARKET);
//止损
IF 多头止损条件 THEN BEGIN
多头止损:SELL(1,HOLDING,MARKET);
END
//止盈
IF 多头止盈条件 THEN BEGIN
多头止盈:SELL(1,HOLDING,MARKET);
END


//止损
IF 空头止损条件 THEN BEGIN
空头止损:SELLSHORT(1,HOLDING,MARKET);
END
//止盈
IF 空头止盈条件 THEN BEGIN
空头止盈:SELLSHORT(1,HOLDING,MARKET);
END
//收盘前平仓
SELL(TIME>151000 AND HOLDING>0,HOLDING,MARKET);
SELLSHORT(TIME>151000 AND HOLDING<0,HOLDING,MARKET);
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;


图片点击可在新窗口打开查看此主题相关图片如下:~zt`qe15ep8u95d76o8%lq.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:zk~ur@hr$5fq6)w3s%4pq.jpg
图片点击可在新窗口打开查看

INPUT:N1(5,1,10000,1);
MA5:MA(CLOSE,5);
MA10:MA(CLOSE,10);

前高1:=REF(HIGH,1);
前高2:=REF(HIGH,2);
前低1:=REF(LOW,1);
前低2:=REF(LOW,2);
MAMAIN:=MA5>MA10;
MALOW:=MA10>MA5;
FRONTER:=前高1<前高2;
FRONLOWER:=前低1>前低2;
EN:ENTERBARS;
//条件
开多条件:=MAMAIN AND FRONTER AND (CLOSE<REF(LOW,1));
平多条件:=CLOSE<ENTERPRICE+0.01;

开空条件:=MALOW AND FRONLOWER AND (CLOSE>REF(HIGH,1));
平空条件:=CLOSE>ENTERPRICE+0.01;

多头止损条件:=CLOSE<AVGENTERPRICE-N1*MINDIFF;
多头止盈条件:=CLOSE>AVGENTERPRICE+N1*MINDIFF;
空头止损条件:=CLOSE>AVGENTERPRICE-N1*MINDIFF;
空头止盈条件:=CLOSE<AVGENTERPRICE+N1*MINDIFF;

//止损
IF 多头止损条件 THEN BEGIN
多头止损:SELL(1,HOLDING,MARKET);
END
//止盈
IF 多头止盈条件 THEN BEGIN
多头止盈:SELL(1,HOLDING,MARKET);
END

//止损
IF 空头止损条件 THEN BEGIN
空头止损:SELLSHORT(1,HOLDING,MARKET);
END
//止盈
IF 空头止盈条件 THEN BEGIN
空头止盈:SELLSHORT(1,HOLDING,MARKET);
END

//交易系统
平空:SELLSHORT(平空条件 and holding<0,HOLDING,MARKET);
开多:BUY(开多条件 and holding=0,1,MARKET);
平多:SELL(平多条件 and holding>0,HOLDING,MARKET);
开空:BUYSHORT(开空条件 and holding=0,1,MARKET);

//收盘前平仓
SELL(TIME>151000 AND HOLDING>0,HOLDING,MARKET);
SELLSHORT(TIME>151000 AND HOLDING<0,HOLDING,MARKET);
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;

你试试