以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  止盈止损编写  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=165121)

--  作者:qq代人发帖
--  发布时间:2018/8/23 8:45:20
--  止盈止损编写
MA1:MA(CLOSE,5);
MA2:MA(CLOSE,10);

//交易条件
开多平空条件:=CROSS(MA1,MA2),TFILTER;         //开多平空条件
开空平多条件:=CROSS(MA2,MA1),TFILTER;        //开空平多条件

//交易系统
手数:=10; 
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);

//多单止盈
多盈:上20个变动点在K线没有收的情况下卖出50%仓位,并有空单持仓的不会卖出空单,但有开空条件会自动反手开空10手

//空单止盈
空盈:下20个变动点在K线没有收的情况下卖出50%仓位,并有多单持仓的不会卖出多单,但有开多条件会自动反手开多10手

--  作者:FireScript
--  发布时间:2018/8/23 9:28:45
--  
 “上20个变动点在K线没有收的情况下卖出50%仓位,并有空单持仓的不会卖出空单,但有开空条件会自动反手开空10手

后面红色标记的这段是什么意思呢?不是很明白你这段的描述。

--  作者:鸣杰
--  发布时间:2018/8/23 10:05:47
--  
那后面红色这段先去掉
--  作者:FireScript
--  发布时间:2018/8/23 10:44:42
--  
 MA1:MA(CLOSE,5);
MA2:MA(CLOSE,10);

//交易条件
开多平空条件:=CROSS(MA1,MA2),TFILTER;         //开多平空条件
开空平多条件:=CROSS(MA2,MA1),TFILTER;        //开空平多条件

//交易系统
手数:=10;
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);

sellcond1:HOLDING>0 and c-ENTERPRICE>20*MINDIFF;
sellcond2:holding<0 and ENTERPRICE-c>20*MINDIFF;

dtzy:sell(holding>0 and sellcond1,holding,market);//多头止盈
ktzy:sellshort(holding<0 and sellcond2,holding,market);//空头止盈


如果想要K线走完之前下单,只能在模式上选择固定轮询了。


--  作者:鸣杰
--  发布时间:2018/8/23 11:43:03
--  
模式选择固轮那跟开仓有矛盾了,因为开仓要求是等K线走完开仓的
--  作者:FireScript
--  发布时间:2018/8/23 13:13:36
--  
  那就没办法做到,在K走完之前止盈了。 亦或者在固定轮询模式下 开仓条件修改成判断上一个K的条件来下单,间接的来实现需求。