Convert EA code from Metatrader MT4 to ProOrder

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #88158 quote
    coscar
    Participant
    Senior
    //------------------------------------------------------------------
    
    #property link ""
    
    extern double
    Lots = 0.1; // Assign Fixed Lot Size to be traded,AutoLotSize must be false
    
    extern int
    MaxUnits = 1, //Maximum units to trade per Currency Pair
    MagicNumber = 11282,
    EntryLookBack = 55, //Bars to lookback in calculating breakout prices
    ExitLookBack = 20, //Bars to lookback in calculating exit points
    ATRPeriod = 20;
    extern double
    SLMultiple = 2.5, //Multiply ATR by this to calculate StopLoss
    ReEntryMultiple = 0.5; //Multiple ATR by this to calculate Re Entry Point
    extern bool
    ATRBreakEven = false; //if set to true SL will be moved to break even level
    extern double
    BreakEvenMultiple = 2.5;
    extern bool
    LockProfit = true;
    extern double
    PipLockinStart = 50, //$ amount to start lock in
    LockinPercent = 30;
    
    //-------------------GLOBAL VARS
    bool
    Revenge = false;
    double
    RevengeSL = 3;
    
    static int
    TimeFrame;
    
    double LastEMAX,
    LastEMIN,
    LastXMAX,
    LastXMIN,
    LastOpen,
    PTLocked,
    PTPercent,
    spread,
    tickvalue,
    LastSL;
    double
    EMAX,
    EMIN,
    trueEMAX,
    trueEMIN,
    XMAX,
    N,
    XMIN;
    
    //+------------------------------------------------------------------+
    //| expert initialization function |
    //+------------------------------------------------------------------+
    
    int init()
    {
    
    //----------------------- GENERATE MAGIC NUMBER AND TICKET COMMENT
    MagicNumber = subGenerateMagicNumber(MagicNumber, Symbol(), Period());
    tickvalue = MarketInfo(Symbol(),MODE_TICKVALUE);
    subPrintDetails();
    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    
    //----------------------- PREVENT RE-COUNTING WHILE USER CHANGING TIME FRAME
    TimeFrame=Period();
    return(0);
    
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert start function |
    //+------------------------------------------------------------------+
    int start()
    {
    //-----------------SET VARIABLE VALUES
    int Ehighest_bar=Highest(NULL, 0, MODE_HIGH, EntryLookBack, 1);
    EMAX=NormalizeDouble (iHigh(NULL, 0, Ehighest_bar),Digits);
    
    int Elowest_bar=Lowest(NULL, 0, MODE_LOW, EntryLookBack, 1);
    EMIN=NormalizeDouble (iLow(NULL, 0, Elowest_bar),Digits);
    
    int Xhighest_bar=Highest(NULL, 0, MODE_HIGH, ExitLookBack, 1);
    XMAX=NormalizeDouble (iHigh(NULL, 0, Xhighest_bar),Digits);
    
    int Xlowest_bar=Lowest(NULL, 0, MODE_LOW, ExitLookBack, 1);
    XMIN=NormalizeDouble (iLow(NULL, 0, Xlowest_bar),Digits);
    
    N = NormalizeDouble ((iATR(NULL,0,20,1)),Digits);
    LastOpen = subLastOpenPrice();
    LastSL = subLastSLPrice();
    tickvalue = MarketInfo(Symbol(),MODE_TICKVALUE);
    subPrintDetails();
    spread = MarketInfo(Symbol(),MODE_SPREAD);
    
    // Unit=(AccountBalance()/100/N/Point*MarketInfo(Symbol(),MODE_TICKVALUE));
    double BStopLossLevel, SStopLossLevel;
    int BuyStopOrder = 0, SellStopOrder = 0, BuyOrder = 0, SellOrder = 0;
    int _GetLastError = 0, _OrdersTotal = OrdersTotal();
    double NSL = NormalizeDouble( N*RevengeSL, Digits );
    
    //-----------------TRAILING TOTAL PROFITS WITH REVENGE
    if(LockProfit)
    {
    
    PTPercent = NormalizeDouble(subPipProfitTotal()*(LockinPercent/100),0);
    
    if(subPipProfitTotal()>PipLockinStart)
    {
    if(PTPercent>PTLocked)
    {
    PTLocked = PTPercent;
    }
    }
    if(!Revenge)
    {
    if(PTLocked>0)
    {
    if(PTLocked>=subPipProfitTotal())
    {
    subCloseOrder();
    PTLocked = 0;
    }
    }
    }
    if(Revenge)
    {
    if(subOrderType()==OP_SELL){
    if(PTLocked>0){
    if(PTLocked>=subPipProfitTotal())
    {
    subCloseOrder();
    PTLocked = 0;
    if(OrderSend(Symbol(),OP_BUY,Lots,Ask,3,OrderOpenPrice()-NSL,0,"DocSniper EA",MagicNumber,0,Green)<0) { Print( "OrderOpen Error #", GetLastError() ); return(-1); } } } } if(subOrderType()==OP_BUY){ if(PTLocked>0){
    if(PTLocked>=subPipProfitTotal())
    {
    subCloseOrder();
    PTLocked = 0;
    if(OrderSend(Symbol(),OP_SELL,Lots,Bid,3,OrderOpenPrice()+NSL,0,"DocSniper EA",MagicNumber,0,Green)<0) { Print( "OrderOpen Error #", GetLastError() ); return(-1); } } } } } } double Unit = Lots; for ( int z = _OrdersTotal - 1; z >= 0; z -- )
    {
    
    if ( !OrderSelect( z, SELECT_BY_POS ) )
    {
    _GetLastError = GetLastError();
    Print( "OrderSelect( ", z, ", SELECT_BY_POS ) - Error #", _GetLastError );
    continue;
    }
    
    if ( OrderSymbol() != Symbol() ) continue;
    
    if ( OrderMagicNumber() != MagicNumber ) continue;
    
    switch ( OrderType() )
    {
    case OP_BUY: BuyOrder = OrderTicket(); break;
    case OP_SELL: SellOrder = OrderTicket(); break;
    case OP_BUYSTOP: BuyStopOrder = OrderTicket(); break;
    case OP_SELLSTOP: SellStopOrder = OrderTicket(); break;
    }
    }
    
    //-----------------------PENDING ORDERS PROCESS-----------------+
    
    if(subTotalOpenTrade()<1)
    { PTLocked = 0;
    LastXMIN = 0;
    LastXMAX = 9999999;
    BStopLossLevel = NormalizeDouble( EMAX - N*SLMultiple, Digits );
    SStopLossLevel = NormalizeDouble( EMIN + N*SLMultiple, Digits );
    double Spread = NormalizeDouble(spread*Point,Digits);
    string Modify1 = "none";
    string Modify2 = "none";
    trueEMAX = EMAX + Spread;
    trueEMIN = EMIN - Spread;
    
    if((LastEMAX != trueEMAX)||(BuyStopOrder<1)) { if (BuyStopOrder>0)
    {
    int cnt;
    int total = subTotalBuyStopTrade();
    for(cnt=0;cnt<total;cnt++)
    {
    OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
    
    if(OrderType()==OP_BUYSTOP && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
    {
    
    BuyStopOrder = OrderTicket();
    }
    OrderDelete(BuyStopOrder);
    }
    BuyStopOrder = 0;
    }
    
    if(subTotalBuyStopTrade()<1)
    {
    if (OrderSend(Symbol(),OP_BUYSTOP,Unit,trueEMAX,6,BStopLossLevel,0,"TURTLE POWER",MagicNumber,0,Green)<0)
    {
    Print( "OrderSend Error #", GetLastError() );
    return(-1);
    }
    LastEMAX = trueEMAX;
    double BuyPrice = LastEMAX;
    }
    }
    if((LastEMIN != trueEMIN)||(SellStopOrder<1)) { if (SellStopOrder>0)
    {
    total = subTotalSellStopTrade();
    for(cnt=0;cnt<total;cnt++)
    {
    OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
    
    if(OrderType()==OP_SELLSTOP && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
    {
    
    SellStopOrder = OrderTicket();
    }
    OrderDelete(SellStopOrder);
    }
    SellStopOrder = 0;
    }
    if(subTotalSellStopTrade()<1)
    {
    if (OrderSend(Symbol(),OP_SELLSTOP,Unit,trueEMIN,6,SStopLossLevel,0,"TURTLE POWER",MagicNumber,0,Green)<0) { Alert( "OrderSend Error #", GetLastError() ); return(-1); } LastEMIN = trueEMIN; double SellPrice = LastEMIN; } } } //-----------------------------------------------------+ //$$$$$$$$$$$$$$$$(OPEN BUY PROCESS)$$$$$$$$$$$$$$$$$$$+ //-----------------------------------------------------+ if(BuyOrder>0)
    {
    if (SellStopOrder>0)
    {
    if ( !OrderDelete( SellStopOrder ) )
    {
    Alert( "OrderDelete Error #", GetLastError() );
    return(-1);
    }
    }
    LastOpen = subLastOpenPrice();
    //-------------PENDING REENTRY PROCESS
    total = subTotalOpenTrade();
    if(total<MaxUnits)
    {
    double PendingTotal = subTotalBuyStopTrade();
    if(PendingTotal<1) { BuyPrice = NormalizeDouble((LastOpen+N*ReEntryMultiple),Digits); double SL = NormalizeDouble(BuyPrice - N*SLMultiple, Digits ); if(BuyPrice>Bid){
    if (OrderSend(Symbol(),OP_BUYSTOP,Unit,BuyPrice,6,SL,0,"TURTLE POWER",MagicNumber,0,Green)<0) { Print( BuyPrice+"OrderSend Error #", GetLastError() ); return(-1); } LastOpen = subLastOpenPrice(); } } } //-----------MODIFY STOPS AFTER REENTRY LastOpen = subLastOpenPrice(); if((total>1)&&(XMIN<LastOpen))
    { LastOpen = subLastOpenPrice();
    BStopLossLevel = NormalizeDouble(LastOpen - N*SLMultiple, Digits );
    total = OrdersTotal();
    for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { if ( BStopLossLevel > OrderStopLoss()|| OrderStopLoss() <= 0.0 )
    {
    if ( !OrderModify( OrderTicket(), OrderOpenPrice(), BStopLossLevel,OrderTakeProfit(), OrderExpiration() ) )
    {
    Print( "OrderModify Error #", GetLastError() );
    return(-1);
    }
    return(0);
    }
    }
    }
    }
    LastOpen = subLastOpenPrice();
    //-----------BREAK EVEN AFTER PIPS PROCESS
    if((ATRBreakEven)&&(XMIN<LastOpen)) { double BreakEvenPrice = NormalizeDouble(LastOpen + N*BreakEvenMultiple,Digits); if(Bid > BreakEvenPrice){
    for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { if ( LastOpen > OrderStopLoss()|| OrderStopLoss() <= 0.0 ) { if ( !OrderModify( OrderTicket(), OrderOpenPrice(), LastOpen,OrderTakeProfit(), OrderExpiration() ) ) { Print( "OrderModify Error #", GetLastError() ); return(-1); } } } } Modify2="done"; } } //-----------TRAILING STOP PROCESS LastSL = subLastSLPrice(); total = subTotalOpenTrade(); if(total>1)
    {
    if(LastSL < XMIN)
    {
    total = OrdersTotal();
    for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { if ( !OrderModify( OrderTicket(), OrderOpenPrice(), XMIN,OrderTakeProfit(), OrderExpiration() ) ) { Print( "OrderModify Error #", GetLastError() ); return(-1); } } } LastSL = subLastSLPrice(); } } //+----------END OF TRAILING STOP PROCESS } //-----------------------------------------------------+ //$$$$$$$$$$$$$$$(OPEN SELL PROCESS)$$$$$$$$$$$$$$$$$$$+ //-----------------------------------------------------+ if(SellOrder>0)
    {
    if (BuyStopOrder>0)
    {
    if ( !OrderDelete( BuyStopOrder ) )
    {
    Alert( "OrderDelete Error #", GetLastError() );
    return(-1);
    }
    }
    LastOpen = subLastOpenPrice();
    //-------------PENDING REENTRY PROCESS
    total = subTotalOpenTrade();
    if(total<MaxUnits)
    {
    PendingTotal = subTotalSellStopTrade();
    if(PendingTotal<1)
    {
    
    SellPrice = NormalizeDouble((LastOpen-N*ReEntryMultiple),Digits);
    SL = NormalizeDouble(SellPrice + N*SLMultiple, Digits );
    
    if(SellPrice<Bid){
    if (OrderSend(Symbol(),OP_SELLSTOP,Unit,SellPrice,6,SL,0,"TURTLE POWER",MagicNumber,0,Green)<0) { Print( BuyPrice+"OrderSend Error #", GetLastError() ); return(-1); } LastOpen = subLastOpenPrice(); } } } //-----------MODIFY STOPS AFTER REENTRY LastOpen = subLastOpenPrice(); if((total>1)&&(XMAX>LastOpen))
    {
    SStopLossLevel = NormalizeDouble(LastOpen + N*SLMultiple, Digits );
    total = OrdersTotal();
    for(cnt=0;cnt<total;cnt++)
    {
    OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
    
    if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
    {
    if ( SStopLossLevel < OrderStopLoss()|| OrderStopLoss() <= 0.0 ) { if ( !OrderModify( OrderTicket(), OrderOpenPrice(), SStopLossLevel,OrderTakeProfit(), OrderExpiration() ) ) { Print( "OrderModify Error #", GetLastError() ); return(-1); } return(0); } } } } //-----------BREAK EVEN AFTER PIPS PROCESS LastOpen = subLastOpenPrice(); if((ATRBreakEven)&&(XMAX>LastOpen)&&(total==MaxUnits))
    { total = OrdersTotal();
    BreakEvenPrice = NormalizeDouble(LastOpen - N*BreakEvenMultiple,Digits);
    if(Bid < BreakEvenPrice){
    for(cnt=0;cnt<total;cnt++)
    {
    OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
    
    if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
    {
    if ( LastOpen < OrderStopLoss()|| OrderStopLoss() <= 0.0 )
    {
    if ( !OrderModify( OrderTicket(), OrderOpenPrice(), LastOpen,OrderTakeProfit(), OrderExpiration() ) )
    {
    Print( "OrderModify Error #", GetLastError() );
    return(-1);
    }
    }
    }
    }
    }
    }
    //-----------TRAILING STOP PROCESS
    LastSL = subLastSLPrice();
    if(XMAX<=LastOpen) { if(LastSL > XMAX)
    {
    total = OrdersTotal();
    for(cnt=0;cnt<total;cnt++)
    {
    OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
    
    if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
    {
    if ( !OrderModify( OrderTicket(), OrderOpenPrice(), XMAX,OrderTakeProfit(), OrderExpiration() ) )
    {
    Print( "OrderModify Error #", GetLastError() );
    return(-1);
    }
    }
    }
    LastSL = subLastSLPrice();
    
    }
    }
    //+----------END OF TRAILING STOP PROCESS
    }
    
    //----
    return(0);
    }
    //+--------------------------END OF PROGRAM--------------------------+
    
    //----------------------- GENERATE MAGIC NUMBER BASE ON SYMBOL AND TIME FRAME FUNCTION
    
    int subGenerateMagicNumber(int MagicNumber, string symbol, int timeFrame)
    {
    int isymbol = 0;
    if (symbol == "EURUSD") isymbol = 1;
    else if (symbol == "GBPUSD") isymbol = 2;
    else if (symbol == "USDJPY") isymbol = 3;
    else if (symbol == "USDCHF") isymbol = 4;
    else if (symbol == "AUDUSD") isymbol = 5;
    else if (symbol == "USDCAD") isymbol = 6;
    else if (symbol == "EURGBP") isymbol = 7;
    else if (symbol == "EURJPY") isymbol = 8;
    else if (symbol == "EURCHF") isymbol = 9;
    else if (symbol == "EURAUD") isymbol = 10;
    else if (symbol == "EURCAD") isymbol = 11;
    else if (symbol == "GBPUSD") isymbol = 12;
    else if (symbol == "GBPJPY") isymbol = 13;
    else if (symbol == "GBPCHF") isymbol = 14;
    else if (symbol == "GBPAUD") isymbol = 15;
    else if (symbol == "GBPCAD") isymbol = 16;
    else isymbol = 17;
    if(isymbol<10) MagicNumber = MagicNumber * 10;
    return (StrToInteger(StringConcatenate(MagicNumber, isymbol, timeFrame)));
    
    }
    //----------------------- PRINT COMMENT FUNCTION
    void subPrintDetails()
    {
    string sComment = "";
    string sp = "-------------------------------------------------------------\n";
    string NL = "\n";
    
    sComment = sp;
    
    sComment = sComment + sp;
    sComment = sComment + "BULL ENTRY= " + DoubleToStr(EMAX,4) + " | ";
    sComment = sComment + "BULL EXIT= " + DoubleToStr(XMIN,4) + " | ";
    sComment = sComment + NL;
    sComment = sComment + sp;
    sComment = sComment + "BEAR ENTRY= " + DoubleToStr(EMIN,4) + " | ";
    sComment = sComment + "BEAR EXIT= " + DoubleToStr(XMAX,4) + " | ";
    sComment = sComment + NL;
    sComment = sComment + sp;
    sComment = sComment + "ATR =" + DoubleToStr(N,4) + " | ";
    sComment = sComment + "Spread =" + DoubleToStr(spread,4) + " | ";
    sComment = sComment + "tickvalue =" + DoubleToStr(tickvalue,4) + " | ";
    sComment = sComment + NL;
    sComment = sComment + sp;
    sComment = sComment + "Total Pips= " +DoubleToStr(subPipProfitTotal(),0) + " | ";
    sComment = sComment + "Pips Locked in= " + DoubleToStr(PTLocked,0) + " | ";
    sComment = sComment + "T.P.Percent =" + DoubleToStr(PTPercent,4) + " | ";
    sComment = sComment + NL;
    sComment = sComment + sp;
    Comment(sComment);
    }
    
    //----------COUNT OPEN TRADES------------------+
    
    int subTotalOpenTrade()
    {
    int
    cnt,
    total = 0;
    
    for(cnt=0;cnt<OrdersTotal();cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if((OrderType()==OP_SELL||OrderType()==OP_BUY) &&
    OrderSymbol()==Symbol() &&
    OrderMagicNumber()==MagicNumber) total++;
    }
    return(total);
    }
    //----------GET LASt OPENED PRICE------------------+
    
    double subLastOpenPrice()
    {
    int
    cnt,
    total = 0;
    double OpenPrice;
    
    for(cnt=0;cnt<OrdersTotal();cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if((OrderType()==OP_SELL||OrderType()==OP_BUY) &&
    OrderSymbol()==Symbol() &&
    OrderMagicNumber()==MagicNumber)
    
    OpenPrice = OrderOpenPrice();
    
    }
    return(OpenPrice);
    }
    //----------GET LASt SL PRICE------------------+
    
    double subLastSLPrice()
    {
    int
    cnt,
    total = 0;
    double SLPrice;
    
    for(cnt=0;cnt<OrdersTotal();cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if((OrderType()==OP_SELL||OrderType()==OP_BUY) &&
    OrderSymbol()==Symbol() &&
    OrderMagicNumber()==MagicNumber)
    
    SLPrice = OrderStopLoss();
    
    }
    return(SLPrice);
    }
    //----------COUNT BUYSTOP ORDERS---------------+
    
    int subTotalBuyStopTrade()
    {
    int
    cnt,
    total = 0;
    
    for(cnt=0;cnt<OrdersTotal();cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if(OrderType()==OP_BUYSTOP&&
    OrderSymbol()==Symbol() &&
    OrderMagicNumber()==MagicNumber) total++;
    }
    return(total);
    }
    //-----------COUNT SELLSTOP ORDERS-------------+
    
    int subTotalSellStopTrade()
    {
    int
    cnt,
    total = 0;
    
    for(cnt=0;cnt<OrdersTotal();cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if(OrderType()==OP_SELLSTOP&&
    OrderSymbol()==Symbol() &&
    OrderMagicNumber()==MagicNumber) total++;
    }
    return(total);
    }
    //----------COUNT OPEN TRADES------------------+
    
    double subPipProfitTotal()
    {
    int
    cnt,
    total = 0;
    tickvalue = MarketInfo(Symbol(),MODE_TICKVALUE);
    double TotalProfit = 0;
    for(cnt=0;cnt<OrdersTotal();cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if((OrderType()==OP_SELL||OrderType()==OP_BUY) && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { double PipProfit = (OrderProfit()/OrderLots()/tickvalue); TotalProfit = TotalProfit+PipProfit; } } return(TotalProfit); } //----------------------- CLOSE ORDER FUNCTION void subCloseOrder() { int cnt, total = 0, ticket = 0, err = 0, c = 0; total = OrdersTotal(); for(cnt=total-1;cnt>=0;cnt--)
    {
    OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
    
    if(OrderSymbol()==Symbol() &&
    OrderMagicNumber()==MagicNumber)
    {
    switch(OrderType())
    {
    case OP_BUY :
    for(c=0;c<10;c++) { ticket=OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); err=GetLastError(); if(err==0) { if(ticket>0) break;
    }
    else
    {
    if(err==0 || err==4 || err==136 || err==137 || err==138 || err==146) //Busy errors
    {
    Sleep(5000);
    continue;
    }
    else //normal error
    {
    if(ticket>0) break;
    }
    }
    }
    break;
    
    case OP_SELL :
    for(c=0;c<10;c++) { ticket=OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); err=GetLastError(); if(err==0) { if(ticket>0) break;
    }
    else
    {
    if(err==0 || err==4 || err==136 || err==137 || err==138 || err==146) //Busy errors
    {
    Sleep(5000);
    continue;
    }
    else //normal error
    {
    if(ticket>0) break;
    }
    }
    }
    break;
    
    case OP_BUYLIMIT :
    case OP_BUYSTOP :
    case OP_SELLLIMIT:
    case OP_SELLSTOP :
    OrderDelete(OrderTicket());
    }
    }
    }
    }
    //----------GET ORDER TYPE
    int subOrderType()
    {
    int
    cnt,
    total = 0;
    
    for(cnt=0;cnt<OrdersTotal();cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    total = OrderType();
    }
    return(total);
    }
    #88161 quote
    Nicolas
    Keymaster
    Master

    Ciao, pensi che sia un modo corretto per parlare con qualcuno? Ci sono dei veri umani dietro il messaggio, non lo sai?
    Per favore, la prossima volta usa un linguaggio comprensibile per gli utenti quando chiedi una conversione del codice.
    E segui le semplici regole in questa pagina: https://www.prorealcode.com/free-code-conversion/

    #88166 quote
    coscar
    Participant
    Senior

    Good morning Nicolas thanks for your intervention, it was not my intention to lack compared to anyone indeed I really appreciate your work I do a lot of the various interventions in this forum. I followed the procedure indicated on the page https://www.prorealcode.com/free-code-conversion/
    but it was published this way.
    Maybe I was wrong with something?
    Thank you

    #88168 quote
    robertogozzi
    Moderator
    Master

    Per favore usa l’italiano nel forum italiano. Grazie.

    #88169 quote
    coscar
    Participant
    Senior

    Scusate ma devo ancora abituarmi al forum, ho spesso google translate attivo e mi confonde.

    Non riesco a capire se uso il forum in italiano o no. Grazie per l’osservazione.

    #88177 quote
    Nicolas
    Keymaster
    Master

    Ad ogni modo, appena rivisto il codice, preferirei ottenere il file .mq4 perché il copia / incolla ha incasinato tutto il codice ed è molto difficile leggerlo ora ..
    Quindi per favore condividi il file .mq4 nel tuo prossimo post, così sarò in grado di valutare se la conversione è possibile. Grazie.

    #88179 quote
    coscar
    Participant
    Senior

    ok grazie

    #88180 quote
    coscar
    Participant
    Senior

    Ciao Nicolas

    come richiesto ti allego il file.

    grazie per il tuo supporto.

    Sys.mq4
Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.

Convert EA code from Metatrader MT4 to ProOrder


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
coscar @coscar Participant
Summary

This topic contains 7 replies,
has 3 voices, and was last updated by coscar
7 years, 2 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 01/08/2019
Status: Active
Attachments: 1 files
Logo Logo
Loading...