Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 119

 
hoz:


E come questo numero può influenzare la raccolta delle statistiche degli ordini?


È fantastico! La cosa più interessante è che qualcuno lo sa, stranamente. Come si poteva indovinare?


Se un gufo viene testato nella demo, come si può tener conto di questo ordine? Cioè il saldo, che è dato inizialmente sul demo - sarà quello... il ricercato UNO? E quello che abbiamo nel mercato reale è quello che abbiamo prelevato e depositato, giusto?

Forse, è possibile prescrivere in qualche modo il ritiro di una parte del deposito, quando si chiude con un buon profitto, o il riempimento quando si è colpito la perdita. Devo cercarlo, forse esiste una cosa del genere, eh?

 
hoz:


E come può questo numero influenzare la raccolta di statistiche sui mandati?


È fantastico! La cosa più interessante è che qualcuno lo sa, stranamente. Come si poteva indovinare?


Se un gufo viene testato nella demo, come si può tener conto di questo ordine? Cioè il saldo, che è dato inizialmente sul demo - sarà quello... il ricercato UNO? E in quello reale - è già quello che abbiamo prelevato e messo sul deposito, giusto?

Bene, perché non controllate il tipo 6 in ogni vostra iterazione di ordini e, se c'è, stampate tutti i dati su di esso nel log. Penso che se vedrete informazioni più chiare su di loro, capirete come usarle a vostro vantaggio. Eh? :))

ZS. Non per il bene dei parassiti, ma per lo sviluppo...

 
artmedia70:

Perché non controllate la presenza di un ordine di tipo 6 in uno qualsiasi dei vostri cicli e, se ne ottenete uno, registrate tutto. Penso che quando vedrai informazioni più chiare su di loro, avrà più senso per te usarle a tuo vantaggio. Eh? :))

ZS. Non per il bene dei parassiti, ma per lo sviluppo...



Lo farò quando avrò finito il codice attuale (cioè, visualizzare nel log tutti i parametri dell'ordine? Anche nel tester?) Anche se se si tratta solo di operazioni non di trading, poi distrattamente strano tutto questo.

A proposito, ho sistemato la funzione di ricerca degli ordini. Non è cambiato nulla. Il numero minimo di tutti gli ordini e il numero di ordini in sospeso è 1. Anche quando non ci sono ordini sul mercato. Ecco il codice:

//+-------------------------------------------------------------------------------------+
//| Поиск своих ордеров                                                                 |
//+-------------------------------------------------------------------------------------+
void FindOrders(int& t, int& p)
{
   int total = OrdersTotal() - 1;
   t = 0;
   p = 0;
   for (int i=total; i>=0; i--)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol() != Symbol()) continue;
      if (OrderMagicNumber() != i_magic) continue;
      if (OrderType() > 1 || OrderType() < 6)
      {
          p++;
      }
      t++;
      pr ("FindOrders(): " + "t = " + t);
      pr ("FindOrders(): " + "p = " + p);
   }
}

Il tipo 6 è già stato escluso. Non c'è azzeramento per qualche motivo. Cosa c'è che non va? Tutto questo ha già funzionato bene in passato. Il codice è primitivamente semplice.

 
hoz:


Lo farò quando completerò il codice attuale (voglio dire, visualizzare nel log tutti i parametri dell'ordine? Nel tester, anche?) Anche se se è solo non operazioni di trading, poi distrattamente strano tutto questo.

A proposito, ecco una correzione per la funzione di ricerca degli ordini. Non è cambiato nulla. Il valore minimo del numero di tutti gli ordini, e il numero di ordini in generale è almeno 1. Anche quando non ci sono ordini sul mercato. Ecco il codice:

Il tipo 6 è già stato escluso. Non c'è azzeramento per qualche motivo. Cosa c'è che non va? Tutto questo ha già funzionato bene in passato. Il codice è primitivamente semplice.


if (OrderType() > 1 && OrderType() < 6)
 
artmedia70:


se (OrderType() > 1 && OrderType() < 6)


È già un segno di sonnolenza a quanto pare.

Ma d'altronde, non è questo il punto. Sto eseguendo il gufo nel tester. Nella schermata, come potete vedere non ci sono ordini pendenti o ordini a mercato.

Sia la funzione separata che il commento standard che ho duplicato la funzione separata per visualizzare i valori richiesti mostrano che ci sono sempre ordini a mercato e ordini pendenti.

Ecco come funziona la funzione:

//+-------------------------------------------------------------------------------------+
//| Поиск своих ордеров                                                                 |
//+-------------------------------------------------------------------------------------+
void FindOrders(int& t, int& p)
{
   int total = OrdersTotal() - 1;
   t = 0;
   p = 0;
   for (int i=total; i>=0; i--)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol() != Symbol()) continue;
      if (OrderMagicNumber() != i_magic) continue;
      if (OrderType() > 1 && OrderType() < 6)
      {
          p++;
      }
      t++;
      Comment("t = ", t, "p = ", p);
      pr ("FindOrders(): " + "t = " + t);
      pr ("FindOrders(): " + "p = " + p);
   }
}

Lo chiamo dall'inizio, dove anche i valori iniziali dei contatori sono azzerati:

int start()
{
   if (g_lastBarTime == Time[0])         // На текущем баре все необходимые действия..
       return (0);                               // ..уже были выполнены
   
   int oTotal = 0, oPending = 0;
   
   FindOrders(oTotal, oPending);
   
   int signal = GetGeneralSignal(oTotal);
   
   if (signal != SIGNAL_NO)
   {
       if (!Trade(signal))
       return(0);
   }
   else
 

aiutami a trovare il mio errore))

if(to1<tc&&mag==11&&total>0&&tip==OP_BUYSTOP){

RefreshRates();

double st=NormalizeDouble(Ask+delta*Point-StopLoss*Point,Digits);

double tp=NormalizeDouble(Ask+TakeProfit*Point+delta1*Point,Digits);

se (OrderModify(ticket,Ask+delta*Point,3,st,tp))

{to1=tc; Print("BUY STOP1 MOD : ");}

}

Errore di OrderModify 130


 
Dov'è OrderSelect()?
 
Perché non riesco a tenere traccia delle discussioni del forum e perché non ricevo i messaggi nella mia casella di posta?
 
JLY:
Perché non posso tenere traccia delle discussioni del forum, i messaggi non arrivano alla mia email?

Sarebbe meglio se facessero come nel forum MQL5, i nuovi messaggi nelle discussioni preferite verrebbero visualizzati con un asterisco in alto vicino al profilo.

 
Qualcuno può dirmi se esiste una funzione che misura il tempo dal momento in cui viene inviato un ordine di apertura di una posizione fino a quando viene accettato dal server del broker? Ho un EA in esecuzione su VPS, stavo cercando più economico (non necessariamente più vicino al broker) e mi chiedevo quanto tempo questo ritardo richiede.