MQL5 Ichimoku Projektion in der Zukunft von der Wolke berücksichtigen

 

Hallo zusammen,

in einem EA soll die Farbe der Wolke in der Zukunft berücksichtigt werden. (also ob diese bullisch oder bärisch ist)

Leider bekomme ich mit folgendem Code immer nur den aktuellen Stand der Wolke, also we der aktuelle Kurs ist.

ich würde gerne die Wolke 20 Zeiteinheiten weiter in der Zukunft für die jetzige Entscheidung in dem EA berücksichtigen. Kann mir bitte einer hier helfen? 

auf dem Chart wird ja die Wolke in der Zukunft projiziert. 

hier mein Code:


int ichimoku(){
   double kurzArray[];
   double langArray[];
   double AwolkeArray[];
   double BwolkeArray[];
   int IchimokuDefinition= iIchimoku(_Symbol,_Period,9,26,52);
   ArraySetAsSeries(kurzArray,true);
   ArraySetAsSeries(langArray,true);
   ArraySetAsSeries(AwolkeArray,true);   
   ArraySetAsSeries(BwolkeArray,true);
   CopyBuffer(IchimokuDefinition,0,0,3,kurzArray);
   CopyBuffer(IchimokuDefinition,1,0,3,langArray);
   CopyBuffer(IchimokuDefinition,2,0,3,AwolkeArray);
   CopyBuffer(IchimokuDefinition,3,0,3,BwolkeArray);  
   double price=closePrice();
   double kurz=kurzArray[0];
   double lang=langArray[0];
   double Awolke=AwolkeArray[0];
   double Bwolke=BwolkeArray[0];
   int signal=0;
   if(Awolke > Bwolke){
         signal=1;   
   }
   if(Awolke < Bwolke){
         signal=-1;   
   }
   
   return signal;
}
 

Ist das MT4 oder MT5?

Wie ist der Code des Indikators? Aus dem lässt sich erkennen, wo und wie die Farbe erkennbar ist.

 
ist ein Standard-MT5-Indikator....
int IchimokuDefinition= iIchimoku(_Symbol,_Period,9,26,52);

Ich wüsste nicht wo genau ich das im Code sehen kann. 

Hab auch versuchst das Gegenteil von Shiften zu machen, geht aber nicht also:

den Array nicht in positiven Zahlen 5,4,3,2,1 (Shiften) oder 0 abzufragen, sondern mit -20 z.B. die Projektion abzufragen.

Geht auch nicht.

Hab noch eine Abbildung hinzugefügt, um aufzuzeigen was ich genau meine :)

Danke euch!

Müsste ja aber möglich sein wenn es im Chart si chtbar ist. 

 
Er hat keinen Indiaktorpuffer, der die Farbe anbietet (INDICATOR_COLOR_INDEX), also musst Du prüfen welche der beiden Linien Senkou Span A und Senkou Span B der Wolke oben und welche unten ist (A<B oder A>B), danach richtet sich die Farbe.
 

Du kannst nicht in den negativen bereich shiften wenn du erst bei 0 anfängst


du misst hier schon die zukunft berücksichtigen

CopyBuffer(IchimokuDefinition,0,0,3,kurzArray);
 
amando #:

Du kannst nicht in den negativen bereich shiften wenn du erst bei 0 anfängst


du misst hier schon die zukunft berücksichtigen

Ja aber negative Werte gehen nicht, sonst gibt der Compiler Fehlermeldungen aus.

OP sollte sich mal den Aufbau des Indikators ansehen. In der OnInit gibt es einen Punkt PlotIndexSetInteger, da ist auf den Buffer 3 - SenkouB - ein PLOT_SHIFT angewendet. Dieser wird jedoch erst angewendet, wenn der Buffer geplotted wird. Im Buffer jedoch liegen alle Werte ganz normal vor, so dass die aktuellste Kerze (26te in der "Zukunft") Mit ArraySetAsSeries wohl die 0te sein müsste. Am Besten mal Werte genau vergleichen, Alles andere würde mich wundern.

Grund der Beschwerde: