初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1240 1...123312341235123612371238123912401241124212431244124512461247...1503 新评论 Vladimir M. 2020.08.12 12:59 #12391 如何增加测试器中可优化的参数数量?也许在MQL中有一些虚拟的方法,也许在Python或其他地方?请给我一些方向... [删除] 2020.08.12 14:40 #12392 Vladimir M.: 如何增加测试器中优化参数的数量?也许在MQL中有一些虚拟的方法,也许在Python或其他地方?请给我一些指点,... OnTester() [删除] 2020.08.12 14:56 #12393 Vladimir Karputov:从参考文献中举个例子吧!有多少次?如果你不太理解它们的含义,就不要使用你自己编造的结构。使用标准结构--弄清楚它们是如何工作的。之后,把你自己的构造扔进垃圾桶。并使用 "MQL向导 "生成一个模板。编码和结果 弗拉基米尔,我有种感觉,他们正试图在一个哑巴和一个聋子之间交谈。 我使用了'MQL Wizard' 模板。 你为什么要纠缠于我的构造?它们不比你的差,特别是对我的需求来说!"。 if(rates_total - prev_calculated > 1) 当我运行指标 rates_total = ХХХ(假设ХХХ = 1000),prev_calculated = 0时, rates_total - prev_calculated (1000 - 0 = 1000) 大于1!这个条件起作用了! 下一页 if(prev_calculated == 0) 当你启动指标时,prev_calculated = 0。这个条件起作用了! 然后给我解释一下你的有什么不同 Buffer1[i]=open[i]; Buffer2[i]=high[i]; Buffer3[i]=low[i]; Buffer4[i]=close[i]; 来自我的 barsBuffer1[0] = newCandles_Open[i]; barsBuffer2[0] = newCandles_High[i]; barsBuffer3[0] = newCandles_Low[i]; barsBuffer4[0] = newCandles_Close[i]; 考虑到我的ArraySetAsSeries 被设置为真? 为什么你的烛台被渲染了,而我的却没有? 我一直在要求你向我解释,现在已经有近2个星期了!没有必要让我去阅读文件!这是我的工作。我几乎对它了如指掌。只要告诉我为什么?要么解释,要么告诉我你不知道,要么告诉我你不想回答! 哦,伙计,你忘了这个主题的标题了吗? Valeriy Yastremskiy 2020.08.12 15:06 #12394 Сергей Таболин: 这个怎么样?你在缓冲区内把所有的索引都分配给了一个零索引。 barsBuffer1[i] = newCandles_Open[i]; barsBuffer2[i] = newCandles_High[i]; barsBuffer3[i] = newCandles_Low[i]; barsBuffer4[i] = newCandles_Close[i]; Vladimir Karputov 2020.08.12 16:07 #12395 Сергей Таболин: 这就是我想教你的:我一直在给你举例,但你一直在用头撞墙。 最后一次:把你的设计扔进垃圾桶,使用标准的设计。然后你可以问:如何根据你的规则画出(比如说,图表上最右边的五个蜡烛图)。但是,在你毁掉你的结构之前,在你停止使用前缀增量而不是后缀增 量之前...。 Vladimir Karputov 2020.08.12 17:06 #12396 Сергей Таболин: 例子 //+------------------------------------------------------------------+ //| Draw Candles.mq5 | //| Copyright 2020, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property indicator_separate_window #property indicator_buffers 4 #property indicator_plots 1 //--- plot USDJPY #property indicator_label1 "USDJPY" #property indicator_type1 DRAW_CANDLES #property indicator_color1 clrRed #property indicator_style1 STYLE_SOLID #property indicator_width1 1 //--- input parameters input int Input1=9; //--- indicator buffers double Buffer1[]; double Buffer2[]; double Buffer3[]; double Buffer4[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping SetIndexBuffer(0,Buffer1,INDICATOR_DATA); SetIndexBuffer(1,Buffer2,INDICATOR_DATA); SetIndexBuffer(2,Buffer3,INDICATOR_DATA); SetIndexBuffer(3,Buffer4,INDICATOR_DATA); //--- the 0 (empty) value will mot participate in drawing PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0.0); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ 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[]) { if(rates_total<10) return(0); //--- int limit=prev_calculated-5; if(prev_calculated==0) { limit=rates_total-5; for(int j=0; j<limit; j++) { Buffer1[j]=0.0; Buffer2[j]=0.0; Buffer3[j]=0.0; Buffer4[j]=0.0; } } for(int i=limit; i<rates_total; i++) { if(i<rates_total-5) { //--- затираем всё, что левее пяти свеч (сюда попадаем при рождении нового бара) Buffer1[i]=0.0; Buffer2[i]=0.0; Buffer3[i]=0.0; Buffer4[i]=0.0; continue; } //--- четыре левые свечи будут перерисовываться на каждом тике - это не оптимально, //--- но пригодится в будущем (если для них потом подсовывать тики) //--- пятая свеча (она же самая правая на графике) реагирует онлайн на изменение текущих цен Buffer1[i]=open[i]; Buffer2[i]=high[i]; Buffer3[i]=low[i]; Buffer4[i]=close[i]; } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ 结果。 附加的文件: Draw_Candles.mq5 7 kb Alexey Viktorov 2020.08.12 17:27 #12397 Vladimir Karputov:这就是我想教你的:我一直在给你举例,但你一直在用头撞墙。最后一次:把你的设计扔进垃圾桶,使用标准的设计。然后你可以问:如何根据你的规则画出(比如说,图表上最右边的五个蜡烛图)。但在你抛弃你的结构之前,在你停止使用前缀增量而不是后缀增量 之前......。 你对它有什么异议?因为你不了解它?我经常使用这个循环,例如 for(int i PositionsTotal(); i-- > 0) 而且完全没有问题......... Vladimir Karputov 2020.08.12 17:40 #12398 Alexey Viktorov:你不喜欢他什么呢?因为你不了解它?例如,我就经常使用这种循环for(int i PositionsTotal(); i-- > 0)而且完全没有问题......... 试着读一读,而不是急于回应,如何呢?你使用(像大多数)postfix。而你的例子是后缀的。你不应该急于回答而不是思考。 Aleksey Vyazmikin 2020.08.13 21:31 #12399 Youri Lazurenko: CPU负载为100%,工作几分钟后电脑就崩溃了(处理器phenom II x4 955(4核,3.2 GHz),冷却器是备用的)。两次之后,我决定不再冒任何风险。这应该如何解释呢? 用Aida64或Linx检查你的电脑--如果CPU和内存测试没有问题,温度也在正常范围内,那么就检查硬盘。一般来说,它看起来像电源,如果它已经很久没有更换过了,很可能是问题所在。终端在第二个表象上工作正常。 Mihail Marchukajtes 2020.08.13 23:52 #12400 下午好,同事们,你们知道是否有这样一个符号,在一个球里有一个横向的破折号,我找不到它 :-( 1...123312341235123612371238123912401241124212431244124512461247...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如何增加测试器中优化参数的数量?也许在MQL中有一些虚拟的方法,也许在Python或其他地方?请给我一些指点,...
OnTester()
从参考文献中举个例子吧!有多少次?如果你不太理解它们的含义,就不要使用你自己编造的结构。使用标准结构--弄清楚它们是如何工作的。之后,把你自己的构造扔进垃圾桶。
并使用 "MQL向导 "生成一个模板。
编码
和结果
弗拉基米尔,我有种感觉,他们正试图在一个哑巴和一个聋子之间交谈。
当我运行指标 rates_total = ХХХ(假设ХХХ = 1000),prev_calculated = 0时, rates_total - prev_calculated (1000 - 0 = 1000) 大于1!这个条件起作用了!
下一页
当你启动指标时,prev_calculated = 0。这个条件起作用了!
然后给我解释一下你的有什么不同
来自我的
考虑到我的ArraySetAsSeries 被设置为真?
为什么你的烛台被渲染了,而我的却没有?
我一直在要求你向我解释,现在已经有近2个星期了!没有必要让我去阅读文件!这是我的工作。我几乎对它了如指掌。只要告诉我为什么?要么解释,要么告诉我你不知道,要么告诉我你不想回答!
哦,伙计,你忘了这个主题的标题了吗?
这个怎么样?你在缓冲区内把所有的索引都分配给了一个零索引。
这就是我想教你的:我一直在给你举例,但你一直在用头撞墙。
最后一次:把你的设计扔进垃圾桶,使用标准的设计。然后你可以问:如何根据你的规则画出(比如说,图表上最右边的五个蜡烛图)。但是,在你毁掉你的结构之前,在你停止使用前缀增量而不是后缀增 量之前...。
例子
结果。
这就是我想教你的:我一直在给你举例,但你一直在用头撞墙。
最后一次:把你的设计扔进垃圾桶,使用标准的设计。然后你可以问:如何根据你的规则画出(比如说,图表上最右边的五个蜡烛图)。但在你抛弃你的结构之前,在你停止使用前缀增量而不是后缀增量 之前......。
你对它有什么异议?因为你不了解它?我经常使用这个循环,例如
而且完全没有问题.........
你不喜欢他什么呢?因为你不了解它?例如,我就经常使用这种循环
而且完全没有问题.........
试着读一读,而不是急于回应,如何呢?你使用(像大多数)postfix。而你的例子是后缀的。你不应该急于回答而不是思考。
CPU负载为100%,工作几分钟后电脑就崩溃了(处理器phenom II x4 955(4核,3.2 GHz),冷却器是备用的)。两次之后,我决定不再冒任何风险。这应该如何解释呢?
用Aida64或Linx检查你的电脑--如果CPU和内存测试没有问题,温度也在正常范围内,那么就检查硬盘。一般来说,它看起来像电源,如果它已经很久没有更换过了,很可能是问题所在。终端在第二个表象上工作正常。