Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 991

 
LuckyTrader:
Der Fehler ist verschwunden, mit dem gleichen Wortlaut, jetzt ist er an einer anderen Stelle aufgetreten. Gerade oben schrieb ich an Igor

Fügen Sie die Ausdrucke ein, bei denen der Fehler auftritt, vielleicht können Sie Ihr Problem auf diese Weise lösen.

Es gibt keinen anderen Weg, ich habe den Grund für Ihren Fehler bereits erklärt

 

Hallo, ich beschloss , den Indikator von MQL4 zu MQL5 neu zu schreiben und blieb in Indikatorpuffern stecken... Ich glaube, ich habe alles eingegeben, was ich brauchte, aber die Indikatorzeile wird immer noch nicht angezeigt!

Hier ist ein Beispiel, ich möchte den Schlusskurs für die letzten 30 Balken anzeigen, ich habe sogar einen Kommentar in den Puffer geschrieben, um zu sehen, ob er mit etwas gefüllt ist ...

Der Puffer füllt sich, aber das Diagramm ist leer, und ich kann es nicht sehen (((

Was könnte das Problem sein? Vielleicht sind die Balken in MQL5 verkehrt herum?)


//+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//|                                                                . |
//|                                                                . |
//+------------------------------------------------------------------+
#property copyright "."
#property link      "."
#property version   "1.00"
#property indicator_chart_window
#property indicator_buffers 8         // Количество буферов индикатора
#property indicator_plots   8         // Количество графических серий

#property indicator_label1 "TestLine" 
#property indicator_type1 DRAW_LINE  
#property indicator_style1 STYLE_SOLID 
#property indicator_width1 1  
#property indicator_color1 Red  
//+------------------------------------------------------------------+
//|                        БУФЕРЫ                                    |
//+------------------------------------------------------------------+
double Buffer1[];
double Buffer2[];
double Buffer3[];
double Buffer4[];
double Buffer5[];
double Buffer6[];
double Buffer7[];
double Buffer8[];
//+------------------------------------------------------------------+
//|                     ПАРАМЕТРЫ БУфЕРА                             |
//+------------------------------------------------------------------+
int OnInit(){                   

SetIndexBuffer(0,Buffer1,INDICATOR_DATA);
PlotIndexSetInteger(0,PLOT_DRAW_TYPE,DRAW_LINE);  
PlotIndexSetInteger(0,PLOT_LINE_WIDTH,1);         
PlotIndexSetInteger(0,PLOT_LINE_COLOR,Blue);   

return(INIT_SUCCEEDED);}
//+------------------------------------------------------------------+
//| Деинициализация                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason){
Comment("");}
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| 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 Z = 30; Z>=0; Z--) {
Buffer1[Z] = iClose(NULL,0,Z);} 
Comment(Buffer1[0]);               

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

 
Nikita Zubarov:

Hallo, ich beschloss , den Indikator von MQL4 zu MQL5 neu zu schreiben und blieb in Indikatorpuffern stecken... Ich glaube, ich habe alles eingegeben, was ich brauchte, aber die Indikatorzeile wird immer noch nicht angezeigt!

Hier ist ein Beispiel, ich möchte den Schlusskurs für die letzten 30 Balken anzeigen, ich habe sogar einen Kommentar in den Puffer geschrieben, um zu sehen, ob er mit etwas gefüllt ist ...

Der Puffer füllt sich, aber das Diagramm ist leer und ich sehe kein Bild (((

Was könnte das Problem sein? Vielleicht sind die Balken in MQL5 verkehrt herum?)


Die Nummerierung der Balken in MQL5 ist umgekehrt

for(int Z = rates_total-50; Z<rates_total; Z++)


Die Indizierung kann mithttps://www.mql5.com/ru/docs/array/arraysetasseries geändert werden.
Документация по MQL5: Операции с массивами / ArraySetAsSeries
Документация по MQL5: Операции с массивами / ArraySetAsSeries
  • www.mql5.com
//| Custom indicator initialization function                         | //| Custom indicator iteration function                              |
 
Igor Makanu:

Die Nummerierung der Takte in MQL6 ist umgekehrt


Sie können die Indizierung mithttps://www.mql5.com/ru/docs/array/arraysetasseries ändern.

Vielen Dank, ich habe eine Zeile hinzugefügt und es wird jetzt normal angezeigt!

ArraySetAsSeries(Buffer1,true); 
aber ich denke, die Nummerierung der Balken ist von rechts nach links die gleiche, nur die Puffer gehen rückwärts....
 
Nikita Zubarov:

Danke, ich habe eine Zeile hinzugefügt und es wird jetzt richtig angezeigt!

aber es scheint mir, dass die Nummerierung der Balken von rechts nach links die gleiche ist, nur die Puffer gehen rückwärts....

In 4 ist die Taktnummer 0 der Takt ganz rechts.

In 5 ist Takt #0 der am weitesten links liegende Takt.

Standardmäßig ist die Indizierung der Indikatorpuffer dieselbe wie bei den Zeitreihen.

Wenn Sie ArraySetAsSeries() verwenden, wird es nur auf ein Array angewendet - in Ihrem Beispiel auf das Indikatorpuffer-Array Buffer1, für eine korrekte Berechnung sollten Sie es auch auf Close anwenden

ArraySetAsSeries(Buffer1,true); 
ArraySetAsSeries(close,true); 
for(int Z = 30; Z>=0; Z--) 
{
Buffer1[Z] = сlose[i];
} 

oder ändern Sie die Schleife wie oben beschrieben

 
Hallo, können Sie mich bitte beraten, wenn ich möchte, dass mein EA eine Position auf einem anderen Symbol als dem aktuellen Chart eröffnet.
OrderSend(MarketInfo("EURUSD",MODE_ASK), OP_BUY, Lots, Ask, Slip, 0, 0, "", Magic, 0, Blue)
Liege ich richtig? korrigieren Sie mich, wenn nicht
 
Averman:
Hallo, können Sie mich bitte beraten, wenn ich möchte, dass mein EA eine Position auf einem anderen Symbol als dem aktuellen Chart eröffnet.
OrderSend(MarketInfo("EURUSD",MODE_ASK), OP_BUY, Lots, Ask, Slip, 0, 0, "", Magic, 0, Blue)
Liege ich richtig? korrigieren Sie mich, wenn nicht

Natürlich ist das nicht richtig.

OrderSend("EURUSD", OP_BUY, Lots, MarketInfo("EURUSD",MODE_ASK), Slip, 0, 0, "", Magic, 0, Blue) 
Wenn ich nicht irgendwo einen Fehler gemacht habe, dann haben Sie ihn gemacht. Aber in jedem Fall sollte die Bedeutung verständlich sein.
 
MQL6 ist bereits erschienen, hat jemand diese Shell getestet?
 
Seric29:
MQL6 ist bereits erschienen, hat jemand diese Shell getestet?

Ist heute der 1. April?

 
Alexey Viktorov:

Ist heute nicht der 1. April?

Und ich habe angefangen zu googeln)).

... eine einseitige mql6-Website und einen Link zu einem Forum auf mql5.com gefunden