Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 12.07.22
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 include-Datei mit eigenen Berechnungs-Funktionen erstellen

Hallo.


Hab ja für nen Indi 2 eigene Funktionen für Division und Multiplikation von Werten, die kleiner als 1 sind, zusammen gebastelt. Die scheinen soweit auch zu funktionieren.


Um die nicht jedes mal in andere Indis oder EAs eintragen zu müssen, wärs gut, wenn man die in ne include-Datei oder sowas einbaun könnte. So dass man dann im Indi oder so bloß noch oben die include-Datei angeben, und dann an entsprechender Stelle die Funktion aufrufen und mit entsprechenden Variablen füllen muss. Gibts für so eine include-Datei oder was es da Alles gibt, ne gute Anleitung?


Diese Funktionen sollen da drin stehn und von nem EA oder Indi benutzt werden. Vorsicht, könnten vielleicht Fehler drin sein.
Code:
//=============================================================================================================
// O P Z   D I V
//=============================================================================================================

double ODIV(

  double ODIV_ToDiv// Soll dividiert werden
  ,
  double ODIV_Div// Wert, der kleiner als 1.0 ist
  
){
  
  double
  ODIV_DIV_mt
  ,
  ODIV_DivEd
  ,
  ODIV_DivEd_t;
  
  int ODIV_mt;
  

  if( ODIV_Div <= -1.0 || ODIV_Div >= 1.0 )ODIV_DivEd = ODIV_ToDiv / ODIV_Div;


  if( ODIV_Div > -1.0 && ODIV_Div < 1.0 ){
  
    ODIV_mt=0;
    while( ODIV_Div > -1.0 && ODIV_Div < 1.0 ){
  
      ODIV_DIV_mt = ODIV_Div * 10.0;
    
      ODIV_Div = ODIV_DIV_mt;
    
      ODIV_mt++;}
  
  
    ODIV_DivEd = ODIV_ToDiv / ODIV_DIV_mt;


    for( ODIV_mt ; ODIV_mt > 1 ; ODIV_mt-- ){
  
      ODIV_DivEd_t = ODIV_DivEd * 10.0;
    
      ODIV_DivEd = ODIV_DivEd_t;}
  
  }

  return ODIV_DivEd;

}

//=============================================================================================================
// O P Z   M U L
//=============================================================================================================

double OMUL(

  double OMUL_ToMul// Soll multipliziert werden
  ,  
  double OMUL_Mul// Wert, der kleiner als 1.0 ist

){
  
  double
  OMUL_MUL_mt
  ,
  OMUL_MulEd
  ,
  OMUL_MulEd_t;
  
  int OMUL_mt;


  if( OMUL_ToMul <= -1.0 || OMUL_ToMul >= 1.0 || OMUL_Mul <= -1.0 || OMUL_Mul >= 1.0 )OMUL_MulEd = OMUL_ToMul * OMUL_Mul;
  
  
  if( OMUL_ToMul > -1.0 && OMUL_ToMul < 1.0 && OMUL_Mul > -1.0 && OMUL_Mul < 1.0 ){

    OMUL_mt=0;
    while( OMUL_Mul > -1.0 && OMUL_Mul < 1.0 ){
  
      OMUL_MUL_mt = OMUL_Mul * 10.0;
    
      OMUL_Mul = OMUL_MUL_mt;
    
      OMUL_mt++;}
  
  
    OMUL_MulEd = OMUL_ToMul * OMUL_MUL_mt;


    for( OMUL_mt ; OMUL_mt > 1 ; OMUL_mt-- ){
  
      OMUL_MulEd_t = OMUL_MulEd / 10.0;
    
      OMUL_MulEd = OMUL_MulEd_t;}
  
  }

   return OMUL_MulEd;

 }
Angehängte Dateien
Dateityp: mq4 PRdMA_OPZ_SEP_v2.mq4 (19,2 KB, 0x aufgerufen)