Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 845

 
Pokrov, Je t'ai dit ce que tu regardais...
 
eddy:
Pokrov, Je t'ai dit ce que tu regardais...
Sans vouloir vous offenser, deux opinions valent mieux qu'une))) Merci à vous aussi !
 
Bonjour à tous, pourriez-vous me dire comment configurer l'EA pour qu'il ne passe pas d'ordre si la dernière transaction a été fermée aujourd'hui ?
 

Voici la réponsehttps://www.mql5.com/ru/forum/131277/page295#455199

Merci à l'auteur.

 

Pouvez-vous me dire si le bloc de gestion des erreurs ci-dessous est correctement orthographié ou s'il y a une erreur ? Ne jurez pas tout de suite ))))

//+------------------------------------------------------------------+
//| Функция обработки ошибок                                          |
//+------------------------------------------------------------------+
if(GetLastError()>=0)                          
{
   switch(_LastError)  
{                                               // Преодолимые ошибки            
      case  4:Sleep(3000);                      // Простое решение
      break;                                    // Выход из функции
      case  6:Sleep(10000);                     // Простое решение
      break;                                    // Выход из функции
      case 130:Sleep(3000);RefreshRates();      // Обновим данные
      break;                                    // Выход из функции
      case 135:Sleep(3000);RefreshRates();      // Обновим данные
      break;                                    // Выход из функции
      case 136:Sleep(3000);RefreshRates();      // Обновим данные
      break;                                    // Выход из функции
      case 137:Sleep(3000);                     // Простое решение
      break;                                    // Выход из функции
      case 146:Sleep(3000);                     // Простое решение
      break;                                    // Выход из функции
      default:break;        // Другие варианты  // Выход из функции
}                        
}
}
 
comment l'indicateur peut-il sauvegarder l'historique des valeurs dans un fichier (et le charger plus tard) ? existe-t-il des solutions toutes faites ?
 
eddy:
Comment l'indicateur peut-il sauvegarder l'historique des valeurs dans un fichier (et le charger plus tard) ? Existe-t-il des solutions toutes faites ?
Il y en a certainement. De ceux qui les ont autrefois "préparés".
 
Merci Cap, je cherche des solutions, je ne fais pas que demander.
 
Pokrov:

Pouvez-vous me dire si le bloc de gestion des erreurs ci-dessous est correctement orthographié ou s'il y a une erreur? Ne jurez pas tout de suite ))))

À mon avis, la gestion des erreurs doit prendre la forme d'une fonction définie par l'utilisateur, qui doit être appelée après toute action liée à l'accès au serveur.

Par exemple, OrderSend() renvoie le ticket de commande ou -1 en cas d'échec, c'est-à-dire en cas d'erreur. Vous devez donc appeler le gestionnaire d'erreur en cas d'échec de l'exécution de la commande et lui transmettre le code d'erreur. Et dans le gestionnaire d'erreur, nous devons fournir une valeur de retour à laquelle l'action qui a échoué est répétée ou à laquelle elle est arrêtée.

Par exemple, les prix ont changé, RefreshRates() ; et réessayer, et s'il n'y a pas assez d'argent, il est probablement préférable d'arrêter d'essayer.

 
AlexeyVik:

À mon avis, la gestion des erreurs doit prendre la forme d'une fonction définie par l'utilisateur, qui doit être appelée après toute action liée à l'accès au serveur.

Par exemple, OrderSend() renvoie le ticket de commande ou -1 en cas d'échec, c'est-à-dire en cas d'erreur. Vous devez donc appeler le gestionnaire d'erreur en cas d'échec de l'exécution de la commande et lui transmettre le code d'erreur. Et dans le gestionnaire d'erreur, nous devons fournir une valeur de retour à laquelle l'action qui a échoué est répétée ou à laquelle elle est arrêtée.

Par exemple, les prix ont changé, RefreshRates() ; et réessayer, et en cas de fonds insuffisants, il est probablement préférable d'arrêter d'essayer.

J'ai GetLastError après les fonctions et si une erreur se produit, ne va-t-on pas aller dans ce bloc (tel qu'il est écrit) et les commandes ne seront pas exécutées ? Je comprends la chaîne, par exemple OrderSend() -> GetLastError -> bloc d'erreur Sleep(3000) RefreshRates() -> sortie du bloc et si les conditions demeurent OrderSend() est demandé à nouveau. Ou bien mon raisonnement et mes concepts sont erronés. Je comprends que vous voulez écrire la valeur de retour 1 ou 0 dans le bloc, mais mes fonctions sont simples et ne sont pas liées à des valeurs booléennes comme SignalBuy, si je comprends bien, les valeurs de retour devraient être retournées là.

Raison: