新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 911

 
Alexandr Sokolov:

我写了100,因为我认为我需要的东西会从59开始,但6的时候也是一样的。

不,完全去除维度。让它成为MPI[];并检查它是否是正确的类型。然后从0开始循环;< ArraySize(MPI); 另外,为什么要先取不可理解的第59条?从零开始,或从第一个开始。总而言之,有很多问题。你需要做实验,检查输入和输出。调试器来拯救。

 
Alexey Viktorov:

不,完全去除维度。让它成为MPI[];并键入检查,看看是否有错。然后从0开始循环;< ArraySize(MPI); 另外,为什么要先取不可理解的第59条?从零开始,或从第一个开始。总而言之,有很多问题。你必须进行实验并检查输入和输出。调试器来拯救。

实验

 
Alexandr Sokolov:

实验

这里有一个人创造了大量的培训范例,以满足各种口味。这里有多空指标,多符号指标,以及其他各种多空指标...

你可能只是有时使用搜索--毕竟,一切都为你,论坛成员做的。查一查吧。

Scriptor
Scriptor
  • www.mql5.com
С возросшим интересом к рынку Форекс, люди часто спрашивают, что можно почитать о законах функционирования мировой валютной биржи. В связи с этим, выкладываю свой список литературы для начинающих. Дополнение приветствуется :) Форекс для начинающих - А. КуликовВ основу книги положен многолетний... Бесплатно скачать MetaTrader 5 Бесплатно...
 
Alexandr Sokolov:

实验

以 "MTF "为名进行搜索

例如,这个。

https://www.mql5.com/ru/code/24398

 
NastyaMaley:

默认情况下,GlobalVariable只能是双倍的。

如果我想得到一个没有小数部分 的近似值,这样写是否正确呢?

int close = (int)GlobalVariableGet("close");
 
Taras Slobodyanik:
谢谢你 :)
 

塔拉斯,你曾经建议我把价格标记放在图表的右边缘,通过第一个可见的柱子。

D1



除了周一的第一个小时,一切都很正常--价格向左移动,时间框架越小,越强--H6


而它最终触及了第一根柱子

H1



坐标的计算方法是这样的。

int      first_bar=(int)ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
int      width_bar=(int)ChartGetInteger(0,CHART_WIDTH_IN_BARS,0);
double   label_price=iClose(_Symbol,_Period,0);

   if(width_bar>first_bar)
      {
      label_time=iTime(_Symbol,_Period,1)+(width_bar-first_bar)*PeriodSeconds();
      Print("width_bar>first_bar");
      }
   else
      {
      label_time=iTime(_Symbol,_Period,first_bar-width_bar+20);
      Print("label_time_else");
      }


那些PeriodSeconds()并不是一个通用的解决方案,我们需要一些修正系数,而且对于每个TF来说,它们都是不同的

如何在不使用不必要的拐杖的情况下使之更简单?

 
psyman:

除了周一的第一个小时,一切都很正常--价格向左移动,TF越小,越强--H6

最后撞上了第一根柱子

int      first_bar=(int)ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
int      width_bar=(int)ChartGetInteger(0,CHART_WIDTH_IN_BARS,0);
double   label_price=iClose(_Symbol,_Period,0);

   if(width_bar>first_bar)
      {
      label_time=iTime(_Symbol,_Period,1)+(width_bar-first_bar)*PeriodSeconds();
      Print("width_bar>first_bar");
      }
   else
      {
      label_time=iTime(_Symbol,_Period,first_bar-width_bar+20);
      Print("label_time_else");
      }

为什么是1而不是0?

当然,由于是周末,有一个时间差。

 
Alexey Viktorov:

不,完全去除维度。使其成为MPI[];并检查类型。然后从0开始循环;< ArraySize(MPI); 另外,为什么要从难以理解的第59条开始?从零开始,或从第一个开始。总而言之,有很多问题。你必须进行实验并检查输入和输出。调试器来拯救。

什么是调试器?


如果我把这个词复制到MQL搜索引擎中,它不会找到任何东西,而且谷歌中的所有内容都是英文,我不会理解我在寻找什么。

 
我最近才开始使用市场深度,因为我在MT5市场深度中看到,高于点差的部分是卖出限制,低于点差的部分是买入限制。我怎样才能看到买入止损和卖出止损?
原因: