Domande dai principianti MQL4 MT4 MetaTrader 4 - pagina 23

 
scomoroh:
Sì, grazie, tutto risolto, nessun errore. Rallenta, sì, molto. Mi diresti in che direzione muovermi per ottimizzarlo o dovrò riscrivere tutto?

Troppi oggetti vengono creati e cancellati ad ogni tick, dovrebbe essere limitato in qualche modo, per esempio, non tutti gli oggetti vengono cancellati, ma solo quelli disegnati sulle ultime 1-2 barre.

Io, per esempio, in un caso simile, invece diObjectsDeleteAll() in start() ho usato tale funzione:

void deletelast()
{
   for(int i=ObjectsTotal()-1;i>=0;i--)
   {
      string name=ObjectName(i);
      if(StringFind(name,"Shadows.",0)>-1)
      {
         datetime crtm=(datetime)ObjectGetInteger(0,name,OBJPROP_CREATETIME);
         if(crtm>=iTime(Symbol(),0,1))
         if(!ObjectDelete(name)) Print("ObjectDelete error# ",_LastError);
      }
   }
}
 

Potresti dirmi se è possibile gestire il permesso di trading per questo EA dall'EA?

cioè usare la variabile MQL_TRADE_ALLOWED ?

Per esempio se lo spread è grande, allora proibisci il commercio (ma non per fermare il consulente esperto)

Solo che non so come impostare questa variabile. L'assegnazione diretta di 1 o 0 non funziona.
 
harbor:

Potresti dirmi se è possibile gestire il permesso di trading per questo EA dall'EA?

cioè usare la variabile MQL_TRADE_ALLOWED ?

Per esempio, se lo spread è grande, allora proibisci il commercio (ma non per fermare l'EA)

Solo che non so come impostare questa variabile. Non posso impostarlo direttamente su 1 o 0.

Questo stato

https://www.mql5.com/ru/docs/runtime/tradepermission

Документация по MQL5: Программы MQL5 / Разрешение на торговлю
Документация по MQL5: Программы MQL5 / Разрешение на торговлю
  • www.mql5.com
Программы MQL5 / Разрешение на торговлю - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Ma è possibile controllarlo.

Devi solo fare un algoritmo di programma.

In qualsiasi punto dell'algoritmo e in qualsiasi condizione, potete uscire dal programma con il comando

return(0);
 
Salve, sono nuovo in questo difficile mestiere e mi trovo costantemente di fronte a nuovi ostacoli. Sto cercando di scrivere un EA, ma non riesco a risolvere il problema con il timeframe dell'indicatore che il mio EA usa per entrare. L'essenza del problema è la seguente: Secondo le condizioni, ho bisogno che sul 15 minuti time frame sull'indicatore Stochasstic Signal line era sotto il livello di 20. Esattamente a 15 minuti. TF! Infatti, si scopre che la linea di segnale attraversa il livello 20 in altri timeframes (1; 5; 30 min.) e il mio Expert Advisor funziona falsamente. Devo filtrare tutti i timeframe e lasciare solo il 15 min. Questo consulente non prenderebbe in considerazione i crossover in altri timeframe. Apprezzerei qualsiasi aiuto
 
TimBerg:
Salve, sono nuovo in questo difficile mestiere e mi trovo costantemente di fronte a nuovi ostacoli. Sto cercando di scrivere un EA, ma non riesco a risolvere il problema con il timeframe dell'indicatore che il mio EA usa per entrare. L'essenza del problema è la seguente: Secondo le condizioni, ho bisogno che sul 15 minuti time frame sull'indicatore Stochasstic Signal line era sotto il livello di 20. Esattamente a 15 minuti. TF! Infatti, risulta che la linea di segnale attraversa il livello 20 in altri timeframe (1; 5; 30 min.) e il mio Expert Advisor funziona falsamente. Devo filtrare tutti i timeframe e lasciare solo il 15 min. Che EA non ha considerato i crossover su altri TF. Apprezzerei il vostro aiuto.
Mostra uno snippet di codice su come leggi il segnale dall'indicatore nel tuo EA
 
Renat Akhtyamov:
Mostrami un frammento di codice su come leggi il segnale dall'indicatore nel tuo Expert Advisor
Non riesco a ricordarlo a memoria, ve lo mostrerò quando torno a casa
 
Renat Akhtyamov:

Ma è possibile controllarlo.

Devi solo fare un algoritmo di programma.

In qualsiasi punto dell'algoritmo e in qualsiasi condizione, potete uscire dal programma con il comando

return(0);

allora il programma smetterà di essere eseguito, ma ho bisogno che continui.

Immagino che dovrei fare un mucchio di condizioni.

 
harbor:

allora il programma smetterà di essere eseguito, ma ho bisogno che continui

Immagino che dovrò fare un mucchio di condizioni.

Cosa possiamo continuare se lo spread è salito? Se devi continuare, cosa c'entra lo spread?

(c)poi proibire il trading (ma non fermare l'EA)= Se proibisci il trading, come continuerà a funzionare? Qual è il punto?

 
harbor:

allora il programma smetterà di essere eseguito, ma ho bisogno che continui

Immagino che dovrò fare un mucchio di condizioni.

Esatto, è un programma).