以文本方式查看主题

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

--  作者:tonyzhu
--  发布时间:2020/6/7 21:23:53
--  10点止盈怎么写?
KD:=DK>=18;          //开多条件
PD:=       //平多条件
KK:=DK<=10;  //开空条件
PK:=;          //平空条件


平多条件和平空条件都设为盈利10点,平仓。该怎么写?

--  作者:FireScript
--  发布时间:2020/6/8 9:30:02
--  
sell((c-ENTERPRICE)>=10*MINDIFF and holding>0,holding,market);
sellshort((ENTERPRICE-c)>=10*MINDIFF and holding<0,holding,market);
--  作者:tonyzhu
--  发布时间:2020/6/14 20:45:09
--  
谢谢。每天只开平1次,怎么写?
--  作者:FireScript
--  发布时间:2020/6/15 9:14:50
--  
 多空各算一次,还是多空在一起总共只一次?
--  作者:FireScript
--  发布时间:2020/6/15 9:24:03
--  
可以参考下这里的思路:
http://www.weistock.com/bbs/dispbbs.asp?BoardID=10&ID=173541&replyID=&skin=1

--  作者:tonyzhu
--  发布时间:2020/6/15 20:18:38
--  
每天多空最多各1次该怎么写
--  作者:FireScript
--  发布时间:2020/6/16 9:08:04
--  
 用2个全局变量,各种分别控制下。

VARIABLE:NUM1:=0,NUM2:=0;                            // 全局变量,来控制当天交易次数
CS:=1;                                              //限定一天多空最多各交易1次
MA5:=MA(CLOSE, 5);
MA20:=MA(CLOSE, 20);
COND1:=CROSS(MA5,MA20);
COND2:=CROSS(MA20,MA5);

IF COND2 AND HOLDING>0 THEN SELL(1,1,MARKET);    
IF COND2 AND HOLDING=0 AND NUM2<CS THEN
BEGIN
    BUYSHORT(1,1,MARKET);
    NUM2:=NUM2+1;
END

IF COND1 AND HOLDING<0 THEN SELLSHORT(1,1,MARKET); 
IF COND1 AND HOLDING=0 AND NUM1<CS THEN          
BEGIN
BUY(1,1,MARKET);
NUM1:=NUM1+1;
END


IF TIME=CLOSETIME(0) THEN // CLOSETIME(0)是取商品期货最后一节的交易时间,收盘的同时,NUM赋值为0。
BEGIN
 NUM1:=0;
 NUM2:=0;            
END