Ayuda a la codificación - página 10

 

Alerta de correo electrónico RSI

Hola programadores,

realmente agradecido si alguien puede añadir una alerta de correo electrónico para complementar la alerta existente. Sólo debe enviar un correo electrónico durante la barra de precios actual cuando el nivel de RSI es golpeado la primera vez (por lo que no se inundan con mensajes de correo electrónico si salta hacia arriba y hacia abajo durante la barra de precios). Tengo cero conocimientos de programación mql, así que cualquier ayuda sería fantástica.

todo lo mejor,

malcolm

Archivos adjuntos:
rsi_alert.mq4  3 kb
 
m1nich:
Hola programadores,

Realmente agradezco si alguien puede agregar una alerta de correo electrónico para complementar la alerta existente. Sólo debería enviar un correo electrónico durante la barra de precios actual cuando el nivel RSI es golpeado por primera vez (para que no me inunden con correos electrónicos si salta hacia arriba y hacia abajo durante la barra de precios). Tengo cero conocimientos de programación mql, así que cualquier ayuda sería fantástica.

todo lo mejor,

malcolm

Hola Malcolm,

Pruebe aquí https://www.mql5.com/en/forum/180648

post# 2928

 

Alerta de correo electrónico RSI

Hola MrTools,

¡Wunderbar!

todo lo mejor

 

Indicador con errores

Hola codificadores,

He encontrado este indicador. Es bueno para el comercio manual. El indicador muestra el punto de equilibrio de varias órdenes. Por desgracia, tiene varios errores. ¿Puede alguien corregir esto?

¿Añadir una nueva función?

Si cambio el tp o sl con una orden, que es sl y tp de las otras órdenes se cambian automáticamente (como e-MoveSLTPbyMouse.mq4).

Gracias.

¡Perdón por mi mal inglés !

Archivos adjuntos:
 
rajivzzz:
Hola

Es alguien sabe cómo crear el indicador en un EA tengo este indicador, pero puedo perder muchas veces mejor posición para la salida, entrada y tomar ganancias porque no se sientan frente a la PC cada vez, pero funciona muy bien, en cada marco de tiempo en cualquier par en el mercado natural. es su cualquier ayuda en él o cualquier lugar donde puedo establecer para EA para el comercio de robo.

Ver

La LINEAROJA es una buena posición de venta

LaLINEA VERDE es una buena posición de compra

Línea central de TAKE PROFIT

Puedo mostrar algunas de mis operaciones en Eur/Usd en el gráfico 1H con líneas rosas, todas cerradas con ganancias.

Quiero que el EA trabaje así: vender en la línea roja, golpear el TP en la línea central, comprar en la línea verde, golpear el TP en la línea central

Hola

Creo que es posible y puedo ayudar. La codificación de un EA con tiene que cumplir ciertas condiciones. PM me para más discusiones.

Gracias.

 
rvvidhul:
Expertos amablemente código un indicador MT4 para el gráfico adjunto.Gracias de antemano.Esto se basa en Heikin Ashi pivote y NMA sistema de swing.

Aquí está el código Afl para este gráfico,puede alguien convertir esta Fórmula en un indicador de Metatrader.

_SECTION_BEGIN("NMA Swing Explorer");

SetBarsRequired(200,0);

GraphXSpace = 5;

SetChartOptions(0,chartShowArrows|chartShowDates);

k = Optimize("K",Param("K",2,0.25,5,0.25),0.25,5,0.25);

Per= Optimize("atr",Param("atr",20,3,20,1),3,20,1);

HACLOSE=(O+H+L+C)/4;

HaOpen = AMA( Ref( HaClose, -1 ), 0,5 );

HaHigh = Max( H, Max( HaClose, HaOpen ) );

HaLow = Min( L, Min( HaClose, HaOpen ) );

if( ParamToggle("Plot Heikin-Ashi", "No,Yes", 1 ) )

