以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 平/开信号出现位置不同的问题! (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=56272) |
-- 作者:uranusmoon -- 发布时间:2013/9/5 10:06:06 -- 平/开信号出现位置不同的问题! 交易函数,两种写法,平/开信号出现位置居然不同,实在想不明白 写法1: PD:=aa1 and aa2 and aa2; PK:=bb1 and bb2 and bb3; KD:=cc1 and cc2 and cc3; KK:=dd1 and dd2 and dd3; 平多:=SELL(PD,0,market); 平空:=SELLSHORT(PK,0,market); 开多:=BUY(KD,10,market); 开空:=BUYSHORT(KK,10,market); 写法2: if (aa1 and aa2 and aa2) then sell(1,0,market); if (bb1 and bb2 and bb3) then sellshort(1,0,market); if (cc1 and cc2 and cc3) then buy(1,10,market); if (dd1 and dd2 and dd3) then buyshort(1,10,market); 按说两种写法执行情况应该一样,写法1只是定义了PD、PK等中间变量。但实际执行情况是,写法2的平多和开空可能在一根K线上,而写法1的平多和开空在两个K线上,即开空信号在下一根K线上。如图: |
-- 作者:jinzhe -- 发布时间:2013/9/5 10:13:02 -- 给出上面所有的条件,本地测试用了简单的条件,效果和写法2是一样的,同根k线反手 |
-- 作者:uranusmoon -- 发布时间:2013/9/5 10:33:31 -- PD:=every(0.99*ZHULIMAVOL>MAVOL,NHOUR)||BB||(CLOSE<ZSSP and holding>0); //平多条件 PK:=every(0.99*ZHULIMAVOL>MAVOL,NHOUR)||DD||(CLOSE>ZSBP and holding<0); //平空条件 KD:=EVERY(ZHULIMAVOL<=MAVOL,NHOUR+ADDHOUR) and AA and holding=0; KK:=EVERY(ZHULIMAVOL<=MAVOL,NHOUR+ADDHOUR) and CC and holding=0; //开空条件 平多:=SELL(PD,0,market); 平空:=SELLSHORT(PK,0,market); 开多:=BUY(KD,5,market); 开空:=BUYSHORT(KK,5,market); //========================== 条件里ZHULIMAVOL、MAVOL、aa、bb、cc、dd都是跨周期引用的变量。
|
-- 作者:jinzhe -- 发布时间:2013/9/5 10:34:08 -- 都写出来,本地都重现不了 [此贴子已经被作者于2013/9/5 10:34:45编辑过]
|