[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 586

 
Craft:

Bonjour, j'essaie de comprendre comment écrire un EA. J'ai pris le modèle d'EA de l'article sur le site de mql4, j'ai ajouté mes propres conditions pour comprendre le débogage et la fonctionnalité, et j'ai entré des conditions pour ouvrir des positions :

J'ai ajouté mes propres conditions (ou modifié les conditions existantes) pour m'assurer que les ordres étaient exécutés par fakut.

voir les trois posts ci-dessus - analyser uniquement les barres formées, à partir de 1
 

ou utiliser la condition - s'il n'y a pas d'ordres ouverts sur la barre zéro, il est possible d'ouvrir :

if((OrdersTotal()>0&&iBarShift(OrderOpenTime())>0)||OrdersTotal()==0)
{
   //открываемся
}
 
alsu:
voir les trois messages ci-dessus - l'analyse ne forme que des barres à partir de 1
Mais pour cela iMAOnArray(MyATR,0,PerB,0,MODE_SMA,1) et prescrit 1 à la fin, et Open[0] n'est pas modifié pendant la barre et j'en aurai besoin.
 
Craft:
Mais pour cela iMAOnArray(MyATR,0,PerB,0,MODE_SMA,1 ) et prescrit 1 à la fin et Open[0] n'est pas modifié pendant la barre et j'en aurai besoin.
mais l'offre et la demande sont modifiées à chaque tick - c'est pourquoi la condition peut être déclenchée plusieurs fois au cours d'une même barre.
 
alsu:
mais l'asc et l'enchère changent à chaque tick - la condition peut donc être déclenchée plusieurs fois au cours d'une même barre.
Que devrions-nous faire pour que l'exécution se produise une fois, peut-être les remplacer par High[0] et Low[0] ? Ou y a-t-il d'autres commandes, peut-être la condition à exécuter dans une barre une fois ?
 
Craft:
Qu'en est-il de l'exécution une fois, peut-être les remplacer par High[0] et Low[0] ? Ou bien il y a d'autres commandes, peut-être la condition à exécuter à l'intérieur de la barre une fois ?
Je l'ai déjà écrit ci-dessus, n'est-ce pas ?
 
alsu:
Je l'ai déjà écrit plus haut.

J'ai lu, je me suis amusé sur le fonds avant, maintenant je veux essayer le forex. Dans WelsLab, sur le fonds, cela est facile à faire via l'arrêt :

MyATR = SMA.Series((((High-Low)/Low), PerB)[i-1] ;

si (BuyAtStop(i, (Open[i] + Open[i]*MyATR), "") ;

Ne peut-on pas le faire dans MetaTrader ?

 
Craft:

J'ai lu, je me suis amusé sur le fonds avant, maintenant je veux essayer le forex. Dans WelsLab, sur le fonds, cela est facile à faire via l'arrêt :

MyATR = SMA.Series((((High-Low)/Low), PerB)[i-1] ;

si (BuyAtStop(i, (Open[i] + Open[i]*MyATR), "") ;

Cela ne peut-il pas être fait dans MetaTrader ?

Non, cela ne fonctionnera pas. Seulement par l'analyse de l'historique des commandes. C'est ainsi que fonctionne notre MQL - il n'est pas très bon, mais il a ses propres caractéristiques :))) c'est pourquoi la plupart des fonctions utiles sont écrites à la main.
 
alsu:
Non, cela ne fonctionnera pas. Seulement par l'analyse de l'historique des commandes. C'est ainsi que fonctionne notre MQL - il n'est pas très bon, mais il a ses propres caractéristiques :))) c'est pourquoi la plupart des fonctions utiles sont écrites à la main.
Cela ne me dérange pas. Puis-je avoir un exemple ou un lien qui fonctionne ?
 
Craft:
Je veux bien, mais puis-je avoir un exemple fonctionnel ou un lien ?
Je sors ce soir, ou peut-être que quelqu'un m'en donnera un plus tôt.