Corridor BARs MT5
- Indicadores
- Konstantin Nikitin
- Versión: 1.0
- Activaciones: 5
El indicador muestra los límites superior, medio e inferior del precio para un determinado periodo de tiempo.
Además, se muestran dos medias móviles (MA).
Parámetros
- CTType: base del corredor. Hora: horas, Día: días, Barras: barras
- CTPrice: tipo de precio, por barras. OpenClose: Precios de apertura/cierre, HighLow: Precios de apertura/cierre.
- CTShift: desplazamiento del corredor
- CTNum: cuánto considerar para construir un corredor, min 2
- CTPeriodFast: Periodo rápido, mín. 2
- CTShiftFast: Desplazamiento MA rápido
- CTMethodFast: Método de promediado rápido
- CTPeriodSlow: Periodo lento, min 2
- CTShiftSlow: Desplazamiento MA lento
- CTMethodSlow: Método de promediado lento
Portapapeles
- 0: Corredor superior
- 1: Corredor inferior
- 2: Media del corredor
- 3: MA rápido
- 4: MA lento
Totalmente autónomo. Sin necesidad de indicadores adicionales.
Ejemplo de llamada a indicadores:
input int CTType = 2, // 0 horas, 1 días, 2 bares CTPrice = 0, // 0 Abierto/Cerrado, 1 Alto/Bajo CTNum = 50, CTPeriodFast = 9, CTShiftFast = 0; input ENUM_MA_METHOD CTMethodFast = MODE_SMA; input int CTPeriodSlow = 15, CTShiftSlow = 0; input ENUM_MA_METHOD CTMethodSlow = MODE_SMA; int handle; struct SBuffers { double array[]; } Buffers[5]; void OnInit() { handle = iCustom(_Symbol, 0, "CorridorTrade", CTType, CTPrice, 0, CTNum, CTPeriodFast, 0, CTMethodFast, CTPeriodSlow, 0, CTMethodSlow); if(handle==INVALID_HANDLE) ExpertRemove(); for(int i=0; i<5; i++) ArraySetAsSeries(Buffers[i].array, true); } void OnTick() { for(int i=0; i<5; i++) { ArrayFree(Buffers[i].array); if( CopyBuffer(handle, i, 0, 1, Buffers[i].array) != 1 ) return; } Comment( "Top: ", DoubleToString(Buffers[0].array[0], _Digits), "\n", "Bottom: ", DoubleToString(Buffers[1].array[0], _Digits), "\n", "Medium: ", DoubleToString(Buffers[2].array[0], _Digits), "\n", "Fast: ", DoubleToString(Buffers[3].array[0], _Digits), "\n", "Slow: ", DoubleToString(Buffers[4].array[0], _Digits) ); }
