新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1897 1...189018911892189318941895189618971898189919001901190219031904...1953 新评论 Tretyakov Rostyslav 2022.02.13 14:50 #18961 EVGENII SHELIPOV #:下午好。我是以日分形的数值或垂直线的形式来显示的。该行不显示,数值为0。这里有一段代码 请告诉我什么是错的。 因为数值为0.分形是在n个烛台之后形成的。 Valeriy Yastremskiy 2022.02.13 14:55 #18962 Vitaly Muzichenko #:阵列为所有可用的历史,我不需要这个。我简直需要50-100条。像这样。 该指标的意义何在?当然,如果这不是一个秘密的话)问题出在时间显示上。也就是说,这不是真正的打勾时间,而是数字时间。每个数字都在自己的TF条上。 Vitaly Muzichenko 2022.02.13 15:03 #18963 Valeriy Yastremskiy #:该指标的意义何在?当然,如果这不是什么秘密的话)那里的问题当然是时间显示。也就是说,这不是真正的滴答声,而是编号的时间。每个数字都在自己的TF条上。 关键是,要在开放的图表上看到最后的刻度线 :) P.S. * 改变卖价和买价 如市场观察 EVGENII SHELIPOV 2022.02.13 15:07 #18964 Tretyakov Rostyslav #:因为数值为0.一个分形是在n个蜡烛之后形成的。 如果没有新的极值,并且在三条杠之后,这些极值是0、1、2,则形成分形。 double FractalDayUpper = iFractals(Symbol(), PERIOD_D1, MODE_UPPER, 2); ObjectCreate("signal00",OBJ_LABEL,0,0,0,0,0); ObjectSet("signal00",OBJPROP_XDISTANCE,600); ObjectSet("signal00",OBJPROP_YDISTANCE,100); 什么都没有改变。 或者又出了什么问题。 Mihail Matkovskij 2022.02.13 15:24 #18965 Vitaly Muzichenko #:我做到了,它是有效的。---直觉告诉我,你可以不做循环。这是真的吗? 据我所知,MQL中似乎没有移位功能。因此,只有在循环的帮助下才能完成转变。为什么它不适合你? P.S. 关于额外的阵列,没有必要。你正确地进行了移位,并将出价值直接写在了缓冲区内! Mihail Matkovskij 2022.02.13 15:32 #18966 EVGENII SHELIPOV #:下午好。我是以日分形的数值或垂直线的形式来显示的。该行不显示,数值为0。这里有一段代码 请告诉我什么是错的。 为什么你肯定零条上的分形一定是非零的?什么时候,它不会是0,只有当它在那里的时候! Tretyakov Rostyslav#: 因为数值是0,分形是在n个蜡烛之后形成的。 而且这种情况也远非总是 发生。只有在第n条是分形的情况下! Valeriy Yastremskiy 2022.02.13 15:37 #18967 Vitaly Muzichenko #:意思是说,要在一个开放的图表上看到最后的刻度线 :)P.S. * 改变卖价和买价如市场观察 我在想速度措施)))) Artyom Trishkin 2022.02.13 15:39 #18968 Vitaly Muzichenko #:意思是说,要在一个开放的图表上看到最后的刻度线 :)P.S. * 改变卖价和买价如市场观察 ArrayCopy() 有什么问题? Документация по MQL5: Операции с массивами / ArrayCopy www.mql5.com ArrayCopy - Операции с массивами - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Mihail Matkovskij 2022.02.13 15:46 #18969 Artyom Trishkin #: ArrayCopy() 不是一个好的解决方案? ArrayCopy,这是用于从一个数组复制到另一个数组。而在这里,你需要在添加每个勾之前转移数值。因此,它只能通过使用一个循环来解决。 Vitaly Muzichenko 2022.02.13 15:53 #18970 Artyom Trishkin #: ArrayCopy() 不适合你? 如何使用这个,你能告诉我吗? 任务是这样的。 关于交易、自动交易系统和策略测试的论坛 新手对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 Vitaly Muzichenko, 2022.02.13 15:42 我不需要一个数组来记录整个可用的历史。 我真的需要50-100条 像这样 下面是准备好的代码,但循环有点吓人 #property indicator_separate_window #property indicator_buffers 2 #property indicator_plots 2 #property indicator_type1 DRAW_LINE #property indicator_color1 clrDodgerBlue #property indicator_label1 "Bid" #property indicator_type2 DRAW_LINE #property indicator_color2 clrRed #property indicator_label2 "Ask" double Buffer1[]; double Buffer2[]; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnInit() { SetIndexBuffer(0,Buffer1); ArraySetAsSeries(Buffer1,true); SetIndexBuffer(1,Buffer2); ArraySetAsSeries(Buffer2,true); ArrayInitialize(Buffer1,EMPTY_VALUE); ArrayInitialize(Buffer2,EMPTY_VALUE); IndicatorSetInteger(INDICATOR_DIGITS,Digits()); IndicatorSetString(INDICATOR_SHORTNAME,"Tick:"); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ 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 H=100; if(prev_calculated==0) { ArrayInitialize(Buffer1,EMPTY_VALUE); ArrayInitialize(Buffer2,EMPTY_VALUE); } if(rates_total-prev_calculated==1) { Buffer1[H+1]=EMPTY_VALUE; Buffer2[H+1]=EMPTY_VALUE; } double b=SymbolInfoDouble(Symbol(),SYMBOL_BID); double a=SymbolInfoDouble(Symbol(),SYMBOL_ASK); Buffer1[0]=b; Buffer2[0]=a; for(int j=H; j>0; j--) { Buffer1[j]=Buffer1[j-1]; Buffer2[j]=Buffer2[j-1]; } return(rates_total); } //+------------------------------------------------------------------+ --- 同样,ArrayCopy() 里面有一个循环,可能不止一个。因此,由于这种替换,代码很难变得更轻更快。 1...189018911892189318941895189618971898189919001901190219031904...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
下午好。
我是以日分形的数值或垂直线的形式来显示的。该行不显示,数值为0。
这里有一段代码
请告诉我什么是错的。
因为数值为0.分形是在n个烛台之后形成的。
阵列为所有可用的历史,我不需要这个。
我简直需要50-100条。
像这样。
该指标的意义何在?当然,如果这不是一个秘密的话)问题出在时间显示上。也就是说,这不是真正的打勾时间,而是数字时间。每个数字都在自己的TF条上。
该指标的意义何在?当然,如果这不是什么秘密的话)那里的问题当然是时间显示。也就是说,这不是真正的滴答声,而是编号的时间。每个数字都在自己的TF条上。
关键是,要在开放的图表上看到最后的刻度线 :)
P.S. * 改变卖价和买价
如市场观察
因为数值为0.一个分形是在n个蜡烛之后形成的。
如果没有新的极值,并且在三条杠之后,这些极值是0、1、2,则形成分形。
什么都没有改变。
或者又出了什么问题。
我做到了,它是有效的。
---
直觉告诉我,你可以不做循环。
这是真的吗?
据我所知,MQL中似乎没有移位功能。因此,只有在循环的帮助下才能完成转变。为什么它不适合你?
P.S. 关于额外的阵列,没有必要。你正确地进行了移位,并将出价值直接写在了缓冲区内!
下午好。
我是以日分形的数值或垂直线的形式来显示的。该行不显示,数值为0。
这里有一段代码
请告诉我什么是错的。
为什么你肯定零条上的分形一定是非零的?什么时候,它不会是0,只有当它在那里的时候!
因为数值是0,分形是在n个蜡烛之后形成的。
而且这种情况也远非总是 发生。只有在第n条是分形的情况下!
意思是说,要在一个开放的图表上看到最后的刻度线 :)
P.S. * 改变卖价和买价
如市场观察
我在想速度措施))))
意思是说,要在一个开放的图表上看到最后的刻度线 :)
P.S. * 改变卖价和买价
如市场观察
ArrayCopy() 不是一个好的解决方案?
ArrayCopy,这是用于从一个数组复制到另一个数组。而在这里,你需要在添加每个勾之前转移数值。因此,它只能通过使用一个循环来解决。
ArrayCopy() 不适合你?
如何使用这个,你能告诉我吗?
任务是这样的。
关于交易、自动交易系统和策略测试的论坛
新手对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论
Vitaly Muzichenko, 2022.02.13 15:42
我不需要一个数组来记录整个可用的历史。
我真的需要50-100条
像这样
下面是准备好的代码,但循环有点吓人
---
同样,ArrayCopy() 里面有一个循环,可能不止一个。因此,由于这种替换,代码很难变得更轻更快。