初学者的问题 MQL5 MT5 MetaTrader 5 - 页 959 1...952953954955956957958959960961962963964965966...1503 新评论 ilvic 2018.12.11 14:24 #9581 如何在交易过程中改变自定义指标中的输入参数并应用这些改变? 比方说,我有马25,现在我需要马33。 据我所知,输入参数只在初始化时设置。但我需要在交易中改变指标 input int InpMA_ma_period = 25; // Параметры МА input int InpMA_ma_shift = 0; // MA PRICE_HIGH and PRICE_LOW: horizontal shift input ENUM_MA_METHOD InpMA_ma_method = MODE_SMA; // MA PRICE_HIGH: smoothing type int handle_MA; int OnInit() { handle_MA=iCustom(m_symbol.Name(),Period(),"MA",InpMA_ma_period,InpMA_ma_shift,InpMA_ma_method,PRICE_CLOSE); } void OnTick() { // Ставим новый параметр индикатора и делаем пересчет с новым параметром ??? InpMA_ma_period = 33; } Vladimir Karputov 2018.12.11 14:29 #9582 ilvic:如何在交易过程中改变自定义指标中的输入参数并应用这些改变? 比方说,我有马25,现在我需要马33。 据我所知,输入参数只在初始化时设置。但我需要在交易中改变指标 提前创建两个指标。 ilvic 2018.12.11 14:34 #9583 Vladimir Karputov:提前创建两个指标。不,我不需要两个指标。我需要在交易过程中改变这个。 我希望它有动力,可以这么说。 我可以下载它并以新的参数加载它吗? Vladimir Karputov 2018.12.11 14:36 #9584 ilvic:不,我不需要两个指标。我需要在交易过程中改变这个。 可以说是动态的。 能否以某种方式卸下它,然后用新的参数加载?创建三个指标:)。 一般来说,你必须先思考,创造环境,然后才能获得数据。 ilvic 2018.12.11 14:46 #9585 Vladimir Karputov:创建三个指标:)。 一般来说,你必须先思考,创造环境,然后才能获得数据。假设 - 在EA的开始,MA=25。 每一个新的刻度,我都会改变MA = +1。 即MA=26。 我不会为不同的条件创建500个手柄) Vitaly Muzichenko 2018.12.11 14:47 #9586 ilvic:如何在交易过程中改变自定义指标中的输入参数并应用这些改变?比方说,我有马25,现在我需要马33。据我所知,输入参数只在初始化时设置。但我需要在交易中改变指标好吧,似乎在改变EA的输入参数值 时,OnInit()被触发了,这意味着参数的新值被应用。还是我错了? ilvic 2018.12.11 14:51 #9587 Vitaly Muzichenko:如果EA的输入参数 的值被改变,OnInit()被触发,这意味着参数的新值被应用。还是我错了?我已经试过这种方式。 它不起作用 input int InpMA_ma_period = 25; // Параметры МА input int InpMA_ma_shift = 0; // MA PRICE_HIGH and PRICE_LOW: horizontal shift input ENUM_MA_METHOD InpMA_ma_method = MODE_SMA; // MA PRICE_HIGH: smoothing type double ExtInpMA_ma_period=InpMA_ma_period; int handle_MA; int OnInit() { handle_MA=iCustom(m_symbol.Name(),Period(),"MA",ExtInpMA_ma_period,InpMA_ma_shift,InpMA_ma_method,PRICE_CLOSE); } void OnTick() { // Ставим новый параметр индикатора и делаем пересчет с новым параметром ??? ExtInpMA_ma_period = 33; } Vitaly Muzichenko 2018.12.11 14:54 #9588 ilvic:我是这样试的。 不起作用。 你不能这样做,你需要调用OnInit 来重新初始化指标。 在操作过程中,你多长时间改变一次参数? ilvic 2018.12.11 14:57 #9589 Vitaly Muzichenko:你不能这样做,你需要调用OnInit 来重新初始化指标。 在操作过程中,你多长时间改变一次参数?我打算经常更换它们。 那么,代码应该是这样的? void OnTick() { // Ставим новый параметр индикатора и делаем пересчет с новым параметром ??? ExtInpMA_ma_period = 33; OnInit(); } Vitaly Muzichenko 2018.12.11 15:02 #9590 ilvic:我将改变它很多。 那么,代码应该是这样的? 你应该放一个标志来检查值是否发生了变化,这样你就不必在每次打勾 时都去检查OnInit 了。 类似这样的事情。 void OnTick() { // Ставим новый параметр индикатора и делаем пересчет с новым параметром ??? static int NewExtInpMA_ma_period; if(ExtInpMA_ma_period != NewExtInpMA_ma_period) { NewExtInpMA_ma_period=ExtInpMA_ma_period; OnInit(); } } 1...952953954955956957958959960961962963964965966...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如何在交易过程中改变自定义指标中的输入参数并应用这些改变?
比方说,我有马25,现在我需要马33。
据我所知,输入参数只在初始化时设置。但我需要在交易中改变指标
如何在交易过程中改变自定义指标中的输入参数并应用这些改变?
比方说,我有马25,现在我需要马33。
据我所知,输入参数只在初始化时设置。但我需要在交易中改变指标
提前创建两个指标。
提前创建两个指标。
不,我不需要两个指标。我需要在交易过程中改变这个。
我希望它有动力,可以这么说。
我可以下载它并以新的参数加载它吗?
不,我不需要两个指标。我需要在交易过程中改变这个。
可以说是动态的。
能否以某种方式卸下它,然后用新的参数加载?
创建三个指标:)。
一般来说,你必须先思考,创造环境,然后才能获得数据。
创建三个指标:)。
一般来说,你必须先思考,创造环境,然后才能获得数据。
假设 -
在EA的开始,MA=25。
每一个新的刻度,我都会改变MA = +1。
即MA=26。
我不会为不同的条件创建500个手柄)
如何在交易过程中改变自定义指标中的输入参数并应用这些改变?
比方说,我有马25,现在我需要马33。
据我所知,输入参数只在初始化时设置。但我需要在交易中改变指标
好吧,似乎在改变EA的输入参数值 时,OnInit()被触发了,这意味着参数的新值被应用。还是我错了?
如果EA的输入参数 的值被改变,OnInit()被触发,这意味着参数的新值被应用。还是我错了?
我已经试过这种方式。
它不起作用
我是这样试的。
不起作用。
你不能这样做,你需要调用OnInit 来重新初始化指标。
在操作过程中,你多长时间改变一次参数?
你不能这样做,你需要调用OnInit 来重新初始化指标。
在操作过程中,你多长时间改变一次参数?
我打算经常更换它们。
那么,代码应该是这样的?
我将改变它很多。
那么,代码应该是这样的?
你应该放一个标志来检查值是否发生了变化,这样你就不必在每次打勾 时都去检查OnInit 了。
类似这样的事情。