初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1401 1...139413951396139713981399140014011402140314041405140614071408...1503 新评论 JRandomTrader 2022.04.10 22:21 #14001 freemovpalm #:大家好,请帮助我在EA中加入马丁格尔,我需要在触发止损(获得损失)后,在新的信号(猫头鹰通过指标工作)时,以增加的手数(乘以系数)进入。我的理解是否正确,首先我需要写出事件--stoploop事件(我不知道在哪里和如何写),并在那里用很多做数学题(我需要额外的变量)? 例如,添加一个变量--连续亏损交易的计数器。在每次亏损的交易中--增加1,在每次盈利的交易中--重置为0。 并从这个计数器设置手数(例如--按这个计数器的比例将最小手数乘以2)。 但马丁格尔法不会使一个失败的策略变得有利可图。 freemovpalm 2022.04.11 08:08 #14002 JRandomTrader #:例如,添加一个变量--连续亏损交易的计数器。在每次亏损的交易中,它都会增加1,在每次盈利的交易中,它都会重置为0。并从这个计数器中设定手数(例如,将最小手数乘以2,达到这个计数器的范围)。但马丁格尔法不会使一个失败的策略变得有利可图。 谢谢,该策略平均2次,最多连续亏损4次,这就是我想要一个马汀的原因。顺便问一下,谁有这样一个计数器或猫头鹰的例子,其工作原理与我描述的相同?我可以直接从那里复制必要的行。 VasyaSumkin2 2022.04.14 10:05 #14003 string Button_TP = "Panel.String1.Button3"; Print(ObjectGetInteger(0, "Panel.String1.Button3", OBJPROP_STATE)); Print(ObjectGetInteger(0, Button_TP, OBJPROP_STATE)); 你能告诉我为什么第一个选项有效而第二个选项无效吗?按钮的名称不能被设置为一个变量吗? Evgeny Dyuka 2022.04.16 03:41 #14004 测试人员如何能自动通过几对? 例如,我需要通过20对。现在我重新启动每一对的测试器。 我搞不清楚如何制作一个 变量。 有什么解决办法吗? Alexey Viktorov 2022.04.16 06:08 #14005 Evgeny Dyuka #:测试人员如何能自动通过几对? 例如,我需要通过20对。现在我重新启动每一对的测试器。 我搞不清楚如何制作一个 变量。你有什么解决办法吗? 关于交易、自动交易系统和策略测试的论坛 如何在Strategy Tester中接收选定的货币对进行市场审查? Alexey Viktorov, 2022.04.14 17:11 你不能在策略测试器中使用MarketWatch终端。测试员从已从程序中请求属性的符号 中生成自己的MarketWatch。因此,要形成一个MarketWatch,你需要请求所需符号的任何属性。 sinput string Symb = "GBPUSD,GBPAUD,GBPCAD,GBPJPY,EURUSD,EURGBP,EURAUD,EURCAD,EURJPY,AUDUSD,AUDNZD,AUDCAD,AUDJPY,NZDUSD,NZDCAD,USDCAD,USDJPY" string s_arr[]; int OnInit() { int i = 0, symbPos = 0; if(StringSplit(Symb, ',', s_arr) <= 0) { Print(__FUNCTION__ + " Error converting !"); return(INIT_FAILED); } while(symbPos >= 0 && !IsStopped()) { if(!SymbolInfoInteger(s_arr[i], SYMBOL_SELECT) || !SymbolInfoInteger(s_arr[i], SYMBOL_VISIBLE)) SymbolSelect(s_arr[i], true); double price = SymbolInfoDouble(s_arr[i], SYMBOL_ASK); i++; } return(INIT_SUCCEEDED); }/*******************************************************************/ 我希望我在从我的程序中提取代码时没有犯错... Yuriy Bykov 2022.04.16 11:02 #14006 Evgeny Dyuka #:测试人员如何能自动通过几对? 例如,我需要通过20对。现在我重新启动每一对的测试器。 我搞不清楚如何制作一个 变量。有什么解决办法吗? 如果我们通过一个EA参数来定义一个配对,而这个参数在优化过程中可能会发生变化,那么我们只需通过这个参数来运行优化,就可以开始对几个配对进行传递。 这个参数不能是 "字符串 "类型,但可以是 "int "或 "enum "类型。 使用这个参数,在初始化EA时,我们把与该参数值相对应的所需符号的名称分配给另一个字符串变量。 在EA代码中,你将不得不用你自己的变量来代替Symbol()或_Symbol,并将其命名为对。 你了解这个原理吗,还是需要一个代码例子? Valeriy Yastremskiy 2022.04.16 11:08 #14007 Evgeny Dyuka #:测试人员如何能自动通过几对? 例如,我需要通过20对。现在我重新启动每一对的测试器。 我搞不清楚如何制作一个 变量。有什么解决办法吗? SaberMultitester 是一个解决方案,你可以通过工具和设置在那里设置通行证。 Библиотеки: MultiTester 2019.07.19www.mql5.com Статьи и техническая библиотека по автоматическому трейдингу: Библиотеки: MultiTester Evgeny Dyuka 2022.04.17 04:08 #14008 Yuriy Bykov #:如果一个配对是由EA参数定义的,在优化过程中可以改变,那么为了运行一个多配对通道,我们只需通过这个参数运行优化。 这个参数不能是 "字符串 "类型,但可以是 "int "或 "enum "类型。 使用这个参数,在初始化EA时,我们把与该参数值相对应的所需符号的名称分配给另一个字符串变量。 在EA代码中,凡是使用Symbol()或_Symbol的地方,我们将不得不用我们自己的变量来代替它,并加上对的名称。 你了解这个原理吗,还是需要一个代码例子? 很好!我没有想到要通过优化器。 Evgeny Dyuka 2022.04.17 04:46 #14009 Yuriy Bykov #:如果一个配对是由EA参数定义的,在优化过程中可以改变,那么为了运行一个多配对通道,我们只需通过这个参数运行优化。 这个参数不能是 "字符串 "类型,但可以是 "int "或 "enum "类型。 使用这个参数,在初始化EA时,我们把与该参数值相对应的所需符号的名称分配给另一个字符串变量。 在EA代码中,凡是使用Symbol()或_Symbol的地方,我们将不得不用我们自己的变量来代替它,并加上对的名称。 原理是否清楚,或者你需要一个示例代码? 那OnTick()呢? 我可以在任何地方替换我自己的符号,但OnTick()将总是从测试器运行的符号 中获取。 来自帮助:" OnTick()事件的产生。当收到一个符号的新刻度线时,专家顾问就会连接到该图表 上"。 这里不可能有冲突?例如,外汇在周末被止损,但加密货币却没有。 Yuriy Bykov 2022.04.17 06:31 #14010 是的,这是个问题。我没有从事过加密货币的工作,所以我没有想过允许交易期的差异。但可以在测试器中把一些加密货币作为工作符号,并在专家顾问中添加(或保留)允许交易的检查。之后,主要问题是不同工具的tick到达时间的不一致。在这里,我们可以尝试选择有更多刻度线的仪器,以减少测试结果的误差。在附属于一个图表的多货币专家顾问系统中,情况将是一样的--OnTick()只针对主要符号被触发。为了正确跟踪不同符号的新条形图的事件,在这种情况下,我使用我的库新条形图事件。 New Bar Event www.mql5.com Позволяет определить наступление события нового бара в мультивалютном советнике. В вызове OnTick() можно многократно проверять, наступило ли на этом тике событие для нужного инструмента (symbol) и периода графика (timeframe). 1...139413951396139713981399140014011402140314041405140614071408...1503 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
大家好,请帮助我在EA中加入马丁格尔,我需要在触发止损(获得损失)后,在新的信号(猫头鹰通过指标工作)时,以增加的手数(乘以系数)进入。我的理解是否正确,首先我需要写出事件--stoploop事件(我不知道在哪里和如何写),并在那里用很多做数学题(我需要额外的变量)?
例如,添加一个变量--连续亏损交易的计数器。在每次亏损的交易中--增加1,在每次盈利的交易中--重置为0。
并从这个计数器设置手数(例如--按这个计数器的比例将最小手数乘以2)。
但马丁格尔法不会使一个失败的策略变得有利可图。
例如,添加一个变量--连续亏损交易的计数器。在每次亏损的交易中,它都会增加1,在每次盈利的交易中,它都会重置为0。
并从这个计数器中设定手数(例如,将最小手数乘以2,达到这个计数器的范围)。
但马丁格尔法不会使一个失败的策略变得有利可图。
谢谢,该策略平均2次,最多连续亏损4次,这就是我想要一个马汀的原因。顺便问一下,谁有这样一个计数器或猫头鹰的例子,其工作原理与我描述的相同?我可以直接从那里复制必要的行。
你能告诉我为什么第一个选项有效而第二个选项无效吗?按钮的名称不能被设置为一个变量吗?
测试人员如何能自动通过几对?
例如,我需要通过20对。现在我重新启动每一对的测试器。
我搞不清楚如何制作一个 变量。
有什么解决办法吗?
测试人员如何能自动通过几对?
例如,我需要通过20对。现在我重新启动每一对的测试器。
我搞不清楚如何制作一个 变量。
你有什么解决办法吗?
关于交易、自动交易系统和策略测试的论坛
如何在Strategy Tester中接收选定的货币对进行市场审查?
Alexey Viktorov, 2022.04.14 17:11
你不能在策略测试器中使用MarketWatch终端。测试员从已从程序中请求属性的符号 中生成自己的MarketWatch。因此,要形成一个MarketWatch,你需要请求所需符号的任何属性。
我希望我在从我的程序中提取代码时没有犯错...
测试人员如何能自动通过几对?
例如,我需要通过20对。现在我重新启动每一对的测试器。
我搞不清楚如何制作一个 变量。
有什么解决办法吗?
如果我们通过一个EA参数来定义一个配对,而这个参数在优化过程中可能会发生变化,那么我们只需通过这个参数来运行优化,就可以开始对几个配对进行传递。
这个参数不能是 "字符串 "类型,但可以是 "int "或 "enum "类型。
使用这个参数,在初始化EA时,我们把与该参数值相对应的所需符号的名称分配给另一个字符串变量。
在EA代码中,你将不得不用你自己的变量来代替Symbol()或_Symbol,并将其命名为对。
你了解这个原理吗,还是需要一个代码例子?
测试人员如何能自动通过几对?
例如,我需要通过20对。现在我重新启动每一对的测试器。
我搞不清楚如何制作一个 变量。
有什么解决办法吗?
SaberMultitester 是一个解决方案,你可以通过工具和设置在那里设置通行证。
如果一个配对是由EA参数定义的,在优化过程中可以改变,那么为了运行一个多配对通道,我们只需通过这个参数运行优化。
这个参数不能是 "字符串 "类型,但可以是 "int "或 "enum "类型。
使用这个参数,在初始化EA时,我们把与该参数值相对应的所需符号的名称分配给另一个字符串变量。
在EA代码中,凡是使用Symbol()或_Symbol的地方,我们将不得不用我们自己的变量来代替它,并加上对的名称。
你了解这个原理吗,还是需要一个代码例子?
很好!我没有想到要通过优化器。
如果一个配对是由EA参数定义的,在优化过程中可以改变,那么为了运行一个多配对通道,我们只需通过这个参数运行优化。
这个参数不能是 "字符串 "类型,但可以是 "int "或 "enum "类型。
使用这个参数,在初始化EA时,我们把与该参数值相对应的所需符号的名称分配给另一个字符串变量。
在EA代码中,凡是使用Symbol()或_Symbol的地方,我们将不得不用我们自己的变量来代替它,并加上对的名称。
原理是否清楚,或者你需要一个示例代码?
那OnTick()呢?
我可以在任何地方替换我自己的符号,但OnTick()将总是从测试器运行的符号 中获取。
来自帮助:" OnTick()事件的产生。当收到一个符号的新刻度线时,专家顾问就会连接到该图表 上"。
这里不可能有冲突?例如,外汇在周末被止损,但加密货币却没有。