金字塔决策交易系统

标题: 如何在满足开单条件后逐次加大手数? [打印本页]

作者: Yang    时间: 2024-5-16 23:18
标题: 如何在满足开单条件后逐次加大手数?

假设在一段周期内都满足开多的条件,那么如何实现开单量的递增?

比如第一次满足开2手;
第二次满足开2+2=4手;
第三次满足开4+2=6手;
同一个方向累计开单不超过50手,如何实现?

目前我的开单只能实现每次固定数量开单:
开多:buy(开多条件 and holding<=50,ss ,limitr,C);

作者: 技术006    时间: 2024-5-17 08:24
使用全局变量处理,用全局变量记录满足的次数。根据次数处理手数即可。

参考全局变量的应用中的第一个示例进行完善修改即可
https://www.weistock.com/docs/PE ... 8F%98%E9%87%8F.html
作者: Yang    时间: 2024-5-18 13:41
你好,咨询了gpt,他的方法是手工罗列,我觉也可以实现我的要求,
// 定义开仓手数
IF holding = 0 THEN 开多手数 := 2;
IF holding = 2 THEN 开多手数 := 4;
IF holding = 6 THEN 开多手数 := 8;
IF holding = 14 THEN 开多手数 := 14;
IF holding = 28 THEN 开多手数 := 22;

IF holding = 0 THEN 开空手数 := 2;
IF holding = -2 THEN 开空手数 := 4;
IF holding = -6THEN 开空手数 := 8;
IF holding = -14 THEN 开空手数 := 14;
IF holding = -28THEN 开空手数 := 22;

// 交易执行
开多: BUY(开多条件 AND HOLDING < 50, 开多手数, LIMITR, L1);
平多: SELL(平多条件 AND HOLDING >= 0, 0, LIMITR, H1);

开空: BUYSHORT(开空条件 AND HOLDING < 50, 开空手数, LIMITR, H1);
平空: SELLSHORT(平空条件 AND HOLDING <= 0, 0, LIMITR, L1);

但是这样有个问题,就是实际运行后发现,同一个开单条件重复开单还是会超过50,且开2手第二次不一定是开4,4以后会突然跳到22手。

补充内容 (2024-5-18 14:01):
以上空单开空手数缺少了“-”,目前依次开单解决了。但是总数还是超50




欢迎光临 金字塔决策交易系统 (https://www.weistock.com/BBS/) Powered by Discuz! X3.4