以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  [求助]麻烦老师帮忙编写一下下单指令,非常感谢  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=174000)

--  作者:casey
--  发布时间:2020/1/15 16:39:36
--  [求助]麻烦老师帮忙编写一下下单指令,非常感谢
用于图标程序化交易,条件已编好分别为A1 A2 B1 B2 C1 C2 D1 D2 E1 E2 F1 F2 G1 G1 H1 H2 L1 L2
开多开空各三条规则,满足任意一条就开仓
开多:
1、如果同时满足F1和B1,然后
        如果同时满足A1和D1和E1,然后
          如果当前K线或者7跟K线内满足H1或者L1,然后(7跟K线是因为在1分钟框架内所以想要7分钟的判定,超时判定失效不开仓)
             持仓为0则开1手多,止损40最小波动点位,获利50以上取消止损改为45移动止损,获利120点或者打止损平仓
             持仓为1手多,则取消开仓
             持仓为1手空且满足C1,则反手开多,止损40最小波动点位,获利50以上取消止损改为45移动止损,获利120点或者打止损平仓
2、如果同时满足F1和B1,然后
        如果满足A1,然后
          如果当前K线或者7跟K线内同时满足G1和L1,然后
            持仓为0则开1手多,止损40最小波动点位,获利50以上取消止损改为45移动止损,获利120点或者打止损平仓
            持仓为1手多,则取消开仓
            持仓为1手空且满足C1,则反手开多,止损40最小波动点位,获利50以上取消止损改为45移动止损,获利120点或者打止损平仓
3、如果同时满足F1和B2,然后
        如果满足A1,然后
          如果当前K线或者7跟K线内同时满足H1和L1,然后
             持仓为0则开1手多,止损40最小波动点位,获利50以上取消止损改为45移动止损,获利120点或者打止损平仓
             持仓为1手多,则取消开仓
开空:
1、如果同时满足F2和B2,然后
        如果同时满足A2和D2和E2,然后
          如果当前K线或者7跟K线内满足H2或者L2,然后
             持仓为0则开1手空,止损40最小波动点位,获利50以上取消止损改为45移动止损,获利120点或者打止损平仓
             持仓为1手空,则取消开仓
             持仓为1手多且满足C2,则反手开空,止损40最小波动点位,获利50以上取消止损改为45移动止损,获利120点或者打止损平仓
2、如果同时满足F2和B2,然后
        如果满足A2,然后
          如果当前K线或者7跟K线内同时满足G2和L2,然后
            持仓为0则开1手空,止损40最小波动点位,获利50以上取消止损改为45移动止损,获利120点或者打止损平仓
            持仓为1手空,则取消开仓
            持仓为1手多且满足C2,则反手开空,止损40最小波动点位,获利50以上取消止损改为45移动止损,获利120点或者打止损平仓
3、如果同时满足F2和B1,然后
        如果满足A2,然后
          如果当前K线或者7跟K线内同时满足H2和L2,然后
             持仓为0则开1手空,止损40最小波动点位,获利50以上取消止损改为45移动止损,获利120点或者打止损平仓
             持仓为1手空,则取消开仓

平仓条件统一为:止损40最小波动点位,获利50以上取消止损改为45移动止损,获利120点或者打止损平仓
麻烦老师帮忙设置一下止盈止损、移动止损和7分钟的限时判定要像手数一样可以调整参数,因为不同合约最小波动单位大小不一样,麻烦老师了,非常感谢

--  作者:FireScript
--  发布时间:2020/1/15 16:55:16
--  
 “如果同时满足F1和B1,然后
        如果同时满足A1和D1和E1,然后
”  这个意思就是同时满足 F1,B1,A1,D1,E1的意思?

--  作者:casey
--  发布时间:2020/1/15 16:55:27
--  
再补充一下7根K线判定的时候,只需要判定后面的条件是否成立就可以,因为部分条件可能只是当前K线成立,比如开多第一条中的:如果当前K线或者7跟K线内满足H1或者L1,然后。到这一步的时候只要判定7根K线内满足H1或者L1,即使之前的部分条件不成立了也继续往下开仓。

--  作者:casey
--  发布时间:2020/1/15 16:57:34
--  
是的同时满足的意思,F1和B1是做前提条件,不满足的话下面的代码就不用跑了
--  作者:FireScript
--  发布时间:2020/1/15 17:12:29
--  
 "获利120点或者打止损平仓" 啥叫 打止损平仓?

--  作者:casey
--  发布时间:2020/1/15 18:22:05
--  
就是止盈120,移动止损45,哪个先触发就平仓这个意思
--  作者:FireScript
--  发布时间:2020/1/16 9:35:12
--  
 以多头为例:

cd1:F1 AND B1 AND A1 AND E1 AND COUNT(H1 OR L1,7)>=1;
cd2:F1 AND B1 AND A1 AND COUNT(G1 OR L1,7)>=1;
cd3:F1 AND B2 AND A1 AND COUNT(H1 OR L1,7)>=1;

IF CD1 OR CD2 OR CD3   THEN //平空 反手开多
BEGIN
SELLSHORT(HOLDING<0,HOLDING,MARKET);
BUY(HOLDING=0,1,MARKET);
END

IF AvGENTERPRICE-C>=40*MINDIFF THEN SELL(HOLDING>0,HOLDING,MARKET);//40点止损
MaxProfit:=(HHV(H,ENTERBARS+1)-CLOSE);//多头最大盈利
IF MaxProfit>=120 then SELL(HOLDING>0,HOLDING,MARKET);//直接盈利达到120点直接平仓
IF MaxProfit>=50 AND C-AvGENTERPRICE<45*MINDIFF THEN SELL(HOLDING>0,HOLDING,MARKET);//如果最大盈利超过50点 则盈利回落到45点以下直接平仓
[此贴子已经被作者于2020/1/16 10:21:42编辑过]

--  作者:casey
--  发布时间:2020/1/16 9:45:31
--  
好的我看一下谢谢老师
--  作者:casey
--  发布时间:2020/1/16 10:03:17
--  
老师显示函数“A1COUNT”未定义是什么问题
--  作者:FireScript
--  发布时间:2020/1/16 10:21:55
--  
 更新了。漏了几个and.