Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1103
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Salutations !
Je ne peux pas clôturer des ordres opposés de différents lots en utilisant CTrade.PositionCloseBy(ticket1,ticket2).
ResultRetCode() - Je reçois l'erreur 10035.
Quelle en est la raison ?
10035
TRADE_RETCODE_INVALID_ORDER
Type d'ordre invalide ou interdit
Faites attention à ce que vous faites là.
Est-ce que je comprends bien - la fonction SetIndexBuffer est nécessaire pour lier le(s) tampon(s) à une construction graphique spécifique, ET POUR NUMÉROTER L'ACCÈS À CES TAMPONS À TRAVERS iCustom ?
Ainsi, par exemple, si je crée un tableau pour les prix élevés, il suffit de le déclarer sans liaison via SetIndexBuffer et en ...
... ... on peut l'ignorer.
En outre, avec SetIndexBuffer, vous pouvez lier des tableaux de type double uniquement, alors que les tableaux de type datetime et autres ne le peuvent pas.
Je ne comprends pas tout à fait ce point (ou je l'ai compris), et maintenant j'ai une idée - je veux le clarifier...
Est-ce que je comprends bien - la fonction SetIndexBuffer est nécessaire pour lier le(s) tampon(s) à une construction graphique spécifique, ET POUR NUMÉROTER L'ACCÈS À CES TAMPONS À TRAVERS iCustom ?
Ainsi, par exemple, si je crée un tableau pour les prix élevés, il suffit de le déclarer sans liaison via SetIndexBuffer et en ...
... ... on peut l'ignorer.
En outre, avec SetIndexBuffer, vous pouvez lier des tableaux de type double uniquement, alors que les tableaux de type datetime et autres ne le peuvent pas.
Je ne comprends pas tout à fait ce point (ou je l'ai compris), et maintenant j'ai une idée - je veux le clarifier...
Ce n'est pas une construction, c'est un ensemble de données. Par conséquent, je ne pense pas que cela fonctionnera de cette façon. Bien que je ne l'ai pas vérifié.
Quant au type de date, vous pouvez l'écrire en double et l'appliquer de force lors de la lecture.
Bonjour.
Question. Dans le testeur, à l'interface côté jour (lorsque la ligne du jour suivant passe), le programme aurait dû placer un ordre en attente. L'ordre en attente qui était déjà présent et que le prix a touché, a été ouvert mais l'instruction d'ouvrir un autreordre en attente a été ignorée par le système pour une raison quelconque. Cela peut-il également se produire dans un compte réel où les instructions du robot sont simplement ignorées et où l'action requise n'est donc pas exécutée ?
Et une autre question. J'utilise un testeur de stratégie, mais j'ai été très troublé par le fait qu'il passe une semaine environ dans la visualisation et affiche ensuite le message suivant
177564 événements tick (447 barres, 7888506 états de barre) traités en 0:17:42.694 (temps total 0:17:48.217)
177564 événements tick (447 barres, 7888506 états de barre) traités à 0:17:42.694 (temps total 0:17:48.217)
Je ne comprends pas, il est trop occupé pour continuer à faire des tests ? Ou bien il est si attentionné et s'inquiète des ressources de mon ordinateur ? Je ne vois pas de messages d'erreur. Il s'arrête simplement de lui-même. Bien que j'aie fixé la date non pas à 7 jours, mais à 7 mois. J'aimerais voir l'ensemble du parcours de test du début à la fin.
Quelle religion ne lui permet pas de faire un test visuel, par exemple pendant un an ou plusieurs années ? Et vous pouvez voir visuellement comment votre programme a fonctionné au cours de l'année précédente, par exemple.
Et une dernière question. (Bien qu'elle puisse rester sans réponse)) ) Comment se peut-il que le testeur 2 tours fonctionne comme il le devrait, et juste avant l'inscription susmentionnée sur le jour ignore tout simplement toutes les instructions. Comment est-il possible que le programme ait fonctionné correctement pendant plusieurs tours (il a ouvert des ordres puis les a fermés), et puis, boum, il ignore tout. Il ne s'ouvre ni ne se ferme. Est-ce à cause de la fin d'une période d'essai ou y a-t-il d'autres raisons ?
........... Mais à un certain moment, il doit déterminer s'il a fermé sa propre transaction ou si c'est quelqu'un d'autre qui est entré et l'a fermée.....
Écrivez sans ambiguïté, demandez-vous comment prescrire ou comment utiliser une évaluation environnementale sans modification ?
Bonjour !
Je voulais utiliser l'indicateur A/D pour mon EA, mais pas dans sa forme pure, sa moyenne mobile.
C'est pourquoi j'ai inventé des fonctions :
//+------------------------------------------------------------------+
//| Fonction A/D |
//+------------------------------------------------------------------+
double A_D(ENUM_TIMEFRAMES tf, int shift)
{
double res=0;
res=iAD(NULL,tf, shift);
renvoyer la ressource;
}
//+------------------------------------------------------------------+
//| Fonction A/D |
//+------------------------------------------------------------------+
double A_D_moving(ENUM_TIMEFRAMES tf, int period)
{
double res=0;
double a[];
for(int i=period ; i>=1 ; i--)
{
a[i]= A_D(tf, i);
}
for(int i=period ; i>=1 ; i--)
{
res=iMAOnArray(a,0,period,0,MODE_SMA,0);
}
renvoyer la ressource;
}
Mais lors des tests, il est devenu évident que A_D_moving() est bogué dans cette révision, car il y a une erreur critique lors de l'exécution du test.
S'il vous plaît qui peut aider :
L'écriture de A_D_moving() est-elle correcte ? S'il y a des erreurs, veuillez les indiquer...
Merci !
Veuillez insérer le code correctement :
Veuillez insérer le code correctement :
Désolé1
désolé