以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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. |