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

 

我经常来找你!

同事们,我正在寻找某种快速分析,一个插件,一个互联网资源,一个实用工具,任何东西,在那里可以快速(时间是最重要的)分析交易所的所有发行人,因为他们大约有200-400个。但要从一系列的5-10种工具中选择当天的交易,除了流行的货币对--股票、指数、加密货币等。例如,我附上三个图表,程序需要选择上周的类似图表,如带绿色复选标记的图表,进行排序,不提供那些带红色交叉标记的类似图表。

附加的文件:
zuq.png  40 kb
p51a6.png  54 kb
30i0i2.png  51 kb
 
Порт-моне тв:

我经常来找你们!

同事们,我正在寻找某种快速分析,一个插件,一个互联网资源,一个实用工具,任何东西,在那里可以快速(时间是最重要的)分析交易所的所有发行人,因为他们大约有200-400个。但要从一系列的5-10种工具中选择当天的交易,除了流行的货币对--股票、指数、加密货币等。例如,我附上三个图表,我需要程序选择上周的类似图表,例如,带绿色勾号的图表,对它们进行排序,不提供与它们类似的带红叉的图表。

他们说企业有强大的人工智能。你有动力去看看,问问爱丽丝)

但说真的,有很多筛选器,但它们不过滤图表模式,而是更简单、更正式的指标--D1上的EMA14以上/以下。本周是绿色或红色,等等。

 

你好。

请告诉我如何将指标读数(柱状图的每个条形)与分钟图上的小时蜡烛开盘联系起来。

#property strict
#property indicator_separate_window
//---
#property indicator_buffers 1
#property indicator_level1     0
#property indicator_levelcolor clrSilver
#property indicator_levelstyle STYLE_DOT
#property indicator_color1 clrLightSkyBlue
//---
input int        countHour     = 5;

datetime openHour = 0;

double buffer_1[];
double prop;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   SetIndexStyle(0, DRAW_HISTOGRAM, STYLE_SOLID);
   SetIndexBuffer(0, buffer_1);

   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[])
  {
   for(int i=5000; i>=0; i--)
     {
      double dfa = 0;
              for(int j=0; j<countHour; j++)
                       dfa +=(iHigh(NULL, PERIOD_H1, i+j) - iLow(NULL, PERIOD_H1, i+j));
              buffer_1[i] = dfa/countHour;
     }

   return(rates_total);
  }
//+------------------------------------------------------------------+

我似乎无法做到这一点)))。我做错了什么?它在M1、M5等的每根蜡烛下面画了一个柱状图条(每小时平均波动率)。

Документация по MQL5: Общие функции / TesterHideIndicators
Документация по MQL5: Общие функции / TesterHideIndicators
  • www.mql5.com
Задает режим показа/сокрытия индикаторов, которые используются в эксперте. Функция предназначена для управления видимостью используемых индикаторов только при тестировании. По умолчанию на графике визуального тестирования показываются все индикаторы, которые создаются в тестируемом эксперте.  Также эти индикаторы показываются на графике...
 
Madmas:

你好。

请告诉我如何将指标读数(柱状图的每个条形)与分钟图上的小时蜡烛开盘联系起来。

我似乎无法做到这一点)))。我做错了什么?它在M1、M5等的每根蜡烛下画出一个柱状图条(每小时平均波动率)。

我不确定我是否正确理解了你的讲话...

这就是你想要的吗?


 
Порт-моне тв:
还有谁可以帮忙?如何在点或烛台(条)上做一个 暂停,而不是睡着了(睡觉),即例如,在关闭一个交易100条后不交易,什么都不做,这样的功能在测试器和真实上都能工作。
这个问题还有意义吗?
 
MakarFX:

我不确定我是否正确理解了你的讲话...

这是你想要的吗?


是的。我可以看看代码吗?))))
 
Madmas:
是的。我可以看看代码吗?))))

只有在测试器中不工作......而且我不知道为什么(

#property strict
#property indicator_separate_window
//---
#property indicator_buffers 1
#property indicator_level1     0
#property indicator_levelcolor clrSilver
#property indicator_levelstyle STYLE_DOT
#property indicator_color1 clrTeal
//---
input int        countHour     = 5;

datetime openHour = 0;

double buffer_1[];
int index1=-1;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   SetIndexStyle(0, DRAW_HISTOGRAM, STYLE_SOLID);
   SetIndexBuffer(0, buffer_1);

   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[])
  {
   int limit=rates_total-prev_calculated-countHour-1;
  
   for(int i=limit;i>=0;i--)
     {
      if(TimeSeconds(time[i])==0)
      index1=iBarShift(Symbol(), PERIOD_H1, time[i], false);
      double dfa = 0;
      for(int j=0; j<countHour; j++)
      dfa +=(iHigh(NULL, PERIOD_H1, index1+j) - iLow(NULL, PERIOD_H1, index1+j)); 
      
              buffer_1[i] = dfa/countHour;
     }

   return(rates_total);
  }
//+------------------------------------------------------------------+
 
MakarFX:
这个问题还有意义吗?
是的。
 
Порт-моне тв:
是的。
显示您的订单结束代码
 
MakarFX:

除了它在测试器中不工作......我不知道为什么(

非常感谢您
原因: