Announcement

Collapse
No announcement yet.

Contare gli ordini aperti da un Expert Advisor EA filtrando sul Simbolo e MagicNumber

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Contare gli ordini aperti da un Expert Advisor EA filtrando sul Simbolo e MagicNumber

    Ragazzi ho creato questa funzione che dovrebbe contare gli ordini aperti da un ea ma no

    PHP Code:
    int OrdiniApertiint MagicNumberint)
    {
    int count=0;
    for(
    int i OrdersTotal()-1>= 0i--)
    {
    int tcket OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

    if(
    OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumberint)
    {
    count count+1;
    return 
    count;
    }
    }
    return 
    0
    Però ho printato il risultato ma mi dà sempre 0 mi sapete dire dov'è l'errore

    #2
    1) texcs prossime volte che invii codice attiva l'editor avanzato cliccando sulla A sottolineata che trovi a destra e clicca HTML. Tra i tag Html incolla il codice mql. Per vedere il risultato clicca su Anteprima prima di inviarlo
    2) Spingendo F1 dopo aver selezionato OrdersTotal (doppio click per selezionare velocemente) ti si apre la guida con il corretto codice da cui prendere spunto.
    3) Impara a usare le Print per verificare il contenuto delle variabili
    4) Impara a usare gli script per verificare l'esattezza di piccole porzioni di codice che potresti anche raggruppare in file mql separati. Questi file diventano la tua libreria che puoi richiamare, evitando in ogni EA o indicatore che fai di riscrivere le stesse cose.

    Guarda bene il tuo codice, la prima cosa che mi è balzata all'occhio è che fai il "return count" all'interno del ciclo for, ma ci sono altri errori.

    P.s. MagicNumber=0 vuol dire che sono ordini manuali

    Quando scrivi codice che non è corretto devi fare il "gioco del trova l'errore". Come? E' scritto sopra...

    Buon proseguimento


    HTML Code:
    
    Questo di seguito è uno script
    
    //+------------------------------------------------------------------+
    //|                                                        prova.mq4 |
    //|                        Copyright 2020, MetaQuotes Software Corp. |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2020, MetaQuotes Software Corp."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    #property strict
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
    //---
       int ordini=OrdiniAperti(0);
    
      }
    //+------------------------------------------------------------------+
    
    int OrdiniAperti( int MagicNumberint)
    {
       int count=0;
       //Print(OrdersTotal());
       for(int i = 0; i < OrdersTotal(); i++)
       {
          int ticket = OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
          if (ticket==True)
          {      
             if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumberint)
             {        
                count++;
             }
          }
       }
    
       Print("count=",count);
       return count;
    }

    Comment


      #3
      Grazie dei consigli, mi puoi mandare qualche link/tutorial su come "4) Impara a usare gli script per verificare l'esattezza di piccole porzioni di codice che potresti anche raggruppare in file mql separati. Questi file diventano la tua libreria che puoi richiamare, evitando in ogni EA o indicatore che fai di riscrivere le stesse cose.

      " e richiamarli ?

      Comment

      Working...
      X