Mira cómo descargar robots gratis
¡Búscanos en Facebook!
Pon "Me gusta" y sigue las noticias
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Evalúe su trabajo en el terminal MetaTrader 5
- Publicado por:
- Vladimir Karputov
- Visualizaciones:
- 991
- Ranking:
- Publicado:
- 2017.01.20 12:43
- Actualizado:
- 2018.02.22 14:27
-
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
Autor de la idea — George F.Peskov, autor del código mq5 — barabashkakvn.
Sistema comercial basado en el cruce de dos iMA, MA, el stop-loss se establce de forma automática a partir de la magnitud ATR. Al abrir y cerrar una posición se envía un mensaje por email. Los parámetros se pueden seleccionar usando la simulación en la historia.
Obteniendo los valores de los indicadores en la primera y segunda barra:
//--- get Moving Average
mas=iMAGet(handle_iMA1,1); // media móvil larga 12
maf=iMAGet(handle_iMA2,1); // media móvil corta 4
mas_p=iMAGet(handle_iMA1,2); // media móvil larga 12
maf_p=iMAGet(handle_iMA2,2); // media móvil corta 4
Atr=iATRGet(0);
mas=iMAGet(handle_iMA1,1); // media móvil larga 12
maf=iMAGet(handle_iMA2,1); // media móvil corta 4
mas_p=iMAGet(handle_iMA1,2); // media móvil larga 12
maf_p=iMAGet(handle_iMA2,2); // media móvil corta 4
Atr=iATRGet(0);
Comprobación de las condiciones de venta:
//--- Condiciones de venta
if(maf<mas && maf_p>=mas_p)
{
double lots=LotsOptimized();
double stop_loss=NormalizeDouble(m_symbol.Ask()+Atr,Digits());
res=m_trade.Sell(lots,Symbol(),m_symbol.Bid(),stop_loss,0);
if(SndMl==true && res)
{
sHeaderLetter="Operation SELL by"+Symbol()+"";
sBodyLetter="Deal Sell by"+Symbol()+" at "+DoubleToString(m_symbol.Bid(),Digits())+
", and set stop/loss at "+DoubleToString(stop_loss,Digits())+"";
sndMessage(sHeaderLetter,sBodyLetter);
}
return;
}
if(maf<mas && maf_p>=mas_p)
{
double lots=LotsOptimized();
double stop_loss=NormalizeDouble(m_symbol.Ask()+Atr,Digits());
res=m_trade.Sell(lots,Symbol(),m_symbol.Bid(),stop_loss,0);
if(SndMl==true && res)
{
sHeaderLetter="Operation SELL by"+Symbol()+"";
sBodyLetter="Deal Sell by"+Symbol()+" at "+DoubleToString(m_symbol.Bid(),Digits())+
", and set stop/loss at "+DoubleToString(stop_loss,Digits())+"";
sndMessage(sHeaderLetter,sBodyLetter);
}
return;
}
Comprobación de las condiciones de compra:
//--- Condiciones de compra
: if(maf>mas && maf_p<=mas_p)
{
double lots=LotsOptimized();
double stop_loss=NormalizeDouble(m_symbol.Bid()-Atr,Digits());
res=m_trade.Buy(lots,Symbol(),m_symbol.Ask(),stop_loss,0);
if(SndMl==true && res)
{
sHeaderLetter="Operation BUY at"+Symbol()+"";
sBodyLetter="Deal Buy at"+Symbol()+" for "+DoubleToString(m_symbol.Ask(),Digits())+
", and set stop/loss at "+DoubleToString(stop_loss,Digits())+"";
sndMessage(sHeaderLetter,sBodyLetter);
}
return;
}
: if(maf>mas && maf_p<=mas_p)
{
double lots=LotsOptimized();
double stop_loss=NormalizeDouble(m_symbol.Bid()-Atr,Digits());
res=m_trade.Buy(lots,Symbol(),m_symbol.Ask(),stop_loss,0);
if(SndMl==true && res)
{
sHeaderLetter="Operation BUY at"+Symbol()+"";
sBodyLetter="Deal Buy at"+Symbol()+" for "+DoubleToString(m_symbol.Ask(),Digits())+
", and set stop/loss at "+DoubleToString(stop_loss,Digits())+"";
sndMessage(sHeaderLetter,sBodyLetter);
}
return;
}
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/16949

Indicador en tiempo real para comerciar con scalping en FORTS.

Sistema comercial de tendencia Exp_FisherTransform_X2, basado en las señales de dos indicadores FisherTransform.

Experto Exp_2pbIdealMA basado en los cruces de dos medias móviles con rellenado según tendencia.

Commodity Channel Index fractal.