噪音太大,而且有些地方的代码很奇怪。
例如,批次验证部分。
// 获取符号的最小批次步长 double stepvol = ::SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP); if(stepvol > 0) // 计算批量大小,四舍五入到最接近的有效步长 lt = stepvol * (int)(iLots / stepvol); // 检查计算出的地段是否小于允许的最小地段 if(lt < ::SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN)) lt = 0.0; // 如果低于最小值(无效),则设置为 0 // 返回初始化成功的结果 return(INIT_SUCCEEDED); }
我们得到了手数 0.0
然后我们进入 OnTick(),用手数 "0.0 "建仓。
if(trade.Buy(lt)) 这是一种有趣的方法,我认为交易将是有利可图的。
--
没有对足够资金的简单检查,如果没有这个检查,EA 即使在测试器中运行也很可怕,更不用说在演示模式中了。
--
我不明白为什么要采用这种方法,使其 "与其他人和其他地方一样"------------。
if(new_time != old_time) // 更新 old_time,并返回 true(检测到新条形)。 if((old_time = new_time) != NULL) return(true);
--
TP 和 SL 订单设置检查的执行方式不正确 -- 如果检查失败,仓位将随机为零。

噪音太大,有些地方的代码有点奇怪
例如,地段验证部分
我们得到了批号 0.0
然后转到 OnTick() 并用手数 "0.0 "建仓。
有趣的方法,也许会为交易带来利润
--
没有对足够资金进行简单检查,如果没有这种检查,EA 即使在测试器中也很难运行,更不用说在演示模式中了
--
我不明白为什么要采用这种方法,使其 "与其他人和其他地方一样"。
--
TP 和 SL 订单设置检查的执行方式不正确--如果检查失败,位置将随机为零值
部分代码是使用帮助编写的,也就是说,我没有编写自己的代码,而是从其他来源获取的,这样初学者就可以看到熟悉的代码。
因此,代码缩短了一行,对我来说更方便、更熟悉,而且初学者也能看到这种语言的更多可能性。
if(new_time != old_time) // 更新 old_time,并返回 true(检测到新条形)。 if((old_time = new_time) != NULL) return(true);
и
if(new_time != old_time) // 更新 old_time,并返回 true(检测到新条形)。 { old_time = new_time; return(true); }
您好!当价格移动且没有平仓时,该智能交易系统在较低的时间框架(设置中为 0-3 分钟)上交易良好,但在较高的时间框架上,它不能及时打开网格,并进入缩减状态。
我在演示版上进行了测试,在演示版中需要插入 trawl-stop,可以使用外部 trawl 和订单网格的开仓距离,以便在设置中正确添加,因为使用外部 trawl 时,交易会在加仓时没有距离上的止损(在猫头鹰设置中没有 trawl 时,开仓时订单的止盈没有止损),而在平仓时订单的开仓距离较小时,会进入缩减状态。
这似乎是一个错误,因为为了形成锁定和减少缩减,相反的订单数量不均匀地打开(在突破前一根蜡烛的水平时打开订单和在一定距离后打开订单是不同的事情,因为长分钟蜡烛可以射出,没有订单将被打开以获得利润或锁定),如果这种订单的数量特别不均匀,根据趋势指标更准确地进入和打开第一个订单,并固定总利润和关闭整个正网格。最好是在没有止损的情况下也能更准确地开立订单和准确清算,或许可以增加一个自动增减手数的系数,以快速实现盈利并关闭整个网格。

VR Breakdown level - 基于突破前期高点或低点的交易策略:
基于简单突破前期高点或低点的交易策略
作者: Vladimir Pastushak