Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
- Visualizações:
- 12
- Avaliação:
- Publicado:
-
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
O QUE ELA IMPRIME
Para cada símbolo: dígitos, ponto, tamanho do tick e valor, tamanho do contrato, lote mínimo / intervalo / máximo, spread e se é flutuante, modo de execução, swap para posições compradas e vendidas, e a margem necessária para um lote mínimo em relação à sua margem livre atual. Em seguida, a parte que responde à pergunta propriamente dita:
--- 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); }
Uma parada que já é legal retorna inalterada, portanto, é seguro direcionar todas as paradas por ela. Para incluir seu cálculo existente, basta uma linha:
double sl = LegalStopLoss(_Symbol, true, ask, ask - atr * 1.5);
NOTAS SOBRE A INTERPRETAÇÃO DOS RESULTADOS
Os símbolos devem estar na janela “Market Watch” e devem ter registrado pelo menos um tick. Se um símbolo não apresentar dados de tick, abra seu gráfico uma vez e execute o procedimento novamente.
Traduzido do inglês pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/en/code/76178
Session Opening Range Breakout EA
Um Expert Advisor que mede a máxima e a mínima de um intervalo de abertura de sessão definido e, em seguida, opera com base na quebra confirmada desse intervalo, utilizando o dimensionamento de posição com base no risco e um limite de uma operação por sessão.
Reverse RSI Bands
O Reverse RSI Bands é um indicador antecedente que realiza uma análise matemática reversa da fórmula do RSI. Ele traça faixas precisas de preço-alvo diretamente no gráfico principal, mostrando exatamente a que preço o RSI atingirá os níveis de sobrecompra ou sobrevenda especificados por você, em tempo real.
Custom Simple Moving Average
Uma média móvel adaptativa de duas etapas (média básica + suavização secundária) que muda de cor de acordo com a inclinação e marca os cruzamentos entre o preço e a média com setas.
Accelerator Oscillator (AC)
O Indicador Acceleration/Deceleration (Aceleração/Desaceleração ou AC) mede a aceleração e a desaceleração da força motriz atual do mercado.
