来自一个 "傻瓜 "的问题 - 页 57 1...505152535455565758596061626364...277 新评论 Anatoli Kazharski 2011.08.23 21:27 #561 Lizar:我打算看一下文章中发布的版本。到目前为止,做了一些专家的间谍,效果很好。MetaDriver。 我不认为这项技术在测试器中会起作用。它是有效的。它能在测试器中工作,真是太好了。我还没有能够实施它。但这可能是由于缺乏经验。我现在已经确定了一个计时器,但这是一个很长的计时器。当我试图将专家顾问附在图表上时,我得到了这样一条信息。我不明白美元兑日元与此有什么关系。我甚至把代码中初始化时获取句柄的部分也注释掉了,但这个信息还是出现了。 Anatoli Kazharski 2011.08.23 21:44 #562 Lizar:它是有效的。 康斯坦丁,我的理解是否正确,通常驻留在OnTick() 或OnTimer() 中的EA可执行代码,需要放在OnChartEvent() 中,以使你的方案在多货币模式下工作,无论是实时还是测试器。 Konstantin Gruzdev 2011.08.23 22:21 #563 tol64:它能在测试器中工作,真是太好了。我还没能实现它。但这是由于缺乏经验,我想。我暂时定下了定时器,但它太长了。当我试图将专家顾问附在图表上时,我得到了这样一条信息。我不明白美元兑日元与此有什么关系。我甚至在代码中注释了初始化时获取句柄的内容,但这个信息仍然出现。还没有看。Tol64。 康斯坦丁,我的理解是否正确,通常驻留在OnTick() 或OnTimer() 中的EA可执行代码,需要放在OnChartEvent() 中,以使你的方案在多货币模式下工作,无论是实时还是测试器。是的。 Konstantin Gruzdev 2011.08.23 22:56 #564 tol64:它能在测试器中工作,真是太好了。我还没能实现它。但那是由于缺乏经验,我想。我暂时定下了定时器,但它太长了。当我试图将专家顾问附在图表上时,我得到了这样一条信息。我不明白美元兑日元与此有什么关系。我甚至把代码中初始化时获得句柄的部分也注释掉了,但信息还是出来了。我已经看了。专家顾问正在工作。只是在错误信息 中出现了一个错字。它给你的是一个信息,即在MarketWatch窗口中没有选择该符号。要么将专家顾问工作的符号设置为MarketWatch窗口,要么在OnInit()中注释掉对相应符号的spyros的调用。我在此附上exSpy控制面板MCM.mq5的修改版本。 Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции www.mql5.com Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции - Документация по MQL5 附加的文件: exSpy_Control_panel_MCM.mq5 6 kb Anatoli Kazharski 2011.08.23 23:32 #565 Lizar:我已经看了一下。该专家正在工作。只是在错误信息 中出现了一个错字。它给你的信息是,在MarketWatch窗口中没有选择该符号。要么将专家顾问工作的符号设置为MarketWatch窗口,要么在OnInit()中注释掉对相应符号的spyros的调用。我附上exSpy控制面板MCM.mq5的修改版本。我甚至嘲笑自己的不重视))))。USDJPY在市场观察窗口中。没有其他符号,指纹只是有相同的信息。)))谢谢。 [删除] 2011.08.24 05:00 #566 tol64: 康斯坦丁,我的理解是否正确,专家顾问的可执行代码,通常位于OnTick() 或OnTimer() 中,应该放在OnChartEvent() 中,以使你的方案在多货币模式下工作,无论是实时还是测试器。最好是以单独的程序和函数的形式实现所有需要的功能(我推荐后者),然后从专家顾问的任何地方调用它。如果你使用OOP,所有需要的功能都可以作为主类(通常是专家类的后裔)的一组方法来实现。 Anatoli Kazharski 2011.08.24 05:24 #567 Interesting:最好将所有必要的功能作为独立的程序和函数来实现(我推荐后者),然后从专家顾问的任何地方调用它。如果你使用OOP,你可以将所有必要的功能作为主类(通常是专家顾问类的后裔)的几个方法集来实现。目前,所有功能几乎都是以这种方式实现的。几乎。也就是说,整个代码是几个包含基本计算的函数。我还没有完全掌握OOP,但我已经可以看到使用OOP的利润。代码在一天天增长,很快就会在没有OOP的情况下使用它,这将是非常不方便的。我已经创建了一个单独的主题,在那里我给你提供了各种多货币测试方法的结果:多货币专家顾问测试结果。在这个问题上,仍有许多事情对我来说是不清楚的。 kirill-demo 2011.08.25 05:37 #568 为什么我的报价没有加载?例如,在欧元兑美元上,他们只加载到该年的8月。这就是全部。他们不想再装下去了。有没有其他地方可以让我找到带引号的文件?我已将条形图的数量 设置为无限。我刷新了好几次。我按了几次HOME键。它仍然不工作。 atumanov46 2011.08.25 07:17 #569 还有,所有MT5文件及其细节的 "公布的完整清单 "在哪里。 今天刚从猴面包上下来,抱歉。 x572intraday 2011.08.25 08:44 #570 一个多时空的分形指标。 该指标的本质是在另一个时间框架上显示一个(或同时显示几个)时间框架的分形。文章来源:https://www.mql5.com/ru/code/7304, MQL4中的指标代码首先,我试着从.mq4-版本中复制和粘贴,并为.mq5做了一些微小的修正(我甚至没有引用这段代码--当我发现在MQL4源代码中不小心操作了像High[shift+i]这样的数组后,问题就发生了。bool Fractal (string F,int Per, int shift) {...}我试着在MQL5中重写它(在OnCalculate之外没有这种数组的默认可见性)。然后我试着为MQL5重写,用不同的参数PERIOD_....调用几个iFractals处理。结果,分形就散开了,尽管有时只有TF上与之对应的单一系列的分形箭头可以充分拟合。值得注意的是,当我从其他不同的时间段回到终端的同一时间段时,分形出现的情况不同,这表明:这个陌生的指标在终端的数据以一种难以理解的方式徘徊,尽管我一直认为相同的错误画面应该稳定地重复。当然,第二个变体甚至不包含bool Fractal(string F,int Per,int shift) {...},我想把这个问题交给有经验的指标开发者。这是我设法画的东西。#property indicator_chart_window #property indicator_buffers 8 #property indicator_plots 8 #property indicator_label1 "FractalUp1" #property indicator_type1 DRAW_ARROW #property indicator_color1 clrRed #property indicator_width1 2 #property indicator_label2 "FractalDw1" #property indicator_type2 DRAW_ARROW #property indicator_color2 clrRed #property indicator_width2 2 #property indicator_label3 "FractalUp2" #property indicator_type3 DRAW_ARROW #property indicator_color3 clrBlue #property indicator_width3 2 #property indicator_label4 "FractalDw2" #property indicator_type4 DRAW_ARROW #property indicator_color4 clrBlue #property indicator_width4 2 #property indicator_label5 "FractalUp3" #property indicator_type5 DRAW_ARROW #property indicator_color5 clrGold #property indicator_width5 2 #property indicator_label6 "FractalDw3" #property indicator_type6 DRAW_ARROW #property indicator_color6 clrGold #property indicator_width6 2 #property indicator_label7 "FractalUp4" #property indicator_type7 DRAW_ARROW #property indicator_color7 clrSienna #property indicator_width7 2 #property indicator_label8 "FractalDw4" #property indicator_type8 DRAW_ARROW #property indicator_color8 clrSienna #property indicator_width8 2 double ExtMapBuffer1[]; double ExtMapBuffer2[]; double ExtMapBuffer3[]; double ExtMapBuffer4[]; double ExtMapBuffer5[]; double ExtMapBuffer6[]; double ExtMapBuffer7[]; double ExtMapBuffer8[]; int ArrowShift=-10; int handle1; int handle2; int handle3; int handle4; int OnInit() { // IndicatorSetInteger(INDICATOR_DIGITS,_Digits); //--- SetIndexBuffer(0,ExtMapBuffer1,INDICATOR_DATA); PlotIndexSetInteger(0,PLOT_ARROW,217); PlotIndexSetInteger(0,PLOT_ARROW_SHIFT,ArrowShift); PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,EMPTY_VALUE); ArrayInitialize(ExtMapBuffer1,EMPTY_VALUE); SetIndexBuffer(1,ExtMapBuffer2,INDICATOR_DATA); PlotIndexSetInteger(1,PLOT_ARROW,218); PlotIndexSetInteger(1,PLOT_ARROW_SHIFT,-ArrowShift); PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,EMPTY_VALUE); ArrayInitialize(ExtMapBuffer2,EMPTY_VALUE); //--- SetIndexBuffer(2,ExtMapBuffer3,INDICATOR_DATA); PlotIndexSetInteger(2,PLOT_ARROW,217); PlotIndexSetInteger(2,PLOT_ARROW_SHIFT,ArrowShift); PlotIndexSetDouble(2,PLOT_EMPTY_VALUE,EMPTY_VALUE); ArrayInitialize(ExtMapBuffer3,EMPTY_VALUE); SetIndexBuffer(3,ExtMapBuffer4,INDICATOR_DATA); PlotIndexSetInteger(3,PLOT_ARROW,218); PlotIndexSetInteger(3,PLOT_ARROW_SHIFT,-ArrowShift); PlotIndexSetDouble(3,PLOT_EMPTY_VALUE,EMPTY_VALUE); ArrayInitialize(ExtMapBuffer4,EMPTY_VALUE); //--- SetIndexBuffer(4,ExtMapBuffer5,INDICATOR_DATA); PlotIndexSetInteger(4,PLOT_ARROW,217); PlotIndexSetInteger(4,PLOT_ARROW_SHIFT,ArrowShift); PlotIndexSetDouble(4,PLOT_EMPTY_VALUE,EMPTY_VALUE); ArrayInitialize(ExtMapBuffer5,EMPTY_VALUE); SetIndexBuffer(5,ExtMapBuffer6,INDICATOR_DATA); PlotIndexSetInteger(5,PLOT_ARROW,218); PlotIndexSetInteger(5,PLOT_ARROW_SHIFT,-ArrowShift); PlotIndexSetDouble(5,PLOT_EMPTY_VALUE,EMPTY_VALUE); ArrayInitialize(ExtMapBuffer6,EMPTY_VALUE); //--- SetIndexBuffer(6,ExtMapBuffer7,INDICATOR_DATA); PlotIndexSetInteger(6,PLOT_ARROW,217); PlotIndexSetInteger(6,PLOT_ARROW_SHIFT,ArrowShift); PlotIndexSetDouble(6,PLOT_EMPTY_VALUE,EMPTY_VALUE); ArrayInitialize(ExtMapBuffer7,EMPTY_VALUE); SetIndexBuffer(7,ExtMapBuffer8,INDICATOR_DATA); PlotIndexSetInteger(7,PLOT_ARROW,218); PlotIndexSetInteger(7,PLOT_ARROW_SHIFT,-ArrowShift); PlotIndexSetDouble(7,PLOT_EMPTY_VALUE,EMPTY_VALUE); ArrayInitialize(ExtMapBuffer8,EMPTY_VALUE); handle1=iFractals(_Symbol, PERIOD_M15); handle2=iFractals(_Symbol, PERIOD_H1); handle3=iFractals(_Symbol, PERIOD_H4); handle4=iFractals(_Symbol, PERIOD_D1); return(0); } int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { int B1 = BarsCalculated(handle1); int B2 = BarsCalculated(handle2); int B3 = BarsCalculated(handle3); int B4 = BarsCalculated(handle4); CopyBuffer(handle1,0,0,B1,ExtMapBuffer1); CopyBuffer(handle1,1,0,B1,ExtMapBuffer2); CopyBuffer(handle2,2,0,B2,ExtMapBuffer3); CopyBuffer(handle2,3,0,B2,ExtMapBuffer4); CopyBuffer(handle3,4,0,B3,ExtMapBuffer5); CopyBuffer(handle3,5,0,B3,ExtMapBuffer6); CopyBuffer(handle4,6,0,B4,ExtMapBuffer7); CopyBuffer(handle4,7,0,B4,ExtMapBuffer8); return(rates_total); } //+------------------------------------------------------------------+ void OnDeinit(const int reason) { return; } 很明显,它在OnCalculate以及bool类型的外部函数中缺少一些条件检查,或者我根本没有正确使用我的代码中已有的东西。另外,也许数组需要在正确的地方正确初始化,并设置为时间序列? 1...505152535455565758596061626364...277 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我打算看一下文章中发布的版本。到目前为止,做了一些专家的间谍,效果很好。
MetaDriver。
我不认为这项技术在测试器中会起作用。
它是有效的。
它能在测试器中工作,真是太好了。我还没有能够实施它。但这可能是由于缺乏经验。我现在已经确定了一个计时器,但这是一个很长的计时器。
当我试图将专家顾问附在图表上时,我得到了这样一条信息。
我不明白美元兑日元与此有什么关系。我甚至把代码中初始化时获取句柄的部分也注释掉了,但这个信息还是出现了。
它是有效的。
它能在测试器中工作,真是太好了。我还没能实现它。但这是由于缺乏经验,我想。我暂时定下了定时器,但它太长了。
当我试图将专家顾问附在图表上时,我得到了这样一条信息。
我不明白美元兑日元与此有什么关系。我甚至在代码中注释了初始化时获取句柄的内容,但这个信息仍然出现。
还没有看。
康斯坦丁,我的理解是否正确,通常驻留在OnTick() 或OnTimer() 中的EA可执行代码,需要放在OnChartEvent() 中,以使你的方案在多货币模式下工作,无论是实时还是测试器。
是的。
它能在测试器中工作,真是太好了。我还没能实现它。但那是由于缺乏经验,我想。我暂时定下了定时器,但它太长了。
当我试图将专家顾问附在图表上时,我得到了这样一条信息。
我不明白美元兑日元与此有什么关系。我甚至把代码中初始化时获得句柄的部分也注释掉了,但信息还是出来了。
我已经看了。专家顾问正在工作。只是在错误信息 中出现了一个错字。
它给你的是一个信息,即在MarketWatch窗口中没有选择该符号。要么将专家顾问工作的符号设置为MarketWatch窗口,要么在OnInit()中注释掉对相应符号的spyros的调用。
我在此附上exSpy控制面板MCM.mq5的修改版本。
我已经看了一下。该专家正在工作。只是在错误信息 中出现了一个错字。
它给你的信息是,在MarketWatch窗口中没有选择该符号。要么将专家顾问工作的符号设置为MarketWatch窗口,要么在OnInit()中注释掉对相应符号的spyros的调用。
我附上exSpy控制面板MCM.mq5的修改版本。
我甚至嘲笑自己的不重视))))。USDJPY在市场观察窗口中。没有其他符号,指纹只是有相同的信息。)))
谢谢。
康斯坦丁,我的理解是否正确,专家顾问的可执行代码,通常位于OnTick() 或OnTimer() 中,应该放在OnChartEvent() 中,以使你的方案在多货币模式下工作,无论是实时还是测试器。
最好是以单独的程序和函数的形式实现所有需要的功能(我推荐后者),然后从专家顾问的任何地方调用它。
如果你使用OOP,所有需要的功能都可以作为主类(通常是专家类的后裔)的一组方法来实现。
最好将所有必要的功能作为独立的程序和函数来实现(我推荐后者),然后从专家顾问的任何地方调用它。
如果你使用OOP,你可以将所有必要的功能作为主类(通常是专家顾问类的后裔)的几个方法集来实现。
目前,所有功能几乎都是以这种方式实现的。几乎。也就是说,整个代码是几个包含基本计算的函数。我还没有完全掌握OOP,但我已经可以看到使用OOP的利润。代码在一天天增长,很快就会在没有OOP的情况下使用它,这将是非常不方便的。
我已经创建了一个单独的主题,在那里我给你提供了各种多货币测试方法的结果:多货币专家顾问测试结果。在这个问题上,仍有许多事情对我来说是不清楚的。
为什么我的报价没有加载?例如,在欧元兑美元上,他们只加载到该年的8月。这就是全部。他们不想再装下去了。有没有其他地方可以让我找到带引号的文件?
我已将条形图的数量 设置为无限。我刷新了好几次。我按了几次HOME键。它仍然不工作。
还有,所有MT5文件及其细节的 "公布的完整清单 "在哪里。
今天刚从猴面包上下来,抱歉。
一个多时空的分形指标。
该指标的本质是在另一个时间框架上显示一个(或同时显示几个)时间框架的分形。文章来源:https://www.mql5.com/ru/code/7304, MQL4中的指标代码
首先,我试着从.mq4-版本中复制和粘贴,并为.mq5做了一些微小的修正(我甚至没有引用这段代码--当我发现在MQL4源代码中不小心操作了像High[shift+i]这样的数组后,问题就发生了。
我试着在MQL5中重写它(在OnCalculate之外没有这种数组的默认可见性)。
然后我试着为MQL5重写,用不同的参数PERIOD_....调用几个iFractals处理。结果,分形就散开了,尽管有时只有TF上与之对应的单一系列的分形箭头可以充分拟合。值得注意的是,当我从其他不同的时间段回到终端的同一时间段时,分形出现的情况不同,这表明:这个陌生的指标在终端的数据以一种难以理解的方式徘徊,尽管我一直认为相同的错误画面应该稳定地重复。当然,第二个变体甚至不包含bool Fractal(string F,int Per,int shift) {...},我想把这个问题交给有经验的指标开发者。
这是我设法画的东西。
很明显,它在OnCalculate以及bool类型的外部函数中缺少一些条件检查,或者我根本没有正确使用我的代码中已有的东西。另外,也许数组需要在正确的地方正确初始化,并设置为时间序列?