Meu robô daytrade

指定

//+------------------------------------------------------------------+
//| 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());
    }
}

反馈

1
开发者 1
等级
(153)
项目
240
34%
仲裁
20
45% / 30%
逾期
3
1%
空闲
2
开发者 2
等级
(600)
项目
694
33%
仲裁
43
47% / 44%
逾期
12
2%
繁忙
3
开发者 3
等级
(298)
项目
477
40%
仲裁
105
40% / 24%
逾期
81
17%
已载入
发布者: 2 代码
4
开发者 4
等级
项目
0
0%
仲裁
0
逾期
0
空闲
5
开发者 5
等级
(7)
项目
8
0%
仲裁
4
0% / 100%
逾期
3
38%
空闲
6
开发者 6
等级
(50)
项目
51
8%
仲裁
0
逾期
0
空闲
7
开发者 7
等级
项目
0
0%
仲裁
0
逾期
0
空闲
8
开发者 8
等级
项目
0
0%
仲裁
0
逾期
0
空闲
9
开发者 9
等级
项目
0
0%
仲裁
0
逾期
0
空闲
10
开发者 10
等级
项目
0
0%
仲裁
0
逾期
0
空闲
11
开发者 11
等级
(3)
项目
3
0%
仲裁
2
0% / 50%
逾期
0
工作中
12
开发者 12
等级
(574)
项目
945
47%
仲裁
309
58% / 27%
逾期
125
13%
空闲

项目信息

预算
40+ USD