新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1683 1...167616771678167916801681168216831684168516861687168816891690...1953 新评论 Aleksei Stepanenko 2021.10.19 08:05 #16821 是的,当然了。首先:0,最后:OrdersTotal()-1 Valeriy Yastremskiy 2021.10.19 08:13 #16822 Aleksei Stepanenko #: 是的,当然了。首先:0,最后:OrdersTotal()-1 啊,有一个阵列,真的是从头开始...... Andrey Kipyatkov 2021.10.19 08:29 #16823 #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 Blue #property indicator_color2 Red extern int RSIPERIOD=3; extern double KOEFF1=2.5; extern double KOEFF2=1.86; double mass0[],Buf1[],Buf2[]; double D10,D11,D12; int init() { IndicatorDigits(0); string short_name="RSITEST"; IndicatorShortName("RSITEST"); D10=RSIPERIOD;D11=D10*KOEFF1;D12=D11*KOEFF2;; SetIndexBuffer(0,mass0); SetIndexLabel (0,"Stoch "+Ds_0(D10)+")\n"); SetIndexBuffer(1,Buf1); SetIndexLabel (1,"Stoch ("+Ds_0(D11)+")\n"); SetIndexBuffer(2,Buf2); SetIndexLabel (2,"Stoch ("+Ds_0(D12)+")\n"); return(0); } int start() { if(Bars<=RSIPERIOD) return(0); int ExtCountedBars=IndicatorCounted(); if (ExtCountedBars<0) return(-1); if (ExtCountedBars>0) ExtCountedBars--; for(int i=0;i<Bars-RSIPERIOD;i++) { mass0[i] = iRSI(NULL,0,D10,0,i); if(iRSI(NULL,0,D11,0,i)>iRSI(NULL,0,D12,0,i)) Buf1[i] = Buf2[i]; Buf1[i] = DRAW_LINE; Buf2[i] = EMPTY_VALUE; } return(0); } string Ds_0(double DOUBLE) {return(DoubleToStr(DOUBLE,0));} MakarFX #: 在你的案例中,它只算出了3条线中的2条,我根据手头的任务对它进行了调整,结果发现第一条线保持(因为它应该),另外两条线(红色和蓝色)的水平符合给定的条件(而不是红色和蓝色线是一条线 - 它是红色的,如果RSI2>RSI3,如果RSI2<RSI3,则为蓝色)变得笔直,只有红色,好像它不知道自己是RSI,我附上一张屏幕截图。 附加的文件: Screenshot_2.png 99 kb Tretyakov Rostyslav 2021.10.19 08:53 #16824 Andrey Kipyatkov #: 在你的案例中,事实证明,3条线中只有2条,我根据问题进行了调整,事实证明,第一条线保持(因为它应该),其他两条线(红色和蓝色)与给定的条件持平(而不是红色和蓝色线是一条线 - 它是红色,如果RSI2>RSI3,如果RSI2<RSI3,则为蓝色)变得笔直,只有红色,好像它不知道自己是RSI ,我附上一张屏幕截图。 你如何平衡Buf1和Buf2? 在你的情况下,他们是0! Tretyakov Rostyslav 2021.10.19 08:58 #16825 Andrey Kipyatkov #: 在你的案例中,它只算出了3条线中的2条,我根据手头的任务对它进行了调整,结果发现第一条线保持(因为它应该),另外两条线(红色和蓝色)的水平符合给定的条件(而不是红色和蓝色线是一条线 - 它是红色的,如果RSI2>RSI3,如果RSI2<RSI3,则为蓝色)变得笔直,只有红色,好像它不知道自己是RSI ,我附上一张屏幕截图。 附加的文件: RSITEST-1.mq4 4 kb Daniil Osipov 2021.10.19 09:03 #16826 大家好,请告诉我,交易机器人和专家顾问之间的区别是什么? Tretyakov Rostyslav 2021.10.19 09:07 #16827 Daniil Osipov #: 大家好,请告诉我交易机器人和交易顾问的区别? 这是同一件事...文字游戏 Andrey Kipyatkov 2021.10.19 09:16 #16828 MakarFX #: 谢谢你帮忙写代码,但如果不难的话,我想了解一下这个问题。当你把所有的东西都写在一行中时,你: Buf0[i] = iRSI(NULL,0,D10,0,i); - 你在这个字符串中指定零数组是一个具有上述参数的rsy线 如果(iRSI(NULL,0,D11,0,i)>iRSI(NULL,0,D12,0,i)),那么你是说,参数为D11 的Rsai >D12 Buf1[i] = Buf0[i]; 然后你用参数D11和D10 匹配(在另一行上叠加)psi 否则 Buf1[i] = EMPTY_VALUE; 然后你告诉它不要 用参数D11渲染 xy。 但当你处理3条线时 Buf0[i] = iRSI(NULL,0,D10,0,i); 你说如何画1 条线 ? Buf1[i] = (iRSI(NULL,0,D11,0,i)+iRSI(NULL,0,D12,0,i))/2; 接下来是加法和除以22和3--这个动作我不是很清楚,因为之前你是把数组等同起来,把一行叠加在另一行上,为什么要用这种语法? 如果(iRSI(NULL,0,D11,0,i)>iRSI(NULL,0,D12,0,i)),那么你就重复这个例子。你说D11>D12 Buf2[i] = Buf1[i]; 你把第3 行 和第2 行 等价 。 else Buf2[i] = EMPTY_VALUE; 你告诉它不要画第二行 。我正确理解了你如何 "参数化 "语言,以及你为什么在第二种情况下添加数组并除以2 Aleksei Stepanenko 2021.10.19 09:16 #16829 MakarFX #: 这是同一件事......文字游戏 Vitaly Muzichenko#: 一个文字游戏。 从下一个分支。没有勾结... Tretyakov Rostyslav 2021.10.19 09:28 #16830 Andrey Kipyatkov #:我感谢你对代码的帮助,但如果不是太麻烦,我想了解它的要点。当你把所有的东西都写在一行中时,你: 安德鲁,让我们首先定义你在第一篇帖子 中的条件 我想澄清是否有办法在代码中规定,而不是红线和蓝线(图片中的RSI2和RSI3(也附在后面),分别是一条线--如果RSI2>RSI3 是红色,如果RSI2<RSI3 是蓝色 因此,代替红色和蓝色的线--我们得到这些线的平均值,即 Buf1[i] = (iRSI(NULL,0,D11,0,i)+iRSI(NULL,0,D12,0,i))/2; 而这一行,默认是红色的。 此外,当条件得到满足时 if(iRSI(NULL,0,D11,0,i)>iRSI(NULL,0,D12,0,i)) 我们不改变线的颜色,因为在MT4中无法做到这一点。 我们用另一种颜色覆盖另一条线 Buf2[i] = Buf1[i]; 1...167616771678167916801681168216831684168516861687168816891690...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
是的,当然了。首先:0,最后:OrdersTotal()-1
啊,有一个阵列,真的是从头开始......
,我附上一张屏幕截图。
在你的案例中,事实证明,3条线中只有2条,我根据问题进行了调整,事实证明,第一条线保持(因为它应该),其他两条线(红色和蓝色)与给定的条件持平(而不是红色和蓝色线是一条线 - 它是红色,如果RSI2>RSI3,如果RSI2<RSI3,则为蓝色)变得笔直,只有红色,好像它不知道自己是RSI ,我附上一张屏幕截图。
你如何平衡Buf1和Buf2?
在你的情况下,他们是0!
在你的案例中,它只算出了3条线中的2条,我根据手头的任务对它进行了调整,结果发现第一条线保持(因为它应该),另外两条线(红色和蓝色)的水平符合给定的条件(而不是红色和蓝色线是一条线 - 它是红色的,如果RSI2>RSI3,如果RSI2<RSI3,则为蓝色)变得笔直,只有红色,好像它不知道自己是RSI ,我附上一张屏幕截图。
大家好,请告诉我交易机器人和交易顾问的区别?
但当你处理3条线时
。我正确理解了你如何 "参数化 "语言,以及你为什么在第二种情况下添加数组并除以2
这是同一件事......文字游戏
一个文字游戏。
从下一个分支。没有勾结...
安德鲁,让我们首先定义你在第一篇帖子 中的条件
因此,代替红色和蓝色的线--我们得到这些线的平均值,即
而这一行,默认是红色的。
此外,当条件得到满足时
我们不改变线的颜色,因为在MT4中无法做到这一点。
我们用另一种颜色覆盖另一条线