Termos de Referência
//+------------------------------------------------------------------+
//| Expert Advisor Inside Bar com ADX para MetaTrader |
//+------------------------------------------------------------------+
#property strict
// Definindo as variáveis
input int ADXPeriod = 14; // Período do ADX
input int ADXThreshold = 25; // Limite do ADX para confirmação da tendência
input double RiskRewardRatio = 2; // Risco/Recompensa (1:2)
double LotSize = 0.1; // Tamanho da Lote
// Função para verificar Inside Bar e executar a ordem
void OnTick()
{
// Calculando o valor do ADX
double ADXValue = iADX(NULL, 0, ADXPeriod, PRICE_CLOSE, 0);
// Verificando Inside Bar (vela atual dentro da vela anterior)
if (High[1] < High[2] && Low[1] > Low[2])
{
// Confirmando a tendência com o ADX
if (ADXValue > ADXThreshold)
{
// Definindo o Stop Loss e Take Profit com base na mínima/máxima do Inside Bar
double InsideBarHigh = High[1];
double InsideBarLow = Low[1];
double InsideBarRange = InsideBarHigh - InsideBarLow;
// Calculando Stop Loss e Take Profit
double StopLoss, TakeProfit;
// Condição de compra (rompimento da máxima do Inside Bar)
if (Close[1] > InsideBarHigh)
{
StopLoss = InsideBarLow; // SL na mínima do Inside Bar
TakeProfit = InsideBarHigh + RiskRewardRatio * InsideBarRange; // TP com risco/recompensa 1:2
// Abrindo a ordem de compra
OpenBuyOrder(StopLoss, TakeProfit);
}
// Condição de venda (rompimento da mínima do Inside Bar)
if (Close[1] < InsideBarLow)
{
StopLoss = InsideBarHigh; // SL na máxima do Inside Bar
TakeProfit = InsideBarLow - RiskRewardRatio * InsideBarRange; // TP com risco/recompensa 1:2
// Abrindo a ordem de venda
OpenSellOrder(StopLoss, TakeProfit);
}
}
}
}
// Função para abrir uma ordem de compra
void OpenBuyOrder(double StopLoss, double TakeProfit)
{
// Calculando o preço de abertura da ordem de compra
double AskPrice = Ask;
// Abrindo a ordem de compra
int ticket = OrderSend(Symbol(), OP_BUY, LotSize, AskPrice, 3, StopLoss, TakeProfit, "Inside Bar Buy", 0, 0, clrGreen);
if (ticket < 0)
{
Print("Erro ao abrir ordem de compra: ", GetLastError());
}
}
// Função para abrir uma ordem de venda
void OpenSellOrder(double StopLoss, double TakeProfit)
{
// Calculando o preço de abertura da ordem de venda
double BidPrice = Bid;
// Abrindo a ordem de venda
int ticket = OrderSend(Symbol(), OP_SELL, LotSize, BidPrice, 3, StopLoss, TakeProfit, "Inside Bar Sell", 0, 0, clrRed);
if (ticket < 0)
{
Print("Erro ao abrir ordem de venda: ", GetLastError());
}
}
Respondido
1
Classificação
Projetos
232
32%
Arbitragem
18
39%
/
33%
Expirado
1
0%
Trabalhando
2
Classificação
Projetos
618
33%
Arbitragem
35
37%
/
49%
Expirado
10
2%
Ocupado
3
Classificação
Projetos
469
39%
Arbitragem
102
40%
/
24%
Expirado
77
16%
Carregado
Publicou: 2 códigos
4
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
5
Classificação
Projetos
8
0%
Arbitragem
4
0%
/
100%
Expirado
3
38%
Livre
6
Classificação
Projetos
49
8%
Arbitragem
0
Expirado
0
Livre
7
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
8
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
9
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
10
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
11
Classificação
Projetos
3
0%
Arbitragem
1
0%
/
100%
Expirado
0
Livre
12
Classificação
Projetos
945
47%
Arbitragem
309
58%
/
27%
Expirado
125
13%
Livre
Pedidos semelhantes
Gold MetaLockDay EA
30+ USD
//+------------------------------------------------------------------+ //| Gold MetaLockDay EA (MT5) | //| Meta líquida diária com MIX de entradas (XAUUSD) | //+------------------------------------------------------------------+ #property strict #include <Trade/Trade.mqh> CTrade trade; //======================== INPUTS ========================// input string InpSymbol = ""; //
Preciso de um desenvolvedor com experiência comprovada em MQL5 , especificamente em automação de alertas do MetaTrader 5 com envio automático de mensagens e prints para canal do Telegram . O projeto não é do zero . Já possuo: Código do indicador / lógica em MQL5 Biblioteca de integração com Telegram (API já pronta) O trabalho consiste em ajustar / implementar um Expert Advisor para que, quando um alerta específico
Informações sobre o projeto
Orçamento
40+ USD