连续亏损N次暂停开新仓1小时
请问老师:自编日内量化策略,经常出现连续多次亏损。想添加连续亏损N(N可自行调整)次,要求从夜盘交易至次日下午15:00之间,只要连续亏损达到N次(含多、空)停止开仓1小时,1小时后解除开仓限制,只要满足开仓条件恢复开仓。本人尝试过多种方法均失败。特请老师帮忙提供代码片段或明确思路,怎么才能完美实现。
请问老师:自编日内量化策略,经常出现连续多次亏损。想添加连续亏损N(N可自行调整)次,要求从夜盘交易至次日下午15:00之间,只要连续亏损达到N次(含多、空)停止开仓1小时,1小时后解除开仓限制,只要满足开仓条件恢复开仓。本人尝试过多种方法均失败。特请老师帮忙提供代码片段或明确思路,怎么才能完美实现。
谢谢老师!
//------------------------------------------------------------------------ // 简称: bbs_0929_time // 名称: bbs_0929_time // 类别: 公式应用 // 类型: 用户应用 // 输出: Void //------------------------------------------------------------------------ Params //此处添加参数 Integer N(5); Vars //此处添加变量 Global Integer timeId; Global Integer count(0); Global bool lock(False); Defs //此处添加公式函数 Events //此处实现事件函数 OnInit() { //创建定时器 timeId = CreateTimer(3600 * 1000); } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { if(!lock){//&& 其余开仓条件 //开仓逻辑 } } OnPosition(PositionRef pos) { //A函数亏算判断后count计数 //count = count + 1; if(count > N){ lock = true; count = 0; } } OnTimer(Integer id,Integer millsecs) { if(id == timeId && lock == true){ lock = false; } } //------------------------------------------------------------------------ // 编译版本 2026/09/29 104230 // 版权所有 tb320512 // 更改声明 TradeBlazer Software保留对TradeBlazer平台 // 每一版本的TradeBlazer公式修改和重写的权利 //------------------------------------------------------------------------伪代码思路,计算盈亏放在持仓变动那里了,还得自行补充下交易逻辑