Indicadores: Standard Deviation Channel MT5

 

Standard Deviation Channel MT5:

El canal se construye usando como base la desviación estándar del precio de cierre

Standard Deviation Channel MT5

Autor: Ziheng Zhuang

[Eliminado]  
 

¿Cómo llamarlo en él EA?


//+------------------------------------------------------------------+
//|test_SDC.mq5
//|Copyright 2022,fxMeter ||
//| https://www.mql5.com/es/users/fxmeter ||
//+------------------------------------------------------------------+
#property copyright "Copyright 2022,fxMeter"
#property link      "https://www.mql5.com/es/users/fxmeter"
#property version   "1.00"

input int InputStarBar = 0;//Estrella
input int InputCalcBars = 120;//Barras de cálculo
input double f1=1.0;//Multiplicador de canal interno
input double f2=2.0;//Multiplicador de canal externo

int handle = -1;

//+------------------------------------------------------------------+
//| Función de inicialización experta|
//+------------------------------------------------------------------+
int OnInit()
{
//---
   //1.crear un handle para StandardDeviationChannel
   handle = iCustom(Symbol(),PERIOD_CURRENT,"StandardDeviationChannel",InputStarBar,InputCalcBars,f1,f2);
   //2.comprueba si el manejador se ha creado correctamente
   if(handle==INVALID_HANDLE)//fallido
   {
      Alert("Create a handle to StandardDeviationChannel failed");
      return(INIT_FAILED);
   }
//---
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Función de desinicialización experta|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---

}
//+------------------------------------------------------------------+
//| Función tick experto|
//+------------------------------------------------------------------+
void OnTick()
{
//---
   double mid_right = GetBufferValue(0,InputStarBar);
   double top_right = GetBufferValue(1,InputStarBar);
   double btm_right = GetBufferValue(2,InputStarBar);

   double mid_left = GetBufferValue(0,InputStarBar+InputCalcBars-1);
   double top_left = GetBufferValue(1,InputStarBar+InputCalcBars-1);
   double btm_left = GetBufferValue(2,InputStarBar+InputCalcBars-1);
   
      Comment(
        "mid_left = ",d2s(mid_left)," ,  ","mid_right = ",d2s(mid_right),"\n",
        "top_left = ",d2s(top_left)," ,  ","top_right = ",d2s(top_right),"\n",
        "btm_left = ",d2s(btm_left)," ,  ","btm_right = ",d2s(btm_right) 
   ); 
}
//+------------------------------------------------------------------+
double GetBufferValue(int which_buffer,int which_bar)
{
   double tmp[1]= {0};
   CopyBuffer(handle,which_buffer,which_bar,1,tmp);
   return tmp[0];
}
//+------------------------------------------------------------------+
//convertir doble en cadena
string d2s(double x)
{
  return DoubleToString(x,_Digits);
}
Archivos adjuntos:
test_SDC.mq5  3 kb
 
Indicators: Standard Deviation Channel MT4
Indicators: Standard Deviation Channel MT4
  • 2021.08.20
  • www.mql5.com
Standard Deviation Channel MT4: Author: Ziheng Zhuang...
 
sería ideal, si hay una versión multi-marco de tiempo
 
¡¡¡Asombroso!!!