初学者的问题 MQL5 MT5 MetaTrader 5 - 页 874 1...867868869870871872873874875876877878879880881...1503 新评论 Ivan Ontuzhev 2018.05.30 15:12 #8731 你好,请教一下,在下面的代码中,如果没有循环块(在CopyByffer之后),指标正常运行,但如果包括一个循环,比较一个蜡烛的价格和其中一个柱子的价格,开始后的柱子本身不显示,可能是什么问题? #property indicator_chart_window #property indicator_buffers 3 #property indicator_plots 3 #property indicator_type1 DRAW_LINE #property indicator_color1 Olive #property indicator_type2 DRAW_LINE #property indicator_color2 Green #property indicator_type3 DRAW_LINE #property indicator_color3 Olive input int peroid = 20; // период полос 1 input int bands_shift= 0; // смещение полос 1 input double deviation = 2.3; // отклонение полос 1 input ENUM_APPLIED_PRICE applied_price=PRICE_CLOSE; // тип цены double Base[]; // массив для BASE_LINE индикатора iBands double Upper[]; // массив для UPPER_BAND индикатора iBands double Lower[]; // массив для LOWER_BAND индикатора iBands int iBands1_handle; //Указатель на первый индикатор int iBands2_handle; //Указатель на первый индикатор int g_i_Window; int OnInit() { g_i_Window=ChartWindowFind(); SetIndexBuffer(0,Base,INDICATOR_DATA); SetIndexBuffer(1,Upper,INDICATOR_DATA); SetIndexBuffer(2,Lower,INDICATOR_DATA); iBands1_handle=iBands(NULL,PERIOD_CURRENT,peroid,bands_shift,deviation,applied_price); if(iBands1_handle==INVALID_HANDLE){ Alert("Неудалось загрузить индикатор, повторите попытку"); return(-1); } return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate (const int rates_total, // размер входных таймсерий const int prev_calculated, // обработано баров на предыдущем вызове const datetime& time[], // Time const double& open[], // Open const double& high[], // High const double& low[], // Low const double& close[], // Close const long& tick_volume[], // Tick Volume const long& volume[], // Real Volume const int& spread[]) // Spread { int i; int shift = 0; int shift1; int shift2; int shift3; string alert; double O, O1, O2, C, C1, C2, L, L1, L2, H, H1, H2; shift1 = shift; shift2 = shift + 1; shift3 = shift + 2; O = open[shift1]; O1 = open[shift2]; O2 = open[shift3]; H = high[shift1]; H1 = high[shift2]; H2 = high[shift3]; L = low[shift1]; L1 = low[shift2]; L2 = low[shift3];; C = close[shift1]; C1 = close[shift2]; C2 = close[shift3]; i = (prev_calculated==0)?1: prev_calculated; i = (prev_calculated==rates_total)?rates_total-1: i; CopyBuffer(iBands1_handle,0,0,rates_total-1,Base); CopyBuffer(iBands1_handle,1,0,rates_total-1,Upper); CopyBuffer(iBands1_handle,2,0,rates_total-1,Lower); for (i = i; i < rates_total; i++) { if(H > L && O > Lower[i]) { int time_waiting = (int)TimeLocal() + 1; while(TimeLocal() < time_waiting){} Comment("True"); return(0); } else Comment("False"); } if (prev_calculated==0) ChartRedraw(); return(rates_total); } 结果。 Alexey Viktorov 2018.05.30 16:57 #8732 Aleksey Vyazmikin:你不可以。 关于交易、自动交易系统和交易策略测试的论坛 虫子,虫子,问题 Alexey Viktorov, 2018.05.30 15:53 嗯,不完全是动态的,但一旦通过重新初始化,你可以。我做到了。 Andrii Djola 2018.05.30 17:16 #8733 Alexey Viktorov: 如果你能详细说明,请描述 Alexey Viktorov 2018.05.30 17:28 #8734 Andrii Djola:如果你能更具体一点详细到什么程度? 在一种情况下,我需要制作彩色棒或彩色烛台。它们使用4个值缓冲器 和1个颜色缓冲器。另一个,我需要显示一条彩色的线,其中有一个值缓冲区和一个颜色缓冲区。 调用和改变指标属性会导致指标的初始化。相应地,如果设置包含条形或烛台,那么初始化的一个选项。如果该行,则另一个选项的初始化。 不可能在指标中间改变缓冲区的数量,这就是阿列克谢-维亚兹米金所说的,而不知道其他选项。 Aleksey Vyazmikin 2018.05.30 17:56 #8735 Alexey Viktorov:还有多少细节? 在一种情况下,我需要制作彩色棒或彩色烛台。它们使用4个值缓冲器 和1个颜色缓冲器。另外,我需要显示一条彩色的线,其中有1个值缓冲区和1个颜色缓冲区。 调用和改变指标属性会导致指标的初始化。相应地,如果设置包含条形或烛台,那么初始化的一个选项。如果是一行,则是另一个初始化选项。 不可能在指标中间改变缓冲区的数量,这就是阿列克谢-维亚兹米金所说的,而不知道其他选择。如果你决定用俄语写我的姓,听起来像维亚兹米金。 关于我的怀疑--我认为所提出的问题的答案是正确的。没有对需求的解释,就没有必要说其他。重新初始化是对程序的重新启动,很明显,你可以改变设置中的任何东西。 Alexey Viktorov 2018.05.31 05:26 #8736 Aleksey Vyazmikin:如果你选择用俄语书写我的姓氏,听起来就像维亚兹米金。 关于我的怀疑--我相信对所提问题的回答是正确的。没有对需求的解释,就没有必要说其他。重新初始化是对程序的重新启动,很明显,你可以改变设置中的任何东西。没有软体标志就那么得罪人吗? 我有没有谈及不正确,在我看来,我强调的正是答案的正确性。 Vladimir Bednyakov 2018.05.31 10:41 #8737 alph: 你能告诉我这是否是一个现实的试验品数字?存款3000美元,一年的结果是好是坏? 真正的。 Aleksey Vyazmikin 2018.05.31 12:07 #8738 Alexey Viktorov:没有软体标志就那么得罪人吗?我的动力是启蒙,而不是冒犯。我为什么会被冒犯,难道你会拼写,想冒犯我?我甚至没有考虑过这个选项,难道是白费力气? Alexey Viktorov 2018.05.31 13:26 #8739 Aleksey Vyazmikin:我的动机是启蒙,而不是怨恨。我为什么要被冒犯,难道你知道如何正确书写,想冒犯我?我甚至没有考虑过这个选项,难道是白费力气?和平、友谊、口香糖。 Artyom Trishkin 2018.05.31 15:29 #8740 Alexey Viktorov:和平、友谊、口香糖。那半升的呢? 1...867868869870871872873874875876877878879880881...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好,请教一下,在下面的代码中,如果没有循环块(在CopyByffer之后),指标正常运行,但如果包括一个循环,比较一个蜡烛的价格和其中一个柱子的价格,开始后的柱子本身不显示,可能是什么问题?
结果。
你不可以。
关于交易、自动交易系统和交易策略测试的论坛
虫子,虫子,问题
Alexey Viktorov, 2018.05.30 15:53
嗯,不完全是动态的,但一旦通过重新初始化,你可以。我做到了。
如果你能详细说明,请描述
如果你能更具体一点
详细到什么程度?
在一种情况下,我需要制作彩色棒或彩色烛台。它们使用4个值缓冲器 和1个颜色缓冲器。另一个,我需要显示一条彩色的线,其中有一个值缓冲区和一个颜色缓冲区。
调用和改变指标属性会导致指标的初始化。相应地,如果设置包含条形或烛台,那么初始化的一个选项。如果该行,则另一个选项的初始化。
不可能在指标中间改变缓冲区的数量,这就是阿列克谢-维亚兹米金所说的,而不知道其他选项。
还有多少细节?
在一种情况下,我需要制作彩色棒或彩色烛台。它们使用4个值缓冲器 和1个颜色缓冲器。另外,我需要显示一条彩色的线,其中有1个值缓冲区和1个颜色缓冲区。
调用和改变指标属性会导致指标的初始化。相应地,如果设置包含条形或烛台,那么初始化的一个选项。如果是一行,则是另一个初始化选项。
不可能在指标中间改变缓冲区的数量,这就是阿列克谢-维亚兹米金所说的,而不知道其他选择。
如果你决定用俄语写我的姓,听起来像维亚兹米金。
关于我的怀疑--我认为所提出的问题的答案是正确的。没有对需求的解释,就没有必要说其他。重新初始化是对程序的重新启动,很明显,你可以改变设置中的任何东西。
如果你选择用俄语书写我的姓氏,听起来就像维亚兹米金。
关于我的怀疑--我相信对所提问题的回答是正确的。没有对需求的解释,就没有必要说其他。重新初始化是对程序的重新启动,很明显,你可以改变设置中的任何东西。
没有软体标志就那么得罪人吗?
我有没有谈及不正确,在我看来,我强调的正是答案的正确性。
你能告诉我这是否是一个现实的试验品数字?存款3000美元,一年的结果是好是坏?
没有软体标志就那么得罪人吗?
我的动力是启蒙,而不是冒犯。我为什么会被冒犯,难道你会拼写,想冒犯我?我甚至没有考虑过这个选项,难道是白费力气?
我的动机是启蒙,而不是怨恨。我为什么要被冒犯,难道你知道如何正确书写,想冒犯我?我甚至没有考虑过这个选项,难道是白费力气?
和平、友谊、口香糖。
和平、友谊、口香糖。
那半升的呢?