Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1423

 

Si prega di fornire un esempio di utilizzo di questa funzione in EA.

bool  FrameAdd( 
   const string  name,        // публичное имя/метка 
   long          id,          // публичный id 
   double        value,       // значение 
   const string  filename     // имя файла с данными 
   );
 
mwwm #:

Si prega di fornire un esempio di utilizzo di questa funzione in EA.

Potete guardare qui.

Оцениваем ядра CPU для оптимизации - Попробуйте скомпилировать советники на Phenom 2 x4 975.
Оцениваем ядра CPU для оптимизации - Попробуйте скомпилировать советники на Phenom 2 x4 975.
  • 2022.09.29
  • www.mql5.com
должно получиться 6 результатов оптимизации - приложите логи журнала тестера стратегий. то проведите оптимизацию отдельно в течении часа - интересно сопоставить расчетное время на оптимизацию с реальным. По поводу журнала - вероятно не стоит галка - ставиться по нажатию ПКМ во вкладке Тестера стратегий
 
Ciao!
Per favore aiutatemi a capire cosa sto sbagliando!

Non appena incollo un commento nel codice allegato, il mio robot smette di funzionare.
Senza il commento - tutto funziona. Ho cambiato l'account in normale e falso.
Cosa sto facendo di sbagliato?
   void OnTick()
     {
      if(AccountInfoInteger(ACCOUNT_LOGIN) != 12345678)
         Comment("На этом счете - робот не работает");
      return;
     }
 
Sprut 185 #:
Ciao!
Per favore aiutatemi a capire cosa sto sbagliando!

Non appena incollo un commento nel codice allegato, il mio robot smette di funzionare.
Senza il commento - tutto funziona. Ho cambiato l'account in normale e falso.
Cosa sto facendo di sbagliato?


https://www.mql5.com/ru/search#!parola chiave=ACCOUNT_LOGIN&modulo=mql5_modulo_forum

 
Sprut 185 #:
Ciao!
Per favore aiutatemi a capire cosa sto sbagliando!

Non appena incollo un commento nel codice allegato, il mio robot smette di funzionare.
Senza il commento - tutto funziona. Ho cambiato l'account in normale e falso.
Cosa sto facendo di sbagliato?
 

Hai dimenticato le parentesi nell'if. Se non è uguale al punteggio, allora commenta e poi retourn. E se non è uguale al punteggio, continua e colpisce retourn.

void OnTick()
     {
      if(AccountInfoInteger(ACCOUNT_LOGIN) != 12345678) 
     {
         Comment("На этом счете - робот не работает");
      return;
     }
     }
 
Valeriy Yastremskiy #:

Dopodiché OnTick termina e attende il tick successivo. Non va oltre!!!!

Grazie!!! Ho capito tutto, l'ho sistemato e ora funziona.

Era solo un problema che mi ha dato alla testa.

 

Potete dirmi se è possibile effettuare una chiamata dal Consulente Esperto

void OnTradeTransaction()

da un file esterno?

Ho creato un file di prova *mqh e l'ho aggiunto lì.

void OnTradeTransaction(const MqlTradeTransaction &trans,

                        const MqlTradeRequest &request,

                        const MqlTradeResult &result)

  {

  }

Nel Consulente Esperto ho aggiunto questo file

#include <тест.mqh>

Ma OnTradeTransaction non viene chiamato dall'Expert Advisor.

Come farlo correttamente?

 
TrederMT5 OnTradeTransaction non viene eseguita.

Come farlo correttamente?

Io farei il contrario. Nel file .mqh scrivere una classe, ad esempio CTest nel file test.mqh.

Collegare la classe

#include <test.mqh>
CTest onTest;


void CTest::MyOnTradeTransaction(const MqlTradeTransaction &trans,
                                 const MqlTradeRequest &request,
                                 const MqlTradeResult &result)

  {

  }

E dall'EA dalla funzione OnTradeTransaction chiamare la mia funzione

/*********************TradeTransaction function**********************/
void OnTradeTransaction(const MqlTradeTransaction& trans,
                        const MqlTradeRequest& request,
                        const MqlTradeResult& result)
 {
      onTest.MyOnTradeTransaction(trans, request, result);
 }/******************************************************************/
 
Alexey Viktorov #:

Io farei il contrario. Nel file .mqh scriverei una classe, ad esempio CTest nel file test.mqh.

Collegare la classe


E dall'EA, dalla funzione OnTradeTransaction, richiamare la mia funzione

Grazie
 

Ho osato provare un primo semplice EA e funziona perfettamente.

Ma quando lo carico su MQL nel mercato, ottengo un messaggio di errore:


Perché? E' dovuto al conto di compensazione?

Ho già letto alcuni post sul forum al riguardo, ma non capisco il problema.

Il volume è fissato dall'EA. Anche 0,01 lotti ecc. non funzionano.
Sarei grato se qualcuno mi aiutasse.

Motivazione: