Задавайте вопросы по техническому анализу, обсуждайте торговые системы и улучшайте свои навыки программирования торговых стратегий на языке MQL5. Общайтесь и обменивайтесь опытом на форуме с трейдерами всего мира и помогайте ответами новичкам — наше сообщество развивается вместе с вами. Библиотеки: Black or White Text Black or White Text...
下午好。我在请求帮助。我在网上和论坛上搜索了一下。我正在测试标准模式下的专家顾问,一切正常。没有错误或警告。我下载了tick数据并添加了。(我所做的一切正如这里所描述的--如何测试质量为99%的专家顾问系统--简单、免费、合法)以及这里 - "如何在Metatrader 4策略测试器中 获得99%的模拟质量")启动时不断出现错误'array out of range in 'expert1.0.mq4' (69,25)...我明白,这是关于一个数组。我不知道该怎么做。但由于在标准模式下一切都很好...请帮助
你好。我在我的EA中写了这样一个地段的计算。
lot=NormalizeDouble(AccountBalance()*risk/(SL*MarketInfo(Symbol(),MODE_TICKVALUE)),2)。
其目的是为了获得正确的手数,而不考虑账户货币和货币对的指定风险和停止损失。 风险 ,设定为触发止损时损失的百分比。止损 SL ,单位为点(其中点是货币对价格的最小可能变化)。我准备在一个真实的账户 上启动这个EA。但我有疑虑。如果有更有经验的程序员能告诉我可能出现的错误,我将非常感激。第一个战略测试员。然后是一个模拟账户。然后才是一个真正的。为了检查这个公式,写一个脚本。或者只是在一张纸上计算一下。我把余额=100,风险=0.1 SL=100,Tick=0.00001 手数=100*0.1/(100*0.00001)=10/0.001=10000手比余额多?我们应该考虑杠杆作用吗?
MarketInfo(Symbol(),MODE_TICKVALUE))没有返回最小的tick size。它写在帮助中。
工具价格 在存款货币中的最小变化 大小。
但事实上,它返回的是1手合约的符号价格在存款货币中的最小变化值。
在你的例子中,MarketInfo(Symbol(),MODE_TICKVALUE))将返回1,然后一切都正确了。我在真实的美元和卢布账户上试了一下,它是有效的。以下是我用来检查的脚本。
#property copyright "Copyright 2016, MetaQuotes Software Corp.
#属性链接 "https://www.mql5.com"
#财产版本 "1.00"
#属性严格
#property show_inputs
外来的双倍风险=0.10。
外来的int sl=1000。
//+------------------------------------------------------------------+
//| 脚本程序启动功能|
//+------------------------------------------------------------------+
空白的OnStart()
{
Alert(NormalizeDouble(AccountBalance()*risk/(sl*MarketInfo(Symbol(),MODE_TICKVALUE),2))
}
//+------------------------------------------------------------------+
你是对的。用脚本进行检查更快、更可靠
我们还需要使NormaliseDouble函数的精度取决于允许的最小批量。如果你向OrderSend函数 传递一个手数,例如0.11,而该工具只用0.1倍的手数进行交易,将会出现错误。
我不明白为什么未平仓的交易没有一次性删除,即EA删除了一些交易,但错误orderdelete 4108,市场订单不能删除几次,只有这样才能删除。
我不明白为什么未平仓的交易没有一次性删除,即EA删除了一些交易,但错误orderdelete 4108,市场订单不能删除几次,只有这样才能删除。
本页解释了 如何删除。你有2个错误。
在启动时,'expert1.0.mq4'(69,25)有一个恒定错误阵列超出范围...我明白,这与阵列有关。我不知道该怎么做。
需要看到处理这个数组的代码,或其中的一段。
心灵感应者们,今天好好休息一下吧。
你需要看一下处理阵列的代码或一段代码。
心灵感应者们,今天好好休息一下吧。
}
这里有一个功能。
我只是认为问题不在代码中,因为在标准模式下没有错误。