Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 413

 

Un tel code peut-il être prescrit ?

(La distance entre les lignes doit être de 10 pips)

int OnInit()
{

ObjectCreate("Средняя линия",OBJ_HLINE,0,0,Bid); 

ObjectCreate("Верхняя линия",OBJ_HLINE,0,0,Bid+0.0010); 

ObjectCreate("Нижняя линия",OBJ_HLINE,0,0,Bid-0.0010); 


return(INIT_SUCCEEDED);
}


Ou se peut-il que l'EA dessine la ligne médiane, puis que l'offre change, et que la deuxième ligne ne s'écarte pas de la ligne médiane de 10 pips ?

Est-il possible que l'offre change pendant l'exécution de l 'EA ? Ou la valeur de Bid ne changera que si RefreshRates est exécuté ?


Ce serait peut-être plus correct ?

int OnInit()
{

sredn=Bid;
verhn=sredn+0.0010;
nizhn=sredn-0.0010;


ObjectCreate("Средняя линия",OBJ_HLINE,0,0,sredn); 

ObjectCreate("Верхняя линия",OBJ_HLINE,0,0,verhn); 

ObjectCreate("Нижняя линия",OBJ_HLINE,0,0,nizhn); 



return(INIT_SUCCEEDED);
}
 
igrok333:

Est-il possible d'écrire ce code ?

(la distance entre les lignes doit être de 10 pips)


Ou se peut-il que l'EA dessine la ligne médiane, puis que l'offre change, et que la deuxième ligne ne soit plus à 10 pips de la ligne médiane ?


C'est bien ça ?

L'offre ne changera pas s'il n'y a pas d'appel RefreshRates au milieu,

Mais il n'est pas tout à fait correct d'utiliser l'offre d'achat dans OnInit(). Premièrement, la connexion peut être rompue ou le marché peut être fermé, ceci est un point ; le support de l'offre d'achat dans OnInit est une fonctionnalité, qui peut être modifiée, ceci est deux :-) Et enfin - le but de OnInit() est l'initialisation, c'est-à-dire vérifier que tout est prêt pour la suite du travail et répondre par OUI / NON. Il n'est pas bon de s'en remettre aux fonctions de négociation ou de créer des objets graphiques. C'est acceptable, mais pas correct.

 
Maxim Kuznetsov:

L'offre ne changera pas s'il n'y a pas d'appel RefreshRates au milieu,

Mais ! l'utilisation de Bid dans OnInit() n'est pas tout à fait correcte. Premièrement, la connexion peut ne pas exister ou le marché peut être fermé, ceci est une chose ; le support même de Bid dans OnInit est une fonctionnalité, qui peut être changée, ceci est deux choses :-) Et enfin - le but de OnInit() est l'initialisation, c'est-à-dire vérifier que tout est prêt pour la suite du travail et répondre par OUI / NON. Il n'est pas bon de s'en remettre aux fonctions de négociation ou de créer des objets graphiques. C'est acceptable, mais pas correct.

Oui, en effet.

J'ai ensuite une transaction ouverte sur la ligne médiane.

Si vous voulez ouvrir une position sur la ligne du milieu, il vaut mieux déplacer les onitics vers la fonction ontick, car elle attendra l'ouverture du nouvel onitick.

il est préférable de déplacer la construction de la ligne au début de la fonction onitics

 

Est-il possible de faire fonctionner le script dans le testeur ?
Je le jette par la fenêtre, rien ne se passe. Sur un graphique normal, le script fonctionne

 
RomanRott:

Est-il possible de faire fonctionner le script dans le testeur ?

Non et il n'y a pas besoin de le faire. Tout peut être testé sur n'importe quel graphique ou en mode débogage.
 
RomanRott:

Je veux écrire un code dans mon indicateur/conseiller qui connectera d'autres indicateurs en même temps.
Que dois-je ajouter et comment ?


Si vous voulez qu'un autre indicateur se jette sur vous, vous ne pouvez pas le faire !

Il est possible d'en dessiner un autre à côté de votre indicateur. À cette fin, vous pouvez utiliser la fonction iCustom et l'utiliser pour dessiner les données dont vous avez besoin.

 

J'ai créé trois EAs dans MT4 avec des "magies" et des stratégies différentes, je les ai combinées en une seule EA, chaque stratégie fonctionne séparément, mais lorsque j'en active trois en même temps, la troisième stratégie ne modifie pas ses "magies" POURQUOI ? ?? tout dans le testeur.

Et aussi, devrait mettre un selimit, mais met un nombre égal de selimits. (si 2 sels, alors 2 selimits misent, si 5 sels, alors 5 selimits misent).

 
ZZuretc:

Pouvez-vous me conseiller, dans MT4 j'ai créé trois EAs avec des "magies" et des stratégies différentes, je les ai combinées en une seule EA, séparément chaque stratégie fonctionne, mais quand j'en allume trois en même temps, la troisième stratégie ne modifie pas ses "magies" POURQUOI ? ?? tout dans le testeur.

Et aussi, devrait mettre un selimit, et met égale au nombre de ventes. (Si 2 sels, alors 2 selimits met, si 5 sels, alors met 5 selimits).


Que dire, il n'identifie pas correctement ses ordres, ses positions pour chacune des stratégies.

Je dois regarder le code.

 
ZZuretc:

J'ai créé trois EAs dans MT4 avec des "magies" et des stratégies différentes, je les ai combinées en une seule EA, chaque stratégie fonctionne séparément, mais quand j'en active trois en même temps, la troisième stratégie ne modifie pas ses "magies" POURQUOI ? ?? tout dans le testeur.

Et aussi, devrait mettre un selimit, mais met un nombre égal de selimits. (si 2 sels, alors 2 selimits misent, si 5 sels, alors 5 selimits misent).

Pour combiner 3 ---> 1, il faut suivre une certaine règle. Chaque stratégie a une tête, un torse, des jambes. Vous prenez les trois têtes. Et le torse et les jambes, tu choisis le meilleur des trois. Trois torses et six jambes, c'est excessif...

 
ZZuretc:
J'affiche l'expert, les bibliothèques et les fichiers d'inclusion, vérifie les erreurs, au début ça fonctionne sans erreurs, mais ensuite ça peut en donner une différente à chaque fois. (Pour le test, mettez un tic et un orignal 20)

Pour commencer :

variables, visibilité des variables

comment sont-elles déclarées, où ?