Dovrebbe essere un problema facile per un programmatore esperto :)

 

Publi

Dovrebbe essere un problema facile per un programmatore esperto :)

 

Publi

Risultati da 1 a 6 di 6

Discussione: Dovrebbe essere un problema facile per un programmatore esperto :)

  1. #1
    Hey! Sto eseguendo più EA su più time frame, ora ho codifio questi EA da solo ... Ho codifio questi EA per inserire solo uno scambio alla volta ... Ma non appena questo trade si è chiuso, voglio che metta in un altro scambio se i paramenters sono ancora corretti, quindi come puoi dire all'EA che il trade appena entrato è stato chiuso? Non puoi usare la funzione TotalOrders () perché questo interferisce con i miei altri EA e le loro operazioni.

    Quindi, per favore, puoi aiutarmi a codificare in qualche modo il mio EA per sapere quando il commercio che ha inserito è stato chiuso e deve reinizializzare i suoi parametri e impostare il totale degli scambi a 0 ....


    Ricevo anche l'errore: gestore di memoria: impossibile allocare 630.892 byte di memoria ...

    qualsiasi idea su come posso cancellare la memoria che il mio EA usa di tanto in tanto e ricaricarla ... Ho abbastanza memoria fisica dato che ho RAM da 16 GB nel mio PC e RAM virtuale da 40 GB quindi non penso che sia davvero la memoria correndo fuori ... qualche idea, qualcuno ha visto questo prima?

    Grazie mille !

    ecco il codice:
    Codice :
    // ----------------------------------------------- -------------------
    //| Xlr8eSoft Probability Trader.mq4 |
    //| Copyright © 2010, MetaQuotes Software Corp. |
    //|
    http://www.metaquotes.net/|
    // ----------------------------------------------- -------------------
    # copyright di proprietà
    link #property
    http://www.metaquotes.net/
    // ----------------------------------------------- -------------------
    //| funzione di inizializzazione di esperti |
    // ----------------------------------------------- -------------------
    extern int Total_Orders_EA = 1;
    extern int Open_Percentage = 80;
    extern int Close_Percentage = 40;
    extern int Take_Profit = 13;
    extern int Stop_Loss = 15;
    int PMI;
    stringa TI;
    comprare;
    int vendere;
    extern int Max_Order_Count = 5;
    doppio slittamento esterno = 3;
    extern int Magic_Number = 10810;
    doppi extern = 0,05;
    int Totale = 0;

    int init ()
    {
    //----


    int Totale = 0;


    //----
    ritorno (0);
    }


    int start ()
    {
    //-


    iCustom (NULL, 0, MEGATREND PROBABILITY METER II, 13,7,0);




    Stampa (GetLastError ());
    string Probability_Value = ObjectDescription (prop_value);


    PMI = StrToDouble (StringSubstr (Probability_Value, 0, StringLen (Probability_Value) -1));


    TI = ObjectDescription (trend_comment_);
    Stampa (riuscita n. 4.5);
    buy = StringFind (TI, LONG, 0);
    sell = StringFind (TI, SHORT, 0);



    Stampa (BUYSELL, compra, vendi);


    Stampa (PMI, Probability_Value);






    se (Total_Orders_EA gt; Total)
    {


    Stampa (GetLastError ());
    if (PMI gt; Open_Percentage compra! = -1)


    {

    OrderSend (Symbol (), OP_BUY, Lots, Ask, Slippage, Ask - Stop_Loss * Point, Ask Take_Profit * Point, Xlr8eBot, 0,0, Green);
    Totale ;


    }
    }







    se (Total_Orders_EA gt; Total)
    {
    if (PMI gt; Open_Percentage sell! = -1)

    {
    OrderSend (Symbol (), OP_SELL, Lots, Bid, Slippage, Bid Stop_Loss * Point, Ask - Take_Profit * Point, Xlr8eBot, 0,0, Red);


    Totale ;

    }
    }


    //----
    ritorno (0);
    }

    // ----------------------------------------------- -------------------

  2. #2
    int TradeCount = 0; for (int T = OrdersTotal (); T gt; = 0; T--) {OrderSelect (T, SELECT_BY_POS, MODE_TRADES); if (OrderMagicNumber () == MagicNumber [Altri criteri di qualificazione commerciale]) TradeCount ; } Lì, non era così difficile.

  3. #3
    lol come ho detto programmatori esperti grazie un sacco! lo proverò!

  4. #4

    Citazione Originariamente Scritto da ;
    int TradeCount = 0; for (int T = OrdersTotal (); T gt; = 0; T--) {OrderSelect (T, SELECT_BY_POS, MODE_TRADES); if (OrderMagicNumber () == MagicNumber [Altri criteri di qualificazione commerciale]) TradeCount ; } Lì, non era così difficile.
    Sono solo preoccupato perché come faccio a riportare lo scambio a 0 per l'intero ciclo per ricominciare .....?

  5. #5

    Citazione Originariamente Scritto da ;
    Sono solo preoccupato perché come faccio a riportare lo scambio a 0 per l'intero ciclo per ricominciare .....?
    MetaTrader è un'applicazione a 32 bit. Può utilizzare solo 2 GB dei tuoi 16 GB di RAM. Non c'è modo di aggirarlo.

  6. #6

    Citazione Originariamente Scritto da ;
    Sono solo preoccupato perché come faccio a riportare lo scambio a 0 per l'intero ciclo per ricominciare .....?
    Viene sempre ripristinato a 0 ogni volta che inizia il ciclo for

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Il sito di forexmad utilizza cookie
Il sito di forexmad utilizza cookie, alcuni dei quali già installati. Per avere maggiori informazioni sui nostri cookie ti preghiamo di cliccare qui. Ti preghiamo di cliccare sul bottone a destra per accettare i nostri cookie. Se continui a navigare sul sito di forexmad assumeremo che sei d'accordo ad utilizzarli.