Questions d'un "mannequin - page 20

 

Salutations à tous.

Question - Je veux utiliser les méthodes de la classe CTrade dans mon EA. Quelles commandes dois-je ajouter au code pour cela ?

J'ai beaucoup essayé avec #include, #import... Rien ne sort encore :(

Документация по MQL5: Основы языка / Типы данных / Структуры и классы
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
  • www.mql5.com
Основы языка / Типы данных / Структуры и классы - Документация по MQL5
 
axmed0207:

Salutations à tous.

Question - Je veux utiliser les méthodes de la classe CTrade dans mon EA. Quelles commandes dois-je ajouter au code pour cela ?

J'ai beaucoup essayé avec #include, #import... Rien ne fonctionne pour l'instant :(


L'exemple de conseiller expert MACD peut vous aider.

Connectez le module de la manière suivante

#include <Trade\Trade.mqh>

Déclarer une variable de l'une des deux façons suivantes (en fonction de l'algorithme et de la nécessité de certaines caractéristiques d'implémentation)

Cela peut être fait en tant qu'objet indépendant, ou en tant que partie de la classe principale.

1. CTrade m_trade;  // trading object (автоматически создается и удаляется)
2. CTrade *m_trade; // trading object (указатель на динамический объект, требуется инициализация и деинициализация. В противном случая будут проблемы)

Un exemple de fermeture d'une position (en détail dans le code).

m_trade.PositionClose(Symbol())

Exemple de modification d'une position (voir détails dans le code).

m_trade.PositionModify(Symbol(),sl,tp)

PS

Vous pouvez également étudier en détail la farce CExpert.

 
Merci beaucoup pour cette réponse complète :)
 
2011.07.15 13:30:35 2011.07.08 00:00:01 Boucle de veille infinie détectée pendant le test.
Qu'est-ce que ça veut dire ?
 
dentraf:
2011.07.15 13:30:35 2011.07.08 00:00:01 Boucle de veille infinie détectée pendant le test.
Ce que cela signifie ?

Théoriquement, c'est une raison pour disqualifier un participant au championnat (du moins, des problèmes lors du test automatique de l'EA), mais en fait, c'est un travail incorrect avec sleep().

Je conseille d'étudier cet article (et peut-être d'autres) plus en détail.

En ce qui concerne votre question, voici la citation de l'article:

Fonction Sleep() dans le testeur

La fonction Sleep() permet de suspendre l'exécution d'un programme mql5 pendant un certain temps lors du travail sur un graphique dans un Expert Advisor ou un script. Cela peut être nécessaire lorsque vous demandez des données qui ne sont pas prêtes au moment de la demande et que vous devez attendre qu'elles le soient. Un exemple détaillé de l'utilisation de la fonction Sleep() se trouve dans la section Organisation de l'accès aux données.

Dans le testeur, les appels de Sleep() ne retardent pas le processus de test. Lorsque Sleep() est appelé, les ticks générés sont "joués" dans le délai spécifié, ce qui permet de déclencher des ordres en attente, des stops, etc. Après l'appel de Sleep(), le temps simulé dans le testeur est augmenté de l'intervalle spécifié dans le paramètre de la fonction Sleep.

Si, à la suite de l'exécution de Sleep(), le temps actuel dans le testeur dépasse la fin de la période de test, une erreur "boucle infinie dans Sleep" sera reçue. Si une telle erreur se produit, les résultats des tests ne sont pas abandonnés, tous les calculs sont effectués (nombre de transactions, drawdown, etc.) et les résultats sont transmis au terminal.

La fonction Sleep() ne fonctionnera pas dans OnDeinit() car après son appel, le temps du testeur est garanti au-delà de l'intervalle de test.

 

Camarades !

Je vais ajouter une analyse historique au conseiller expert. Pouvez-vous me dire comment organiser la sortie des données ?

Disons, la barre la plus longue d'une année d'histoire. Comment obtenir la valeur est clair, mais où sortir ? Il serait plus pratique de le sortir directement sur le graphique. Ou en utilisant la fonction d'impression du journal, mais je ne sais pas comment cela fonctionnerait ? Réimprimera-t-il continuellement des valeurs ? Devrais-je définir une condition délicate pour l'impression ? Quelle serait votre recommandation générale ?

Документация по MQL5: Общие функции / Print
Документация по MQL5: Общие функции / Print
  • www.mql5.com
Общие функции / Print - Документация по MQL5
 
AUser:

Camarades !

Je vais ajouter une analyse historique au conseiller expert. Pouvez-vous me dire comment organiser la sortie des données ?

Disons, la barre la plus longue d'une année d'histoire. Comment obtenir la valeur est clair, mais où sortir ? Il serait plus pratique de le sortir directement sur le graphique. Ou en utilisant la fonction d'impression du journal, mais je ne sais pas comment cela fonctionnerait ? Réimprimera-t-il continuellement des valeurs ? Devrais-je définir une condition délicate pour l'impression ? Quelle serait votre recommandation générale ?


Essayez d'utiliser la fonction Comment(). Il place le texte dans le coin supérieur gauche du graphique.

Vous pouvez également utiliser le symbole "\n" pour passer à la ligne suivante. Malheureusement, "\t" ne fonctionne pas.

 
voix_kas:

Essayez d'utiliser la fonction Comment(). Il place le texte dans le coin supérieur gauche du graphique.

Vous pouvez également utiliser "\n" pour passer à la ligne suivante. Malheureusement, "\t" ne fonctionne pas.

C'est tout, merci)
 

Pouvez-vous me dire combien de données on peut faire tenir dans un tableau ? Dans le tableau de la structure MqlRates, je vais mettre tout l'historique des barres horaires depuis 2009, cela conviendra-t-il ?

p.s. Autre chose avec le testeur de stratégie, il ne fonctionne pas le week-end car le serveur n'est pas disponible ou quelque chose m'a échappé ? Il semblait fonctionner correctement le vendredi))

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных - Документация по MQL5
 

1. Le tout semble être. S'il y a une limite, elle se situe au niveau du seuil int ou long. Il n'y a pas beaucoup de RAM dans l'ordinateur. =)

2. Décrivez plus précisément le problème du testeur qui ne fonctionne pas. Codes d'erreur, captures d'écran...

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений - Документация по MQL5