Questions des débutants MQL5 MT5 MetaTrader 5 - page 32

 
Ici, c'est incroyable.
void OnTick()
  {  for(int i=1,i=<60,i++){timeframe=i;
//---
   double J=iClose(   symbol_name,   timeframe,   start_pos);
   
   Print (J);}
  }
//+------------------------------------------------------------------+

'<' - jeton inattendu klose.mq5 35 20

i" - variable déjà définie klose.mq5 35 18

'++' - point-virgule attendu klose.mq5 35 25

J - jeton inattendu klose.mq5 37 11

'=' - jeton inattendu klose.mq5 37 12

'=' - jeton inattendu klose.mq5 37 12



 
for(int x=1;x<=7000; x++)
  {
   
  }

Regardez au moins la documentation, les exemples, les programmes terminaux pour voir comment la boucle est écrite.

Au moins via ;

https://www.mql5.com/ru/docs/basis/operators/for

Документация по MQL5: Основы языка / Операторы / Оператор цикла for
Документация по MQL5: Основы языка / Операторы / Оператор цикла for
  • www.mql5.com
Основы языка / Операторы / Оператор цикла for - Документация по MQL5
 
Je vais regarder.
 
Parmi les codes de retour du serveur de trading, j'ai trouvé le code 10026 "Auto-trading prohibited by server". Je me demandais comment le serveur détermine si la transaction est manuelle ou automatique ? Il est clair que le nombre magique ou les transactions fréquentes et le trading de nuit peuvent trahir, mais si tout est sous contrôle, alors quels autres paramètres le serveur peut-il utiliser pour identifier le conseiller expert ?
 
paladin800:

Parmi les codes de retour du serveur de trading, j'ai trouvé le code 10026 "Auto-trading prohibited by server". Je me demandais comment le serveur détermine si la transaction est manuelle ou automatique ? Bien sûr, le nombre magique ou les transactions fréquentes et les transactions de nuit peuvent le trahir, mais si le serveur contrôle tout, quels autres paramètres sont utilisés pour détecter le conseiller expert ?
Voir ID MQL5_PROGRAM_TYPE
 
Yedelkin:
Voir ID MQL5_PROGRAM_TYPE
Non, cette propriété n'est pas disponible pour le serveur. Le serveur envoie simplement une commande au terminal "Forbid auto-trading", qui l'exécute et donne le code spécifié à l'EA ou au script lorsqu'il tente d'exécuter une opération de transaction. Le serveur ne sait pas ce que l'EA négocie, il interdit simplement l'autotrading.
 
Valmars:
Non, cette propriété n'est pas disponible pour le serveur. Le serveur envoie simplement une commande "Forbid auto-trading" au terminal, qui l'exécute et envoie le code spécifié à l'EA ou au script lorsqu'il tente d'exécuter une transaction. Le serveur ne sait pas ce que l'EA négocie, il interdit simplement l'autotrading.
Merci, j'ai appris quelque chose de nouveau. C'est-à-dire que si le serveur, après avoir interdit les transactions, les autorise, le client ne le saura qu'après avoir redémarré le terminal ?
 
Yedelkin:
Merci, c'est nouveau. C'est-à-dire que si le serveur autorise la transaction après qu'elle ait été interdite, le client ne le saura qu'après avoir redémarré le terminal ?

Dans Lite, c'est interdit par défaut. Par conséquent, cela ne fonctionne pas.

Puis demandez au support de l'autoriser. Et ça commence à fonctionner. Pas de surcharge.

 

Dans l'article Opérations de trading dans MQL5 - c'est juste sous "Acheter/vendre au prix actuel" quelqu'un peut-il savoir où pendant l'action if(!trade.Buy(0.1))) {...} cette classe de transaction, avant d'envoyer un ordre au serveur, vérifie-t-elle les nouvelles cotations ou dois-je mettre Refreshrates avant cette action ?

 
paladin800:

Dans l'article Opérations de trading dans MQL5 - c'est juste sous "Acheter/vendre au prix actuel" quelqu'un peut-il savoir où pendant l'action if(!trade.Buy(0.1))) {...} cette classe de transaction, avant d'envoyer un ordre au serveur, vérifie-t-elle les nouvelles cotations ou dois-je mettre Refreshrates avant cette action ?

Si nous parlons de la méthode Buy() de la classe Ctrade, il y a Refreshrates(). Ce Refreshrates() est déclenché notamment si aucun prix n'est spécifié dans les paramètres d'entrée de la méthode Buy(). Jetez un coup d'œil à la bibliothèque.