PlotOHLC( HaOpen, HaHigh, HaLow, HaClose, "Heikin Ashi " + Name(), colorBlack, styleCandle );

si no

Plot( C, "Velas regulares " + Name(), colorBlack, styleCandle );

j=Haclose;

//================================================================================================================

//=========================Indicator=================================================================================

f=ATR(15);

rfsctor = WMA(H-L, Per);

revers = k * rfsctor;

Tendencia = 1;

NW[0] = 0;

for(i = 1; i < BarCount; i++)

{

if(Tendencia == 1)

{

if(j < NW)

{

Tendencia = -1;

NW = j + Revers;

}

si no

{

Tendencia = 1;

if((j - Revers) > NW)

{

NW = j - Revers;

}

si no

{

NW = NW;

}

}

}

if(Trend == -1)

{

if(j > NW)

{

Tendencia = 1;

NW = j - Revers;

}

si no

{

Tendencia = -1;

if((j + Revers) < NW)

{

NW = j + Revers;

}

si no

{

NW = NW;

}

}

}

}

//===============system================

Plot(NW, "", IIf(Trend == 1, 27, 4), 4);

Comprar=Cubrir=Cruz(j,nw);

Sell=Short=Cross(nw,j);

SellPrice=ValorCuando(Sell,C,1);

PrecioCompra=ValorCuando(Compra,C,1);

Long=Flip(Buy,Sell);

Shrt=Flip(Sell,Buy );

NMAB= NW<HACLOSE;

NMAS= NW>HACLOSE;

NMA_status= WriteIf(NMAB, "BUY MODE", WriteIf(NMAS, "SELL MODE", "NEUTRAL"));

NMAS_Col=IIf(NMAB, colorVerde, IIf(NMAS, colorRojo, colorGris claro));

Filtro=1;

AddColumn( NW, "SAR", 1.2 );

AddColumn( HACLOSE, "HA Close", 1.2 );

AddColumn( C, "Close", 1.2 );

AddTextColumn(NMA_status, "MODE", 1, colorWhite, NMAS_Col);

_SECTION_END();

//=================TITLE===========================================================================================

_SECTION_BEGIN("Título");

if( Status("action") == actionIndicator )

(

Title = EncodeColor(colorWhite)+ "NICK MA Swing System" + " - " + Name() + " - " + EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorWhite) +

" - " + Date() +" - "+"\n" +EncodeColor(colorRed) +"Op-"+O+" "+"Hi-"+H+" "+"Lo-"+L+" "+

"Cl-"+C+" "+ "Vol="+ WriteVal(V)+"\n "+

EncodeColor(colorLima)+

WriteIf (Buy , " GO LONG / Reverse Signal at "+C+" ","")+

WriteIf (Sell , " EXIT LONG / Reverse Signal at "+C+" ","")+"\n "+EncodeColor(colorWhite)+

WriteIf(Sell , "Ganancia/Pérdida total de la última operación Rs. "+(C-Precio de compra)+"","")+

WriteIf(Buy , "Beneficio/pérdida total de la última operación Rs. "+(Precio de venta-C)+"",")+

WriteIf(Long AND NOT Buy, "Operación: Larga - Precio de entrada Rs. "+(Precio de compra),"")+

WriteIf(shrt AND NOT Sell, "Trade : Short - Entry price Rs. "+(SellPrice),"")+"\n "+

WriteIf(Long AND NOT Buy, "Current Profit/Loss Rs. "+(C-BuyPrice)+"",")+

WriteIf(shrt AND NOT Sell, "Current Profit/Loss Rs. "+(SellPrice-C)+""));

PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, L, Offset=-40);

PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0,L, Offset=-50);

PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-45);

PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorRed, 0, H, Offset=40);

PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50);

PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45);

SECCIÓN_FIN();

 
rajivzzz:
no lo compartí más

repintar, LOL

Funciona como HolyGrial

