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
- Visualizaciones:
- 18
- Ranking:
- Publicado:
-
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
QUÉ IMPRIME
Para cada símbolo: dígitos, punto, tamaño del tick y valor, tamaño del contrato, lote mínimo / paso / máximo, spread y si es variable, modo de ejecución, swap largo y corto, y el margen requerido para un lote mínimo en relación con tu margen libre actual. A continuación, la parte que responde a la pregunta en sí:
--- XAUUSD (bid 4402.15 / ask 4402.63) --------------------- stops level 350 pts | freeze level 0 pts | EFFECTIVE band 351 pts VERDICT: a stop/pending placed 100 pts from price would be REJECTED as 'Invalid price' (band is 351 pts) buy at ask 4402.63: you asked SL 4401.63 -> nearest legal SL 4399.12 (moved out)
double MinStopDistance(const string sym) { long stops = SymbolInfoInteger(sym, SYMBOL_TRADE_STOPS_LEVEL); long freeze = SymbolInfoInteger(sym, SYMBOL_TRADE_FREEZE_LEVEL); long band = (stops > freeze ? stops : freeze) + 1; return band * SymbolInfoDouble(sym, SYMBOL_POINT); }
double LegalStopLoss(const string sym, const bool isBuy, const double price, const double wanted) { double dist = MinStopDistance(sym); int digits = (int)SymbolInfoInteger(sym, SYMBOL_DIGITS); double sl = wanted; if(isBuy) { if(price - sl < dist) sl = price - dist; } else { if(sl - price < dist) sl = price + dist; } return NormalizeDouble(sl, digits); }
Una parada que ya es legal vuelve sin cambios, por lo que es seguro hacer pasar todas las paradas por ella. Incorporar el cálculo existente solo cuesta una línea:
double sl = LegalStopLoss(_Symbol, true, ask, ask - atr * 1.5);
NOTAS SOBRE LA INTERPRETACIÓN DE LOS RESULTADOS
Los símbolos deben aparecer en «Market Watch» y deben haber registrado al menos un tick. Si un símbolo no muestra datos de ticks, abre su gráfico una vez y vuelve a ejecutar la operación.
Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/code/76178
Session Opening Range Breakout EA
Un asesor experto que mide los máximos y mínimos de un intervalo de apertura de sesión definido y, a continuación, opera la ruptura confirmada de ese rango con un tamaño de posición basado en el riesgo y un límite de una operación por sesión.
Reverse RSI Bands
«Reverse RSI Bands» es un indicador adelantado que aplica un análisis matemático inverso a la fórmula del RSI. Traza bandas de precios objetivo precisas directamente en el gráfico principal, mostrando exactamente a qué precio el RSI alcanzará los niveles de sobrecompra o sobreventa que hayas especificado, en tiempo real.
Custom Simple Moving Average
Una media móvil adaptativa de dos etapas (media base + suavizado secundario) que cambia de color en función de la pendiente y marca con flechas los cruces entre el precio y la media.
Accelerator Oscillator (AC)
El indicador Acceleration/Deceleration (AC, Aceleración/Desaceleración) mide la aceleración y la desaceleración de la fuerza impulsora del mercado.
