初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1199

 
Vitaly Muzichenko:

也许我不明白什么,但你应该long tml = (long)ObjectGetInteger(ChartID(),vlines_name[i],OBJPROP_TIME); 代替行名,而不是索引,否则你不会得到结果

是的,非常感谢你。我在循环中添加了一行,它的工作原理是 ))))

   for(int i = 0; i < vlines; i++)
   {
      vlines_name[i]    = ObjectName(ChartID(),i,0,OBJ_VLINE);
      long tml          = (long)ObjectGetInteger(ChartID(),vlines_name[i],OBJPROP_TIME);
      vlines_arr[i][0]  = tml;
      vlines_arr[i][1]  = (long)i;
   }
 

你好:任务是在图表上显示2个工具的烛台,但其中一个工具有的地方缺少烛台。我们应该用所有的数据去看仪器的条形图,比较2个仪器的条形图时间,当我们遇到一个差异时,循环应该对1个仪器继续,对另一个仪器停止,直到条形图时间匹配,这样,图表中缺少条形图的地方就有空值。如何做到这一点?

 
我如何在市场上投放专家?
问题是,在添加专家时,我需要选择专家的类型。我的 "专家 "属于 "神经元 "类型,我选择并添加了它,然后发现不可能使用外部API来获取数据到 "专家顾问"。
而神经网络如何能在最终用户的计算机上工作?或者我应该附上一份安装Tensoflow + Keras + Ta-Lib + 几个python脚本的手册?

这个问题在实践中是如何解决的?肯定有人做过神经网络方面的专家。
 

大家下午好!请告知或纠正该代码。需要在零条上画一个直方图,高度为500, 颜色为红色。

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots   1
#property indicator_type1   DRAW_COLOR_HISTOGRAM
#property indicator_color1  Red
#property indicator_style1  0
#property indicator_width1  1
#property indicator_minimum 0.0


double                    ExtBuffer[];
double                    ExtColorsBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit()
  {
//---- buffers   
   SetIndexBuffer(0,ExtBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,ExtColorsBuffer,INDICATOR_COLOR_INDEX);
   
//----
  }
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[])
  {
  
  ExtBuffer[0]=500;
  ExtColorsBuffer[0]=Red;
   
   return(rates_total);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
 
EfDim:

大家下午好!请告知或纠正该代码。需要在零条上画一个直方图,高度为500, 颜色为红色。

零条是最左边的一条。当前费率_总数-1

 
Alexey Viktorov:

零栏,这是最左边的栏。当前费率_总数-1

谢谢你,伙计!
 

你好!

请帮助我解决一个问题。

//----------БЛОК 1---------
if(x)
 {
   func_1(a,b);
   ......
 }
//-----------БЛОК 2--------
if(z)
 {
  func(c,d);
  ....
 } 
//---------------------

这些块需要在以下模式下工作。

1)正常的,即按照写法,依次检查区块条件

2)块1:取消对条件x的检查,不执行里面的代码;块2:取消对条件z的检查,无条件地执行里面的代码。

3)块1:取消对条件x的检查,无条件地执行里面的代码;块2:取消对条件z的检查,不执行里面的代码。

切换模式应在EA设置 中手动完成。

(我只有足够的想象力来进行切换,三种执行的变体,但这样一来,代码就会重复,我想避免它。这有可能吗?)

Торговые советники и собственные индикаторы - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Торговые советники и собственные индикаторы - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Среди программ для автоматического трейдинга можно выделить две большие категории: торговые роботы и индикаторы. Первые предназначены для совершения торговых операций на рынках, а вторые — для анализа котировок и выявления закономерностей в их изменении. При этом индикаторы могут использоваться непосредственно в роботах, образуя полноценную...
 

下午好。

有一个这样的代码。

         // Нормализация входных данных
         Print(TimeToString((datetime)vlines_arr[i][0]));
         Print("размер buf_Dsl = ",ArraySize(buf_Dsl));
         ArrayPrint(buf_Dsl);
         double d1         = 0.0;
         double d2         = 1.0;
         double x_min      = buf_Dsl[ArrayMinimum(buf_Dsl)];
         double x_max      = buf_Dsl[ArrayMaximum(buf_Dsl)];
         for(int n = 0; n < ArraySize(buf_Dsl); n++)
         {
            inp_Dsl[n]=(((buf_Dsl[n]-x_min)*(d2-d1))/(x_max-x_min))+d1; // array out of range
         }

我不知道为什么它在战斗...

2019.09.04 06:00
размер buf_Dsl = 6
 -7.25207 -12.75148 -14.52521 -13.95145 -12.49837  -3.17857
array out of range in '.....' (143,20)
我怎么能到阵列 之外去呢?
 
Сергей Таболин:

下午好。

有一个这样的代码。

我不知道 为什么皱眉头...

你如何超越阵列

实际上,它在inp_Dsl[n] 被诅咒了。

 
Vladimir Karputov:

实际上,被诅咒的是inp_Dsl[n]

对。没有设置大小...谢谢。