新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 445 1...438439440441442443444445446447448449450451452...1953 新评论 mila.com 2018.02.01 21:32 #4441 Artyom Trishkin:所以要通过第一个循环索引正确读取iCustom()。 另一个问题是,你需要从当前栏到左边的数据。这就是为什么我说--从零读到找到的那个,但不超过 rates_total-1。 当限制>1时,只读 其他时间没有新的数据,你需要的条形图的索引也不会改变。它没有,但评注中最近的箭头的条数是正确的 //+------------------------------------------------------------------+ 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<1) return(0); int limit=rates_total-prev_calculated; if(limit>1) { limit=rates_total-1; ArrayInitialize(BufferUP,EMPTY_VALUE); ArrayInitialize(BufferDN,EMPTY_VALUE); } for(int i=limit; i>=0; i--) { if(NormalizeDouble(iCustom(NULL,0,"Arrow v.3",0,i),Digits)!=EMPTY_VALUE) { num_buy=i; } // if(num_buy==10) { BufferUP[i+1]=low[i+1]-distance*MyPoint; } if(NormalizeDouble(iCustom(NULL,0,"Arrow v.3",1,i),Digits)!=EMPTY_VALUE ) { num_sell=i; } if(num_sell==10) { BufferDN[i+1]=high[i+1]+distance*MyPoint; } Comment(num_buy,"num_sell",num_sell); } //--- return value of prev_calculated for next call return(rates_total); } Artyom Trishkin 2018.02.01 21:38 #4442 mila.com:他不想这样做。 你读过我写的东西吗? 另一个问题是,你想从当前的条形图中获得数据,而不是从左边。这就是为什么我说--从零读到找到的那个,但不超过 rates_total-1。 仅在极限值>1时读取 mila.com 2018.02.01 21:42 #4443 Artyom Trishkin:你读过我写的东西吗? 另一个问题是,你需要从当前条形图到左边的数据。这就是为什么我说--从零读到找到的那一个,但不超过 rates_total-1。 仅在极限值>1时读取 我不是这样做的吗? 如果(limit>1) { limit=rates_total-1。 Artyom Trishkin 2018.02.01 21:44 #4444 mila.com:这不正是我所做的吗? 如果(limit>1) { limit=rates_total-1。这就是你接下来所做的。 for(int i=limit; i>=0; i--) 我在说什么呢? mila.com 2018.02.01 21:52 #4445 Artyom Trishkin:你接下来所做的是这样的。 我在说什么?在极限值>1时读取 for(int i=limit; i>1; i--) 我不知道怎么做才对? Artyom Trishkin 2018.02.01 21:52 #4446 mila.com:在极限值>1时读取 我不知道怎么做才对? 这就是为什么我说--从零读到找到的那一个,但不超过 rates_total-1。 mila.com 2018.02.01 21:58 #4447 Artyom Trishkin: 这就是为什么我说从零开始读,找到正确的,但不超过 rates_total-1。我告诉你,我不知道该怎么做。请给我看看)。 Artyom Trishkin 2018.02.01 22:10 #4448 mila.com:我告诉过你,我不知道该怎么做。请给我看看)。if(limit>1) { for(int i=0; i<limit; i++) { // тут поиск до нужного вам бара. Нашли - запомнили бар или поставили точку куда нужно и break; } }这个周期只去你想要的酒吧(如果找到的话),否则整个故事就会到极限。 mila.com 2018.02.01 22:45 #4449 Artyom Trishkin:这个周期将只到你想要的酒吧(如果找到的话),或者对整个故事来说,到了极限。我,相当糟糕,什么都没有显示。 //+------------------------------------------------------------------+ 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<1) return(0); int limit=rates_total-prev_calculated; if(limit>1) { limit=rates_total-1; ArrayInitialize(BufferUP,EMPTY_VALUE); ArrayInitialize(BufferDN,EMPTY_VALUE); } if(limit>1) { for(int i=0; i<limit; i++) { if(NormalizeDouble(iCustom(NULL,0,"Arrow v.3",0,i),Digits)!=EMPTY_VALUE) { num_buy=i; } // if(num_buy==10) { BufferUP[i+1]=low[i+1]-distance*MyPoint; } if(NormalizeDouble(iCustom(NULL,0,"Arrow v.3",1,i),Digits)!=EMPTY_VALUE ) { num_sell=i; } if(num_sell==10) { BufferDN[i+1]=high[i+1]+distance*MyPoint; } Comment(num_buy,"num_sell",num_sell); } } //--- return value of prev_calculated for next call return(rates_total); } Artyom Trishkin 2018.02.01 23:00 #4450 mila.com:我真的很糟糕,它没有显示任何东西。我还是不明白:你想找到并展示什么?只是在文字上--没有代码。 你在这里写。 你好,请帮助我。 我希望在任何时候都能知道指标箭头所在的条形图的编号。 在这个例子中,我试图在箭头位于第十根柱子上的情况下填充缓冲区。 因此,问题马上就来了:你为什么要在第十条上寻找它?而在一般情况下,你想在哪个酒吧?哪支箭呢?最后一个?还是最后两个--上层和下层?或者通过从右到左的数字知道所需箭头的条数? 这一点并不清楚。 并附上整个指标,而不是OnCalculate()。 1...438439440441442443444445446447448449450451452...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
所以要通过第一个循环索引正确读取iCustom()。
另一个问题是,你需要从当前栏到左边的数据。这就是为什么我说--从零读到找到的那个,但不超过 rates_total-1。
当限制>1时,只读
其他时间没有新的数据,你需要的条形图的索引也不会改变。
它没有,但评注中最近的箭头的条数是正确的
他不想这样做。
你读过我写的东西吗?
另一个问题是,你想从当前的条形图中获得数据,而不是从左边。这就是为什么我说--从零读到找到的那个,但不超过 rates_total-1。
仅在极限值>1时读取
你读过我写的东西吗?
另一个问题是,你需要从当前条形图到左边的数据。这就是为什么我说--从零读到找到的那一个,但不超过 rates_total-1。
仅在极限值>1时读取
我不是这样做的吗?
如果(limit>1)
{
limit=rates_total-1。
这不正是我所做的吗?
如果(limit>1)
{
limit=rates_total-1。
这就是你接下来所做的。
我在说什么呢?
你接下来所做的是这样的。
我在说什么?
在极限值>1时读取
我不知道怎么做才对?
在极限值>1时读取
我不知道怎么做才对?
我告诉你,我不知道该怎么做。请给我看看)。
我告诉过你,我不知道该怎么做。请给我看看)。
这个周期只去你想要的酒吧(如果找到的话),否则整个故事就会到极限。
这个周期将只到你想要的酒吧(如果找到的话),或者对整个故事来说,到了极限。
我,相当糟糕,什么都没有显示。
我真的很糟糕,它没有显示任何东西。
我还是不明白:你想找到并展示什么?只是在文字上--没有代码。
你在这里写。
你好,请帮助我。
我希望在任何时候都能知道指标箭头所在的条形图的编号。
在这个例子中,我试图在箭头位于第十根柱子上的情况下填充缓冲区。
因此,问题马上就来了:你为什么要在第十条上寻找它?而在一般情况下,你想在哪个酒吧?哪支箭呢?最后一个?还是最后两个--上层和下层?或者通过从右到左的数字知道所需箭头的条数?
这一点并不清楚。
并附上整个指标,而不是OnCalculate()。