si no sabes como se hace, no puedes hacer nada por mi

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Que tipo más simpático e inteligente!!!!!!!!!!!!!!!!!!!!!!!!

 

Hola, Laurus, Sólo tienes que cambiar el orden de los buffers. Mt4 muestra el buffer 3 uno encima del buffer 2 encima del buffer 1 etc.

 

Orden de la capa de objetos de los indicadores

Tengo este clásico MACD con histograma donde el histograma se dibuja delante de las líneas del MACD y de la Señal. ¿Podría alguien mostrarme cómo poner el histograma en la parte de atrás? He intentado averiguarlo, pero sin éxito.

Gracias,

Laurus

//+---------------------------------------------------------------------------+

//| _MACD.mq4 |||

//| El MACD Clásico con Histograma ||

//+---------------------------------------------------------------------------+

//---- configuración del indicador

#propiedad indicator_separate_window

#property indicator_buffers 3

#propiedad indicador_color1 Negro

#propiedad indicator_color2 Rojo

#propiedad indicator_color3 SteelBlue

#propiedad indicator_width1 1

#propiedad indicator_width2 1

#propiedad indicador_ancho3 2

//---- parámetros del indicador

extern int FastEMA=12;

extern int SlowEMA=26;

extern int SignalEMA=9;

//---- búferes del indicador

double MACD_Buffer[];

double SIGNAL_Buffer[];

double HISTOGRAM_Buffer[];

//+------------------------------------------------------------------+

//| Función de inicialización de los indicadores personalizados ||.

//+------------------------------------------------------------------+

int init() {

//---- ajustes de dibujo

SetIndexStyle(0,DRAW_LINE);

SetIndexStyle(1,DRAW_LINE);

SetIndexStyle(2,DRAW_HISTOGRAM);

SetIndexDrawBegin(1,SignalEMA);

IndicatorDigits(Dígitos+1);

//---- mapeo de buffers de indicadores

SetIndexBuffer(0,MACD_Buffer);

SetIndexBuffer(1,SIGNAL_Buffer);

SetIndexBuffer(2,HISTOGRAM_Buffer);

//---- nombre para la etiqueta de la DataWindow y la subventana del indicador

IndicatorShortName("_MACD ("+FastEMA+", "+SlowEMA+", "+SignalEMA+")";

SetIndexLabel(0, "MACD");

SetIndexLabel(1, "Señal");

SetIndexLabel(2, "Histograma");

//---- inicialización realizada

return(0);

}

//+------------------------------------------------------------------+

//| Convergencia/Divergencia de Medias Móviles ||

//+------------------------------------------------------------------+

int inicio() {

int i

int límite;

int counted_bars = IndicatorCounted();

if(counted_bars < 0) return(-1); //---- comprobar posibles errores

if(counted_bars > 0) counted_bars--; //---- se vuelve a contar la última barra contada

limit = Bars - counted_bars;

//---- Dibuja la línea MACD

for(i=0; i<limit; i++) { //-- bucle desde la barra actual hasta la primera barra

MACD_Buffer = iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i) - iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i)

}

//---- Dibuja la línea de la señal y el histograma

for(i=0; i<limit; i++) { //-- mismo bucle anterior

SIGNAL_Buffer = iMAOnArray(MACD_Buffer,Bars,SignalEMA,0,MODE_EMA,i);

HISTOGRAM_Buffer = MACD_Buffer - SIGNAL_Buffer;

}

//---- Hecho

return(0);

}

//+-----------------------------------------------------------------+

 
christinaLi:
Hola Laurus, Solo tienes que cambiar el orden de los buffers. Mt4 muestra el buffer 3 uno encima del buffer 2 encima del buffer 1 etc.

¡Genial christinaLi! Muchas gracias por tu respuesta y ayuda. Lo he conseguido. Ahora funciona perfectamente

Por si alguien quiere tenerlo con el histograma atrás he adjuntado el archivo.

- Laurus

Archivos adjuntos:
_macd.mq4  3 kb