MT4里EA在策略测试中可视化图形按钮如何实现下单?
写了个EA交易面板,在实际交易中OnCHartEvent () 可以直接实现按钮功能下单。但在复盘模式下按钮无反应,请问如何才能实现在复盘模式下的按钮下单功能?据查在复盘模式下是不会执行传递图形事件。但看到别人做的面板却可以在复盘模式下下单。
MT4里EA在策略测试中可视化图形按钮如何实现下单?
写了个EA交易面板,在实际交易中OnCHartEvent () 可以直接实现按钮功能下单。但在复盘模式下按钮无反应,请问如何才能实现在复盘模式下的按钮下单功能?据查在复盘模式下是不会执行传递图形事件。但看到别人做的面板却可以在复盘模式下下单。
回复不易,麻烦关注下博主,后面还有问题直接私信我,谢谢!!!
在MetaTrader 4(MT4)中,确实存在在策略测试模式下,通过OnChartEvent()处理按钮点击事件可能无法触发的问题。在策略测试模式下,MT4不会模拟图形事件,因此如果你的按钮点击是基于图形事件触发的,那么在策略测试模式下可能无法正常工作。
为了在策略测试模式下实现按钮下单功能,你可以使用OnChartEvent()之外的其他方法。下面是一种可能的解决方案:
使用键盘事件或其他事件触发下单: 在策略测试模式下,你可以使用键盘事件或其他事件来触发下单。例如,你可以使用OnTimer()事件,定期检查某个条件并执行下单。
// 定时器事件
void OnTimer()
{
// 检查某个条件
if (ShouldPlaceOrder())
{
// 执行下单操作
PlaceOrder();
}
}
// 判断是否应该下单的条件
bool ShouldPlaceOrder()
{
// 在这里添加逻辑判断
return true;
}
// 执行下单操作
void PlaceOrder()
{
// 在这里添加下单的代码
}
使用OnTick()事件模拟实时行情下单: 在策略测试模式下,MT4会模拟实时行情,因此你可以使用OnTick()事件来模拟实时行情下单。
// OnTick事件
void OnTick()
{
// 在这里模拟实时行情
// 检查某个条件
if (ShouldPlaceOrder())
{
// 执行下单操作
PlaceOrder();
}
}
// 判断是否应该下单的条件
bool ShouldPlaceOrder()
{
// 在这里添加逻辑判断
return true;
}
// 执行下单操作
void PlaceOrder()
{
// 在这里添加下单的代码
}
请注意,以上代码中的ShouldPlaceOrder()函数是一个示例,你需要根据你的具体策略和需求进行逻辑编写。确保在使用模拟事件触发下单时,你的逻辑是合理且符合你的交易策略的。