Rejoindre la communauté
banner_forum
Devenez membre de la plus grande
communauté francophone sur le Forex
Partagez, échangez et apprenez en gagnant des crédits sur votre compte de trading

Quelqu'un peut m'aider à créer ce Robot sur Mql5 SVP

  • dan.bondonga1998

    Ma stratégie est simple
    Pour les Buy,
    Lancer un buy B1 n'importe où avec lot L1, un stoploss SL1et un takeprofit TP1
    Si le trade touche le TP, on recommence l'operation sinon
    on lance 2e buy B2 avec un lot L2,un stoploss SL2 et un takeprofit TP2
    Si le trade touche le TP, on recommence la 1ere operation sinon
    on lance 3e buy B3 avec un lot L3,un stoploss SL3 et un takeprofit TP3
    ET ainsi de suite jusqu'à même 20 TRADE
    ET ON VA PAREILLE AVEC LES SELL
    LES LOTS sont deja calculés dans mon fichiers excel
    merci d'avance
    dan.bondonga1998 a joint une image
    quelqu-un-peut-m-aider-a-creer-ce-robot-sur-mql5-svp-13567
  • arka3579

    Hello,
    Quelle conditions fera que ton marché par en BEARISH (sell) ?
    Le fait de toucher le SL ?

    Pour les lots, applique un coef générique 1.7 ca peut être plus simple non ?
  • dan.bondonga1998

    J'ai pas compris vos questions
  • stani

    Avec un R/R de 6 ton taux de réussite sera mécaniquement de...1/6, donc la base moyenne de ta martingale sera d'entrée a 0.22, ce qui fera une grosse différence a la fin. Elle arrivera, par ce que soit certain qu'elle arrivera, 6 fois plus vite!
    Ne t'éloigne pas d'un R/R de 1, surtout si ta condition BUY/SELL est le SL ou le TP.

    Comme le dit arka, utilise des coef. tu pourras régler cela finement.

    Quand tu parles de t'aider, cela veux t il dire que tu as fait un robot et que tu veux qu'on t'aide sur certains points ou a corriger d'éventuelles erreurs, ou bien qu'on le fasse pour toi , ce qui est quand même très diffèrent?
    Modifié le 2021-07-04 08:04:36 par stani
  • dan.bondonga1998

    Merci pour vos conseil, j'ai déjà fait quelques je vais une correction pour mieux répondre à mon besoin.
    le code ci-dessous

    #include <Trade\Trade.mqh>
    CTrade trade;
    input double lot1 = 0.1;
    input double lot2 = 0.2;
    input double lot3 = 0.4;
    input double lot4 = 0.8;
    input double lot5 = 1.6;
    int step = 1;

    void OnTick()
    {
    if(PositionsTotal()<1)
    {
    debut();
    }
    }

    void debut()
    {
    switch(step)
    {
    case 1:
    {step1();}
    break;
    case 2:
    {step2();}
    break;
    case 3:
    {step3();}
    break;
    case 4:
    {step4();}
    break;
    case 5:
    {step5();}
    break;
    default:
    {OnTick();}
    break;

    }
    }

    void step1()
    {
    double buy = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
    double sell = SymbolInfoDouble(_Symbol, SYMBOL_BID);
    double sl = buy - 5 * _Point;
    double tp = buy + 30 * _Point;

    if(trade.Buy(lot1, _Symbol, buy, sl, tp))
    {
    if(HistorySelect(TimeCurrent(), TimeCurrent()))
    {
    ulong ticket1 = HistoryDealGetTicket(0);
    double profit = HistoryDealGetDouble(ticket1, DEAL_PROFIT);
    Comment(profit);
    int code = (int)trade.ResultRetcode();
    ulong ticket = trade.ResultOrder();
    if(profit < 0)
    {
    step ++;
    }
    }
    }

    }

    void step2()
    {

    double buy = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
    double sell = SymbolInfoDouble(_Symbol, SYMBOL_BID);
    double sl = buy - 5 * _Point;
    double tp = buy + 30 * _Point;

    if(trade.Buy(lot2, _Symbol, buy, sl, tp))
    {
    if(HistorySelect(TimeCurrent(), TimeCurrent()))
    {
    ulong ticket1 = HistoryDealGetTicket(0);
    double profit = HistoryDealGetDouble(ticket1, DEAL_PROFIT);
    Comment(profit);
    int code = (int)trade.ResultRetcode();
    ulong ticket = trade.ResultOrder();
    if(profit < 0)
    {
    step ++;
    }
    }
    }

    }

    void step3()
    {

    double buy = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
    double sell = SymbolInfoDouble(_Symbol, SYMBOL_BID);
    double sl = buy - 5 * _Point;
    double tp = buy + 30 * _Point;

    if(trade.Buy(lot3, _Symbol, buy, sl, tp))
    {
    if(HistorySelect(TimeCurrent(), TimeCurrent()))
    {
    ulong ticket1 = HistoryDealGetTicket(0);
    double profit = HistoryDealGetDouble(ticket1, DEAL_PROFIT);
    Comment(profit);
    int code = (int)trade.ResultRetcode();
    ulong ticket = trade.ResultOrder();
    if(profit < 0)
    {
    step ++;
    }
    }
    }

    }

    void step4()
    {

    double buy = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
    double sell = SymbolInfoDouble(_Symbol, SYMBOL_BID);
    double sl = buy - 5 * _Point;
    double tp = buy + 30 * _Point;

    if(trade.Buy(lot4, _Symbol, buy, sl, tp))
    {
    if(HistorySelect(TimeCurrent(), TimeCurrent()))
    {
    ulong ticket1 = HistoryDealGetTicket(0);
    double profit = HistoryDealGetDouble(ticket1, DEAL_PROFIT);
    Comment(profit);
    int code = (int)trade.ResultRetcode();
    ulong ticket = trade.ResultOrder();
    if(profit < 0)
    {
    step ++;
    }
    }
    }

    }

    void step5()
    {

    double buy = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
    double sell = SymbolInfoDouble(_Symbol, SYMBOL_BID);
    double sl = buy - 5 * _Point;
    double tp = buy + 30 * _Point;

    if(trade.Buy(lot5, _Symbol, buy, sl, tp))
    {
    if(HistorySelect(TimeCurrent(), TimeCurrent()))
    {
    ulong ticket1 = HistoryDealGetTicket(0);
    double profit = HistoryDealGetDouble(ticket1, DEAL_PROFIT);
    Comment(profit);
    int code = (int)trade.ResultRetcode();
    ulong ticket = trade.ResultOrder();
    if(profit < 0)
    {
    step = 1;
    }
    }
    }

    }
    //+------------------------------------------------------------------+