Einzelnen Beitrag anzeigen
  #32 (permalink)  
Alt 28.09.20
MA-EA MA-EA ist offline
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

* und / sind eigentlich klar. Nur scheint der MT4 damit nicht umgehn zu können. Mach ich das Ganze nicht so, wie im folgenden Code/Indikator, kommen "unlogische" Ergebnisse im MT4 raus. Nicht nur in diesem Indi, auch in Anderen und in EAs. Vermutlich ist er, bzw. seine Art zu rechnen, nicht gerade die Neueste... Nebenbei: Weiß Jemand was Neues über MQL 6 / MT 6 ?


Jedenfalls kommen hier nen paar schöne - ähm - nennen wir es Übungsaufgaben.




Aufgabe: Der automatische Multi soll das Ergebnis der anderen Berechnungen so umrechnen, dass dieses an den Kurs-Verlauf angepasst und seinem Verhältnis zu diesem entsprechend korrekt im Chart angezeigt wird. Wie berechnet man den Auto-Multi korrekt?




Brauch Jemand Mathe-Nachhilfe? Ich auf jeden Fall.


Sollten andere Fehler ausser den Mathe-(un-)Logischen drin sein, dann sorry.

Code:
//=============================================================================================================
// M A s + M A s
//=============================================================================================================

double MAs_pl_MAs=MA_one+MA_two+MA_thr+MA_fou+MA_fiv+MA_six+MA_sev;

//=============================================================================================================
// ( M A s + M A s ) / D I V
//=============================================================================================================



// Wert links (zwischen -1 und 1)...
if( MAs_pl_MAs > -1.0 && MAs_pl_MAs < 1.0 ){

// ...soll durch Wert geteilt werden, der ebenfalls zwischen -1 und 1 ist.
  if( Div >  -1.0 && Div <  1.0 )MAplMA_Div = MAs_pl_MAs * Div ;

// ...soll durch Wert geteilt werden, der nicht zwischen zwischen -1 und 1 ist.
  if( Div <= -1.0 || Div >= 1.0 )MAplMA_Div = MAs_pl_MAs / Div ;

}



// Wert links (nicht zwischen -1 und 1)...
if( MAs_pl_MAs < -1.0 || MAs_pl_MAs > 1.0 ){

// ...soll durch Wert geteilt werden, der zwischen -1 und 1 ist.
  if( Div >  -1.0 && Div <  1.0 )MAplMA_Div = MAs_pl_MAs * Div ;

// ...soll durch Wert geteilt werden, der nicht zwischen -1 und 1 ist.
  if( Div <= -1.0 || Div >= 1.0 )MAplMA_Div = MAs_pl_MAs / Div ;

}



//=============================================================================================================
// A U T O   M U L T I
//=============================================================================================================


if(AutoMulti==true){

  if( Div > -1.0  &&  Div < 1.0 )Multi = Div * MAcount;

  if( Div <= -1.0 || Div >= 1.0 )Multi = Div / MAcount;


}



//=============================================================================================================
// B U F F E R   Z U W E I S U N G
//=============================================================================================================



// Wert links, der zwischen -1 und 1 ist...
if( MAplMA_Div > -1.0 && MAplMA_Div < 1.0 ){

// ...soll multipliziert werden mit Wert, der auch zwischen -1 und 1 ist.
  if( Multi  > -1.0 && Multi  < 1.0 )BUF_SevMAdVxAutoV_CHA[i] = MAplMA_Div / Multi ;

// 
  if( Multi <= -1.0 || Multi >= 1.0 )BUF_SevMAdVxAutoV_CHA[i] = MAplMA_Div * Multi ;
  
}



//
if( MAplMA_Div <= -1.0 || MAplMA_Div >= 1.0 ){

//  
  if( Multi  > -1.0 && Multi  < 1.0 )BUF_SevMAdVxAutoV_CHA[i] = MAplMA_Div / Multi ;
  
//
  if( Multi <= -1.0 || Multi >= 1.0 )BUF_SevMAdVxAutoV_CHA[i] = MAplMA_Div * Multi ;
}
Angehängte Dateien
Dateityp: mq4 SevMAdVxAutoV_CHA.mq4 (29,2 KB, 1x aufgerufen)