Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1199

 
Vitaly Muzichenko:

Vielleicht verstehe ich etwas nicht, aber Sie solltenlong tml = (long)ObjectGetInteger(ChartID(),vlines_name[i],OBJPROP_TIME) verwenden; ersetzen Sie den Zeilennamen, nicht den Index, sonst erhalten Sie keine Ergebnisse.

Ja, ich danke Ihnen vielmals. Ich habe eine Zeile in der Schleife hinzugefügt und es funktioniert ))))

   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;
   }
 

Hallo: Die Aufgabe ist es, Candlesticks von 2 Instrumenten im Chart darzustellen, aber bei einem Instrument fehlen die Candlesticks teilweise. Wir sollten die Balken des Instruments mit allen Daten durchgehen und die Zeit der Balken von 2 Instrumenten vergleichen, und wenn wir auf eine Diskrepanz stoßen, sollte die Schleife für ein Instrument fortgesetzt und für ein anderes gestoppt werden, bis die Balkenzeiten übereinstimmen, so dass das Diagramm leere Werte hat, wo die Balken fehlen. Wie kann man das tun?

 
Wie stelle ich einen Experten auf den Marktplatz?
Das Problem ist, dass ich beim Hinzufügen eines Experten den Typ des Experten auswählen muss. Mein Experte gehört zum Typ "neuronet", ich wähle ihn aus, füge ihn hinzu, und dann stellt sich heraus, dass es unmöglich ist, externe API zu verwenden, um Daten in den Expert Advisor zu bekommen.
Und wie kann ein neuronales Netz auf dem Computer des Endnutzers funktionieren? Oder sollte ich ein Handbuch für die Installation von Tensoflow + Keras + Ta-Lib + ein paar Skripte in Python anhängen?

Wie wird diese Frage in der Praxis gelöst? Sicherlich hat jemand Experten für neuronale Netze beauftragt.
 

Guten Tag an alle! Bitte beraten Sie mich oder korrigieren Sie den Code. Es ist erforderlich, ein Histogramm auf dem Nullbalken zu zeichnen, Höhe 500, Farbe rot.

#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:

Guten Tag an alle! Bitte beraten Sie mich oder korrigieren Sie den Code. Es ist erforderlich, ein Histogramm auf dem Nullbalken zu zeichnen, Höhe 500, Farbe rot.

Der Nullbalken ist der Balken ganz links. Laufende Kurse_insgesamt-1

 
Alexey Viktorov:

Nullleiste, das ist die Leiste ganz links. Laufende Kurse_Gesamt-1

Danke, Kumpel!
 

Hallo!

Bitte helfen Sie mir, ein Problem zu lösen.

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

Diese Blöcke müssen in den folgenden Modi funktionieren:

1) Normale, d.h. wie geschriebene, Blockbedingungen werden sequentiell geprüft

2) Block 1: Die Prüfung der Bedingung x wird abgebrochen und der darin enthaltene Code wird nicht ausgeführt; Block 2: Die Prüfung der Bedingung z wird abgebrochen und der darin enthaltene Code wird ohne Bedingungen ausgeführt.

3) Block 1: Die Prüfung der Bedingung x wird abgebrochen und der darin enthaltene Code wird unbedingt ausgeführt; Block 2: Die Prüfung der Bedingung z wird abgebrochen und der darin enthaltene Code wird nicht ausgeführt.

Der Moduswechsel sollte manuell in den EA-Einstellungen vorgenommen werden.

(Ich hatte nur genug Phantasie für switch, drei Varianten der Ausführung, aber dann wird der Code wiederholt, und das möchte ich vermeiden. Ist das möglich?)

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

Guten Tag.

Es gibt einen Code wie diesen:

         // Нормализация входных данных
         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
         }

Ich weiß nicht, warum es sich streitet...

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)
Wie kann ich das Feld verlassen?
 
Сергей Таболин:

Guten Tag.

Es gibt einen Code wie diesen:

Ich weiß nicht, warum es die Stirn runzelt...

Wie kann man über das Feld hinausgehen?

Eigentlich ist es verflucht beiinp_Dsl[n]

 
Vladimir Karputov:

Eigentlich ist esinp_Dsl[n], das verflucht wird.

Richtig. Ich habe die Größe nicht eingestellt... Danke.