Domande dai principianti MQL4 MT4 MetaTrader 4 - pagina 228

 

Ne ho cercato uno, ma non so come risolvere questo problema.

Penso di aver bisogno di un aggiornamento di MT4 e non ho trovato nulla.

 
darirunu1:

Ne ho cercato uno, ma non so come risolvere questo problema.

Voglio sapere perché forse qualcuno ha affrontato questo problema.

è più probabile che nessuno abbia incontrato problemi come il tuo, ecco perché non ci sono risposte.

 
Ciao a tutti, è possibile chiamare l'indicatore in una finestra separata nel tester mt4 quando si testa un EA?
 
Aleksandr Egorov:
Ciao a tutti, è possibile chiamare l'indicatore in una finestra separata nel tester mt4 quando si testa un EA?

 
Iurii Tokman:

Come?

[Eliminato]  

Salva il modello con l'indicatore con il nome tester.tpl

E quando si avvia il tester nella visualizzazione si ottiene un grafico con l'indicatore.

 
Aleksei Stepanenko:

Salva il modello con l'indicatore con il nome tester.tpl

E quando si avvia il tester si ottiene un grafico con l'indicatore nella visualizzazione.

So che può essere chiamato da un EA?

[Eliminato]  

Solo un modello preparato può essere richiamato.

bool  ChartApplyTemplate(
   long          chart_id,     // идентификатор графика
   const string  filename      // имя файла с шаблоном
   );

L'indicatore non lo è.


Oppure non so nulla di questa possibilità. Anche questa è un'opzione possibile, ma improbabile.

Con WinAPI, si potrebbe provare a cercare nella lista del Navigator, suppongo. Ma è molto divertente.
 

Per favore consigliate cosa c'è di sbagliato in questo codice, prima che questo slittamento non ci fosse tutto funzionava bene.

Ho specificato 2 sterline come profitto, non appena la variabile op supera le 2 sterline l'EA dovrebbe aspettare 10 secondi e poi chiudere. Voglio che l'EA aspetti più di 2 sterline e non chiuda immediatamente dopo aver visto 2 sterline.

double op = CalculateProfit();
if (op >= Profit)
{
Sleep(10000);
CloseAll();

}


Ora dopo la funzione slip, l'EA non si chiude.

[Eliminato]  
input int Second=10;
ulong LastTime=ULONG_MAX;

void OnTick()
   {
   if(op>=Profit) LastTime=GetMicrosecondCount();
   if(GetMicrosecondCount()-LastTime>Second*1000000) {CloseAll(); LastTime=ULONG_MAX;}
   }