初学者的问题 MQL5 MT5 MetaTrader 5 - 页 614 1...607608609610611612613614615616617618619620621...1503 新评论 Vladimir Karputov 2016.09.01 05:27 #6131 newnek:你好, 请你告诉我在标准库的信号中是否需要参数Parameter=Ka,int,21? 在优化过程中从类型的枚举中选择了 但是, 当 信号在生成EA时从选择中消失,但它却在正常编译,这很难做出结论--什么是错的......,用代码帮助,不是已经有一个实现吗?p.s. 在最后的EA中,我每次都要把 int改为intType。 指定确切的信号模块文件和代码行... newnek 2016.09.01 06:54 #6132 Karputov Vladimir: 指定确切的信号模块文件和代码行...例如,这里是顶部代码SignalRVI.mqh的一部分。 在这种情况下,当我将int类型 改为intType 时,它从信号选择中消失了 如果范围是错误的,我把它放在一个单独的文件中,用枚举法#include <Libraries\myfunc.mqh>。//+------------------------------------------------------------------+ //| SignalRVI.mqh | //| Copyright 2009-2013, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #include <Expert\ExpertSignal.mqh> // wizard description start //+------------------------------------------------------------------+ //| Description of the class | //| Title=----------------Signals of oscillator 'Relative Vigor Index' | //| Type=SignalAdvanced | //| Name=Relative Vigor Index | //| ShortName=RVI | //| Class=CSignalRVI | //| Page=signal_rvi | //| Parameter=PeriodRVI,intType,15,Period of calculation | //+------------------------------------------------------------------+ // wizard description end //+------------------------------------------------------------------+ //| Class CSignalRVI. | //| Purpose: Class of generator of trade signals based on | //| the 'Relative Vigor Index' oscillator. | //| Is derived from the CExpertSignal class. | //+------------------------------------------------------------------+ enum intType { p0 = 15, p1 = 21, p2 = 29 } ; class CSignalRVI : public CExpertSignal { protected: CiRVI m_rvi; // object-oscillator //--- adjusted parameters intType m_periodRVI; // the "period of calculation" parameter of the oscillator //--- "weights" of market models (0-100) int m_pattern_0; // model 0 "the oscillator has required direction" int m_pattern_1; // model 1 "crossing of main and signal line" public: CSignalRVI(void); ~CSignalRVI(void); //--- methods of setting adjustable parameters void PeriodRVI(intType value) { m_periodRVI=value; } //--- methods of adjusting "weights" of market models void Pattern_0(int value) { m_pattern_0=value; } void Pattern_1(int value) { m_pattern_1=value; } //--- method of verification of settings virtual bool ValidationSettings(void); //--- method of creating the indicator and timeseries virtual bool InitIndicators(CIndicators *indicators); //--- methods of checking if the market models are formed virtual int LongCondition(void); virtual int ShortCondition(void); protected: //--- method of initialization of the oscillator bool InitRVI(CIndicators *indicators); //--- methods of getting data double Main(int ind) { return(m_rvi.Main(ind)); } double DiffMain(int ind) { return(Main(ind)-Main(ind+1)); } double Signal(int ind) { return(m_rvi.Signal(ind)); } double DiffSignal(int ind) { return(Signal(ind)-Signal(ind+1)); } double DiffMainSignal(int ind) { return(Main(ind)-Signal(ind)); } }; //+------------------------------------------------------------------+ //| Constructor | //+------------------------------------------------------------------+ CSignalRVI::CSignalRVI(void) : m_periodRVI(15), m_pattern_0(60), m_pattern_1(100) { } Vladimir Karputov 2016.09.01 07:41 #6133 newnek:你好,请你告诉我在标准库的信号中是否需要 参数Parameter=Ka,int,21?在优化过程中 从类型的枚举 中选择了 但是,当信号在生成EA时从选择中消失,但它却在正常编译,这很难做出结论--什么是错的......,用代码帮助,不是已经有一个实现吗?p.s. 在最后的EA中,我每次都要把int改为intType。你不必改变任何东西--只要根据 "相对活力指数 "指标生成你的专家顾问,然后在策略测试器中,在 "设置 "选项卡中选择一个优化,进入 "参数 "选项卡,设置 "相对活力指数(10)计算周期 "参数的间隔和值。但由于你只想使用15-29区间的三个值,你需要在OnInit()中写一个检查条件。//+------------------------------------------------------------------+ //| Initialization function of the expert | //+------------------------------------------------------------------+ int OnInit() { if(Signal_RVI_PeriodRVI!=15 && Signal_RVI_PeriodRVI!=21 && Signal_RVI_PeriodRVI!=29) return(INIT_PARAMETERS_INCORRECT); //--- Initializing expert运行优化 后,你可以看到测试器只对参数15、21和29起作用。 newnek 2016.09.01 11:00 #6134 Karputov Vladimir:你不必改变任何东西--只要根据 "相对活力指数 "指标生成你的专家顾问,然后在策略测试器中选择一个优化,进入 "参数 "选项卡,设置 "相对活力指数(10)计算周期 "参数的时间间隔和数值。但由于你只想使用15-29区间的三个值,你需要在OnInit()中写一个检查条件。运行优化 后,你可以看到测试器只对参数15、21和29起作用。 谢谢,我明白你的想法,非常有趣,但会有很多浪费的步骤(虽然可能也没有浪费时间)。我已经设法在生成的EA中手动改变为枚举类型。而且我希望能更多地将其自动化。 Vladimir Karputov 2016.09.01 11:17 #6135 newnek: 谢谢,我明白你的想法,非常有趣,但会有很多浪费的步骤(虽然可能也不会浪费时间)。我已经设法在生成的EA中手动改变为枚举类型。而且我希望能更多地将其自动化。 会有一些空的步骤,但它们不需要时间,因为OnInit()会因为不符合条件而被退出,下一步的优化会立即开始。 Игорь Марин 2016.09.02 20:39 #6136 下午好...我自己是一个C++程序员。我最近决定在这个领域尝试自己...我想写一个专家顾问或专家顾问,我的策略还可以,我的平台是MT4...因此,我面临这个问题,我在我的专家顾问MACD中使用....。我很快就会写...例如,我创建了一个新的模板EA,添加x=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);假设没有其他东西...我编译,测试,一切正常,在测试结束后,显示一个带有指定参数的macd图表,一切正常。第二种方案--我在OnTick创建一个新的模板EA,添加一个第三方指标RSICur = iCustom(NULL,0, "My_Induk",14,1,0,21,1,65,35, "DodgerBlue", "Magenta",50,50, "Red", "Green",0,0);编译,测试,一切正常,但是!!!!!!!!(我想说的是,如果我不在这里的话,那么我就不会在这里了。当我完成测试或取消这些指标的数千个窗口中的测试时,我明白在每一个刻度上都会创建一个新的指标......我不明白为什么,因为标准的MAKD出生一次就可以了......谁能解释一下这个问题...我正试图用另一个非标准的指标来解决同样的问题...P.S. 这是我的第一个帖子...请不要责怪我没有找到将照片隐藏在扰流器下的方法。 Игорь Марин 2016.09.02 21:44 #6137 我不知道这是什么原因,但我找到了一个解决方案...RSICur=iCustom(NULL,0, "My_Induk",14,1,0,0,21,1,65,35, "DodgerBlue", "Magenta",50,50, "Red", "Green",0,0);- 绘制每个刻度 的图表RSICur=iCustom(NULL,0, "My_Induk",0,0); - 好的,一个图表,只有RSICur变量中的数据是按tick更新 的。我不明白是什么逻辑,原则上对我来说已经足够了,但我想了解为什么只有在默认设置下才能正常工作...... Alexey Volchanskiy 2016.09.02 22:42 #6138 Игорь Марин:下午好...我自己是一个C++程序员。我最近决定在这个领域尝试自己...我想写一个专家顾问或专家顾问,我的策略还可以,我的平台是MT4...因此,我面临这个问题,我在我的专家顾问MACD中使用....。我很快就会写...例如,我创建了一个新的模板EA,添加x=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);假设没有其他东西...我编译,测试,一切正常,在测试结束后,显示一个带有指定参数的macd图表,一切正常。第二种方案--我在OnTick创建一个新的模板EA,添加一个第三方指标RSICur = iCustom(NULL,0, "My_Induk",14,1,0,21,1,65,35, "DodgerBlue", "Magenta",50,50, "Red", "Green",0,0);编译,测试,一切正常,但是!!!!!!!!(我想说的是,如果我不在这里的话,那么我就不会在这里了。当我完成测试或取消这些指标的数千个窗口中的测试时,我明白在每一个刻度上都会创建一个新的指标......我不明白为什么,因为标准的MAKD出生一次,就这样......谁能解释一下这个问题...我正试图用另一个非标准的指标来解决同样的问题...P.S. 这是我的第一个帖子...请不要因为我没有找到在扰流板下隐藏照片的方法而责骂我。照片还可以,没有隐藏。这是你写的,My_Induk,还是你在哪里找到的?我知道指标是歪的。如果你有源代码,把它贴出来--让我们看看问题出在哪里。 Vladislav Andruschenko 2016.09.03 05:23 #6139 Игорь Марин:我不知道这是什么原因,但我找到了一个解决方案...RSICur=iCustom(NULL,0, "My_Induk",14,1,0,0,21,1,65,35, "DodgerBlue", "Magenta",50,50, "Red", "Green",0,0);- 绘制每个刻度的图表RSICur=iCustom(NULL,0, "My_Induk",0,0); - 好的,一个图表,只有RSICur变量中的数据是按tick更新 的。我不明白是什么逻辑,原则上对我来说已经足够了,但我想了解为什么只有在默认设置下才能正常工作...... 这发生在你没有正确传递指标的参数时。 Игорь Марин 2016.09.03 06:24 #6140 Alexey Volchanskiy:照片还可以,这里没有隐藏。这是你写的,My_Induk,还是你在哪里找到的?我认为指标是歪的。如果你有源代码,把它贴出来--让我们看看问题出在哪里。弗拉迪斯拉夫-安德鲁申科。 这发生在你没有正确传递指标的参数时。谢谢你,我明白了...我探究了一整天,也没能弄明白......我自己是一个程序员,但它发生了...我犯了一个语法错误,在调用指标时,我必须用引号传递颜色参数... iCustom(NULL,0,"My_Induk",14,1,0,21,1,65,35,"DodgerBlue","Magenta",50,50,"Red","Green",0,0);这就是造成这个故障的原因......)谢谢你!!!。当然会有更多的问题!!!。 1...607608609610611612613614615616617618619620621...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好, 请你告诉我在标准库的信号中是否需要参数Parameter=Ka,int,21?
在优化过程中从类型的枚举中选择了
但是, 当 信号在生成EA时从选择中消失,但它却在正常编译,这很难做出结论--什么是错的......,用代码帮助,不是已经有一个实现吗?
p.s. 在最后的EA中,我每次都要把 int改为intType。
指定确切的信号模块文件和代码行...
例如,这里是顶部代码SignalRVI.mqh的一部分。 在这种情况下,当我将int类型 改为intType 时,它从信号选择中消失了
如果范围是错误的,我把它放在一个单独的文件中,用枚举法#include <Libraries\myfunc.mqh>。你好,请你告诉我在标准库的信号中是否需要 参数Parameter=Ka,int,21?
在优化过程中 从类型的枚举 中选择了
但是,当信号在生成EA时从选择中消失,但它却在正常编译,这很难做出结论--什么是错的......,用代码帮助,不是已经有一个实现吗?
p.s. 在最后的EA中,我每次都要把int改为intType。
你不必改变任何东西--只要根据 "相对活力指数 "指标生成你的专家顾问,然后在策略测试器中,在 "设置 "选项卡中选择一个优化,进入 "参数 "选项卡,设置 "相对活力指数(10)计算周期 "参数的间隔和值。
但由于你只想使用15-29区间的三个值,你需要在OnInit()中写一个检查条件。
运行优化 后,你可以看到测试器只对参数15、21和29起作用。
你不必改变任何东西--只要根据 "相对活力指数 "指标生成你的专家顾问,然后在策略测试器中选择一个优化,进入 "参数 "选项卡,设置 "相对活力指数(10)计算周期 "参数的时间间隔和数值。
但由于你只想使用15-29区间的三个值,你需要在OnInit()中写一个检查条件。
运行优化 后,你可以看到测试器只对参数15、21和29起作用。
谢谢,我明白你的想法,非常有趣,但会有很多浪费的步骤(虽然可能也不会浪费时间)。我已经设法在生成的EA中手动改变为枚举类型。而且我希望能更多地将其自动化。
下午好...我自己是一个C++程序员。我最近决定在这个领域尝试自己...我想写一个专家顾问或专家顾问,我的策略还可以,我的平台是MT4...因此,我面临这个问题,我在我的专家顾问MACD中使用....。我很快就会写...
例如,我创建了一个新的模板EA,添加x=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);假设没有其他东西...我编译,测试,一切正常,在测试结束后,显示一个带有指定参数的macd图表,一切正常。
第二种方案--我在OnTick创建一个新的模板EA,添加一个第三方指标RSICur = iCustom(NULL,0, "My_Induk",14,1,0,21,1,65,35, "DodgerBlue", "Magenta",50,50, "Red", "Green",0,0);编译,测试,一切正常,但是!!!!!!!!(我想说的是,如果我不在这里的话,那么我就不会在这里了。当我完成测试或取消这些指标的数千个窗口中的测试时,我明白在每一个刻度上都会创建一个新的指标......我不明白为什么,因为标准的MAKD出生一次就可以了......
谁能解释一下这个问题...我正试图用另一个非标准的指标来解决同样的问题...
P.S. 这是我的第一个帖子...请不要责怪我没有找到将照片隐藏在扰流器下的方法。
我不知道这是什么原因,但我找到了一个解决方案...
RSICur=iCustom(NULL,0, "My_Induk",14,1,0,0,21,1,65,35, "DodgerBlue", "Magenta",50,50, "Red", "Green",0,0);- 绘制每个刻度 的图表
RSICur=iCustom(NULL,0, "My_Induk",0,0); - 好的,一个图表,只有RSICur变量中的数据是按tick更新 的。我不明白是什么逻辑,原则上对我来说已经足够了,但我想了解为什么只有在默认设置下才能正常工作......
下午好...我自己是一个C++程序员。我最近决定在这个领域尝试自己...我想写一个专家顾问或专家顾问,我的策略还可以,我的平台是MT4...因此,我面临这个问题,我在我的专家顾问MACD中使用....。我很快就会写...
例如,我创建了一个新的模板EA,添加x=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);假设没有其他东西...我编译,测试,一切正常,在测试结束后,显示一个带有指定参数的macd图表,一切正常。
第二种方案--我在OnTick创建一个新的模板EA,添加一个第三方指标RSICur = iCustom(NULL,0, "My_Induk",14,1,0,21,1,65,35, "DodgerBlue", "Magenta",50,50, "Red", "Green",0,0);编译,测试,一切正常,但是!!!!!!!!(我想说的是,如果我不在这里的话,那么我就不会在这里了。当我完成测试或取消这些指标的数千个窗口中的测试时,我明白在每一个刻度上都会创建一个新的指标......我不明白为什么,因为标准的MAKD出生一次,就这样......
谁能解释一下这个问题...我正试图用另一个非标准的指标来解决同样的问题...
P.S. 这是我的第一个帖子...请不要因为我没有找到在扰流板下隐藏照片的方法而责骂我。
照片还可以,没有隐藏。
这是你写的,My_Induk,还是你在哪里找到的?我知道指标是歪的。如果你有源代码,把它贴出来--让我们看看问题出在哪里。
我不知道这是什么原因,但我找到了一个解决方案...
RSICur=iCustom(NULL,0, "My_Induk",14,1,0,0,21,1,65,35, "DodgerBlue", "Magenta",50,50, "Red", "Green",0,0);- 绘制每个刻度的图表
RSICur=iCustom(NULL,0, "My_Induk",0,0); - 好的,一个图表,只有RSICur变量中的数据是按tick更新 的。我不明白是什么逻辑,原则上对我来说已经足够了,但我想了解为什么只有在默认设置下才能正常工作......
照片还可以,这里没有隐藏。
这是你写的,My_Induk,还是你在哪里找到的?我认为指标是歪的。如果你有源代码,把它贴出来--让我们看看问题出在哪里。
这发生在你没有正确传递指标的参数时。
谢谢你,我明白了...我探究了一整天,也没能弄明白......我自己是一个程序员,但它发生了...我犯了一个语法错误,在调用指标时,我必须用引号传递颜色参数...
iCustom(NULL,0,"My_Induk",14,1,0,21,1,65,35,"DodgerBlue","Magenta",50,50,"Red","Green",0,0);
这就是造成这个故障的原因......)谢谢你!!!。当然会有更多的问题!!!。