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

 
sandex:

Deklarieren Sie das Array als statisch, mit der Größe 1:

Nach der Kompilierung erscheint eine Zeile, die die gleiche ist wie in dieser und der letzten Version. Hier ist der gesamte Code:

#property copyright ""
#property link      ""
#property version   "1.00"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots   2
#property  indicator_type1   DRAW_LINE
#property  indicator_color1  clrMediumVioletRed
#property  indicator_style1  STYLE_SOLID
#property  indicator_label1  ""
#property  indicator_type2   DRAW_LINE
#property  indicator_color2  clrRed
#property  indicator_style2  STYLE_SOLID
#property  indicator_label2  "Sell TP"
input int Period_ = 34;         //Период
int ma1Handle;
double ma1Val[1];
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {   
SetIndexBuffer(0,ExtMapBuffer1,INDICATOR_DATA);
SetIndexBuffer(1,ExtMapBuffer2,INDICATOR_DATA);
ma1Handle=iMA(_Symbol,_Period,Period_,0,MODE_EMA,PRICE_CLOSE); 
   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[])
  {
ArraySetAsSeries(ma1Val,true);
int bars=Bars(_Symbol,_Period);
for(int i=0;i<bars;i++)
    {
    CopyBuffer(ma1Handle,0,i,1,ma1Val);
    ExtMapBuffer2[i]=ma1Val[0] - ((ma1Val[0]/100)*0.3);//ЗДЕСЬ НЕ ПОЛУЧАЕТСЯ ПОЛУЧИТЬ ЛИНИЮ
    }
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
Arbeitscode.
Dateien:
Ind.mq5  3 kb
 

Hallo.

Ich habe beschlossen, MQL5 zu lernen, ich habe Artikel darüber gelesen, wie EAs in MetaEditor zu generieren, alles ist klar, aber wie man Indikatoren, die Teil von EAs sind, um nach Ihren Regeln zu handeln, zum Beispiel CCI-Indikator macht Dinge, die ich nicht brauche, wie man einen Kaufauftrag offen bei der Überquerung 100 und schließen Sie es bei der Überquerung 100 von unten nach unten, das gleiche für den Verkauf zu machen. Ich arbeite auch schon eine Weile daran, aber ich weiß nicht, wie ich es machen soll.

 
vitan06:

Hallo.

Ich habe beschlossen, MQL5 zu lernen, ich habe Artikel darüber gelesen, wie EAs in MetaEditor zu generieren, alles ist klar, aber wie man Indikatoren, die Teil der EAs sind, um nach Ihren Regeln zu handeln, zum Beispiel CCI-Indikator macht Dinge, die ich nicht brauche, wie man einen Kaufauftrag offen bei der Überquerung 100 und schließen Sie es bei der Überquerung 100 von unten nach unten, das gleiche für den Verkauf zu machen. Ich arbeite auch schon eine Weile daran, aber ich weiß nicht, wie ich es machen soll.

Ich habe eine abgelenkte Frage: Wie verwenden Sie MQL4?
 
auf keinen Fall
 
sandex:
Arbeitscode.
Ich danke Ihnen! Es funktioniert!!!
 
vitan06:
auf keinen Fall

dann können Sie den Codegenerator getrost vergessen.

Öffnen Sie ein Standardbeispiel aus der Lieferung von MA oder MACD

Ändern Sie den Indikator in CCI

und gehen

 

Hallo!

Entschuldigung für die meiner Meinung nach dumme Frage:

Ich habe einen EA auf mql5geschrieben, ihn ordnungsgemäß geladen, getestet, mit einer Demo auf meinem Laptop zu Hause ausprobiert und jetzt läuft die Demo auf VPS.

Ich habe es von meinem Laptop deinstalliert. Ich habe die Quelle auf dem VPS etwas optimiert.

Versucht, von VPS auf Laptop zu laden - sieht es nicht MQL5!!! Im W7-Explorer ist es da, wo es sein sollte, aber in MQL5 nicht.

Metaeditor über Datei öffnen findet, bearbeitet und speichert sie.

Wenn ich versuche, es zu kompilieren, erscheint in der ersten Zeile der Fehler cannot create interface of MQL compiler .Was ist dieser Fehler?

Was muss ich tun?

 

Könnten Sie mir bitte sagen, wie ich den aktuellen Preis in den Indikatorcode bekomme und ihn mit einem anderen Indikator vergleichen kann, um eine Linie zu zeichnen?

Ich erhalte den aktuellen Kurs im Expert Advisor:

MqlTick latest_price;       
double iclose=latest_price.bid;
Aber wie bekomme ich sie in den Indikator?
 
forexman77:

Könnten Sie mir bitte sagen, wie ich den aktuellen Preis in den Indikatorcode bekomme und ihn mit einem anderen Indikator vergleichen kann, um eine Linie zu zeichnen?

Im EA erhalte ich den aktuellen Preis wie folgt:

Aber wie bekomme ich sie in den Indikator?
Schauen Sie in den Code des Indikators, Funktion OnCalculate().
Grund der Beschwerde: