Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
esto no se está cargando en la compilación 765.
Probablemente esté protegido
. Esto no está cargando en la compilación 765 [/ QUOTE].
Se podría poner este indicador (soporte y resistencia) dentro de la EMA, como imagen?
Abrir compra o venta cuando cruza las líneas de soporte o resistencia.
Abrir venta con la media móvil cuando cruza la línea de las bandas de bollinger.
soporte y resistencia
estos son los indicadores
https://www.mql5.com/en/forum/general
Bandas
//+------------------------------------------------------------------+
//| Bands.mq4
//| Copyright 2005-2014, MetaQuotes Software Corp. |
//| MQL4: comercio automatizado de divisas, probador de estrategias e indicadores personalizados con MetaTrader ||
//+------------------------------------------------------------------+
#property copyright "2005-2014, MetaQuotes Software Corp."
#property link "http://www.mql4.com"
#property description "Bandas de Bollinger"
#property strict
#include
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 LightSeaGreen
#property indicator_color2 LightSeaGreen
#property indicator_color3 LightSeaGreen
//--- parámetros del indicador
input int InpBandsPeriod=20; // Periodo de las bandas
input int InpBandsShift=0; // Desplazamiento de las bandas
input double InpBandsDeviations=2.0; // Desviación de las bandas
//--- buffers
double ExtMovingBuffer[];
double ExtUpperBuffer[];
double ExtLowerBuffer[];
double ExtStdDevBuffer[];
//+------------------------------------------------------------------+
//| Función de inicialización de los indicadores personalizados
//+------------------------------------------------------------------+
int OnInit(void)
{
//--- 1 buffer adicional utilizado para el conteo.
IndicatorBuffers(4);
IndicatorDigits(Dígitos);
//--- línea media
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMovingBuffer);
SetIndexShift(0,InpBandsShift);
SetIndexLabel(0, "Bandas SMA");
//--- banda superior
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtUpperBuffer);
SetIndexShift(1,InpBandsShift);
SetIndexLabel(1, "Bands Upper");
//--- banda inferior
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,ExtLowerBuffer);
SetIndexShift(2,InpBandsShift);
SetIndexLabel(2, "Bands Lower");
//--- buffer de trabajo
SetIndexBuffer(3,ExtStdDevBuffer);
//--- comprobar el parámetro de entrada
if(InpBandsPeriod<=0)
{
Print("Parámetro de entrada erróneo Bands Period=",InpBandsPeriod);
return(INIT_FAILED);
}
//---
SetIndexDrawBegin(0,InpBandsPeriod+InpBandsShift);
SetIndexDrawBegin(1,InpBandsPeriod+InpBandsShift);
SetIndexDrawBegin(2,InpBandsPeriod+InpBandsShift);
//--- inicialización realizada
return(INIT_SUCCEED);
}
//+------------------------------------------------------------------+
//| Bandas de Bollinger |
//+------------------------------------------------------------------+
int OnCalculate(const int tasas_total,
const int prev_calculado,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
int i,pos;
//---
if(rates_total<=InpBandsPeriod | InpBandsPeriod<=0)
return(0);
//--- contando desde 0 hasta rates_total
ArraySetAsSeries(ExtMovingBuffer,false);
ArraySetAsSeries(ExtUpperBuffer,false);
ArraySetAsSeries(ExtLowerBuffer,false);
ArraySetAsSeries(ExtStdDevBuffer,false);
ArraySetAsSeries(close,false);
//--- cero inicial
if(prev_calculado<1)
{
for(i=0; i<InpBandsPeriod; i++)
{
ExtMovingBuffer=EMPTY_VALUE;
ExtUpperBuffer=EMPTY_VALUE;
ExtLowerBuffer=EMPTY_VALUE;
}
}
//--- inicio del cálculo
if(prev_calculado>1)
pos=prev_calculado-1;
si no
pos=0;
//--- ciclo principal
for(i=pos; i<tasa_total && !IsStopped(); i++)
{
//--- línea media
ExtMovingBuffer=SimpleMA(i,InpBandsPeriod,close);
//--- calcular y anotar StdDev
ExtStdDevBuffer=StdDev_Func(i,close,ExtMovingBuffer,InpBandsPeriod);
//--- línea superior
ExtUpperBuffer=ExtMovingBuffer+InpBandsDeviations*ExtStdDevBuffer;
//--- línea inferior
ExtLowerBuffer=ExtMovingBuffer-InpBandsDeviations*ExtStdDevBuffer;
//---
}
//---- OnCalculate hecho. Devuelve el nuevo prev_calculado.
return(rates_total);
}
//+------------------------------------------------------------------+
//| Calcular desviación estándar |
//+------------------------------------------------------------------+
double StdDev_Func(int position,const double &price[],const double &MAprice[],int period)
{
//--- variables
double StdDev_dTmp=0.0;
//--- comprobar la posición
if(posición>=periodo)
{
//--- calcualte StdDev
for(int i=0; i<periodo; i++)
StdDev_dTmp+=MathPow(precio[posición-i]-MAprecio[posición],2);
StdDev_dTmp=MathSqrt(StdDev_dTmp/periodo);
}
//--- devolver el valor calculado
return(StdDev_dTmp);
}
//+------------------------------------------------------------------+
MovingAverages.mqh no es fiable
Señal de punto verdadero true_point_signal.mq4
Renombrado indicador de super señales (repinta lo mismo) symphonie_market_emotion_indikator.mq4
He estado usando este durante algún tiempo y me gusta
Hola MrTools/Mladen, ¿podríais añadir alertas con flechas en cruces de indicadores/señales?
Gracias
Hola,
Aquí hay otra versión de los indicadores - una fusión de las alertas v3 y los indicadores de canal. Las alertas también pueden enviar notificaciones.
Tal vez usted lo encuentra útil
Un saludo, V.