Pon "Me gusta" y sigue las noticias
Deje un enlace a él, ¡qué los demás también lo valoren!
Evalúe su trabajo en el terminal MetaTrader 5
- Publicado por:
- Vladimir Karputov
- Visualizaciones:
- 733
- Ranking:
- Publicado:
- 2018.07.12 11:06
-
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
Autor de la idea: Vladimir Pastushak.
Autor del código MQL5: Vladimir Karputov.
El Asesor Experto opera usando el indicador "Moving Average", todas las funciones comerciales y preparatorias están implementadas en forma de la clase comercial CMoving en el archivo separado Moving.mqh.
Parámetros de entrada
- magic number - identificador único del EA;
- Lots - volumen de la posición (se permite especificar el volumen de la posición más de cero o el tamaño del riesgo más de cero);
- Risk - riesgo de la operación en por cientos del margen libre (se permite especificar el volumen de la posición más de cero o el tamaño del riesgo más de cero);
- MA: period - indicador "Moving Average": timeframe;
- MA: averaging period - indicador "Moving Average": período de promediación;
- MA: horizontal shift - indicador "Moving Average": desplazamiento horizontal;
- MA: smoothing type - indicador "Moving Average": método de promediación;
- MA: type of price - indicador "Moving Average": tipo de precios para calcular el indicador;
- Take Profit - Take Profit (para el caso mientras tenemos abierta una posición);
- Lot multiplier for a series of Positions - aumento del volumen de la posición para una serie de posiciones;
- Distance from Moving Average - distancia desde el indicador "Moving Average";
- Additive in the presence of the general profit - adición a la distancia si hay beneficio total.
El EA utiliza el principio del «columpio», teniendo la posibilidad de aumentar los lotes. Se usa una estrategia simple:
- Si el precio supera el indicador "Moving Average" a una distancia establecida Distance from Moving Average, abrimos una posición BUY;
- Si el precio se aparta hacia abajo del indicador "Moving Average" a una distancia establecida Distance from Moving Average, abrimos una posición SELL con el mismo lote;
- Si el precio a subido hacia arriba de la posición BUY con el precio más alto a una distancia establecida Distance from Moving Average, abrimos la siguiente posición BUY;
- Si el precio a ha bajado hacia abajo de la posición SELL con el precio más bajo a una distancia establecida Distance from Moving Average, abrimos la siguiente posición SELL;
Clase CMoving
Establecimiento de parámetros | |
Initialization |
Inicialización inicial - se establecen los siguientes parámetros:
|
GetFlag |
Devuelve el estado de la bandera de inicialización. Se usa como una función auxiliar durante la llamada desde el EA principal para comprobar el estado de la variable interna m_init de la clase CMoving. |
LotsOrRisk |
Establecimiento del tipo del cálculo del lote de las posiciones:en modo manual (parámetro lots más de cero) o en por cientos del riesgo de la transacción del margen libre (parámetro risk más de cero). |
CreateMA |
Creación del indicador "Moving Average". |
TakeProfit |
Establecimiento del parámetro Take Profit. |
Multiplier |
Establecimiento del parámetro del aumento del lote. |
DistanceMA |
Establecimiento de la distancia desde el indicador "Moving Average". |
ProfitPlus |
Establecimiento de la distancia adicional en caso del beneficio general. |
Función principal | |
Processing |
Función principal en la que se realizan los cálculos. |
Funciones de la clase con el especificador de acceso protected | |
RefreshRates |
Actualización de cotizaciones para el símbolo. |
CheckVolumeValue |
Comprobación de la corrección del volumen introducido de la posición (la comprobación se usa en caso del establecimiento manual de la posición). |
IsFillingTypeAllowed |
Comprobación del modo del relleno de órdenes. |
iMAGet |
Obtención del valor del indicador "Moving Average" en la barra con el índice index. |
CalculateAllPositions |
Obtención de la información sobre las posiciones por una llamada:
|
Prices |
Obtención de los precios de cálculo para la posición BUY y SELL tomando en cuenta la distancia establecida Distance from Moving Average. |
LotCheck |
Comprobación y normalización del volumen de la posición (se usa en caso del establecimiento manual del tamaño de la posición). |
OpenBuy |
Apertura de la posición BUY. |
OpenSell |
Apertura de la posición SELL. |
PrintResult |
Impresión de los resultados de la ejecución de la operación comercial para la apertura de la posición. |
SetTakeProfit |
Establecimiento del nivel Take Profin para las posiciones o eliminación de todos los niveles Take Profit y Stop Loss (si el parámetro delete_take_profit es iguala a true). |
CompareDoubles |
Comparación de la igualdad de dos números reales. |
AwerageTakeProfit |
Cálculo y establecimiento del nivel único del Take Profit para las posiciones de un tipo determinado pos_type. |
GBPUSD, H1, modo de generación de los ticks «Cada tick a base de ticks reales».
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/20610

Esta utilidad rastrea las posiciones que han sido abiertas manualmente o por otro EA para el símbolo actual, y abre una posición opuesta. La apertura de posiciones se rastrea en OnTradeTransaction.

El sistema comercial trabaja sólo de jueves a viernes, tradea sólo con reversa.

Oscilador a base de la diferencia de dos medias móviles, líneas Tenkan-Sen de períodos diferentes en forma de un histograma de color.

El indicador 2XMA_Ichimoku_Oscillator tiene la posibilidad de cambiar el timeframe del indicador en los parámetros de entrada.