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

 
paukas:
CommandesTotal()

Peut-être que je ne comprends pas, mais je pensais juste que OrdersTotal()==0 est l'opposé du but final de ma boucle.

Ce que je veux peut aussi être imaginé comme ça :

Condition ;

while(OrdersTotal()==0)

{

Commerce interdit ;

}

 
Mislaid:

Non, 100 graphiques sont suffisants, mais vous devez écrire l'indicateur correctement.

Eh bien, oui. Vous ne pouvez pas ouvrir plus de 100 graphiques dans Metatrader.

Et comment organiser le chargement opportun de l'historique pour tous les symboles et toutes les périodes de l'indicateur ?
L'appel ArrayCopySeries le fera ?

Au début de l'indicateur, l'appel ArrayCopySeries ne pompe pas l'historique pour les nouveaux symboles.
Peut-être n'est-il pas pompé parce que le marché est fermé le week-end ?
 

Bonjour, j'ai besoin d'aide ! Lorsque l'EA fonctionne, l'ordre est fermé par un stop et immédiatement sur un nouveau tick, un nouvel ordre est ouvert sur la même barre dans la même direction et, par conséquent, le stop est à nouveau déclenché et cela peut continuer plusieurs fois. L'objectif est d'ouvrir un nouvel ordre après la fermeture du stop et seulement après le prochain croisement de la MA courte avec la MA longue. Si possible, veuillez suggérer le code en mql4. Merci d'avance !

 
Sokolmih:

Bonjour, j'ai besoin d'aide ! Lorsque l'EA fonctionne, l'ordre est fermé par un stop et immédiatement, sur un nouveau tick, un nouvel ordre est ouvert sur la même barre dans la même direction et, par conséquent, le stop est à nouveau déclenché et cela peut continuer plusieurs fois. L'objectif est d'ouvrir un nouvel ordre après qu'il ait été fermé par un stop et seulement après le prochain croisement de la MA courte avec la MA longue. Si possible, veuillez suggérer le code en mql4. Merci !

S'il n'y a pas de changement dans l'ordre, il ne doit plus être négocié, et s'il y a un nouveau croisement, il ne doit pas être négocié.

Je n'écrirai pas le code à partir de zéro - ceci est pour les indépendants.

 
RickD:
Eh bien, oui. Vous ne pouvez pas ouvrir plus de 100 graphiques dans Metatrader.

Et comment organiser le téléchargement opportun de l'historique pour tous les symboles et toutes les périodes de l'indicateur ?
L'appel ArrayCopySeries le fera ?

Au début de l'indicateur, l'appel ArrayCopySeries ne pompe pas l'historique pour les nouveaux symboles.
Peut-être n'est-il pas pompé parce que le marché est fermé le week-end ?

Il faut un script pour les week-ends.

Je travaille les jours de semaine. C'est pourquoi j'utilise l'indicateur. Je lui donne une liste d'instruments et il demande des cotations pour l'intervalle de temps, sur le graphique où il se trouve. Je ne m'occupe pas de la gestion des erreurs. Après une douzaine de minutes, tout se calme.

J'ai complètement oublié. Si je veux sauvegarder l'historique, je dois nécessairement ouvrir le graphique du symbole.

 
evillive:

L'heure ou le prix du franchissement doit être enregistré dans les variables globales du terminal ou dans un fichier et la situation actuelle sur le graphique doit être comparée à la valeur enregistrée ; s'il n'y a pas de changement et que l'ordre a été franchi, ne recommencez pas à négocier, s'il y a un nouveau franchissement, négociez.

Je n'écrirai pas le code à partir de zéro, cela doit être fait par un freelance.

Merci.

Je ne demande pas le code entier, mais donnez s'il vous plaît quelques conseils/indications. Voici comment identifier le prochain croisement, pouvez-vous nous aider ?

 
Sokolmih:

Merci.

Je ne vous demande pas de me fournir tout le code, bien sûr, mais je vous prie de me donner quelques indications ou suggestions. Voici comment déterminer la prochaine intersection, pouvez-vous nous aider ?

Oui, de la même manière que les précédents, vous avez un EA, regardez dans le code.
 
evillive:
Oui exactement la même chose que les précédentes, vous avez l'EA, regardez dans le code.
Peut-être que je n'ai pas posé la question correctement, regardez, j'ai identifié dans l'historique que le dernier ordre a clôturé au stop et maintenant, selon votre conseil, je dois me souvenir de la valeur du court et du long et ensuite aux prochains ticks je dois les comparer avec les valeurs actuelles et si l'un devient inférieur ou supérieur à l'autre, alors j'ouvre un ordre. Est-ce que je comprends bien.
 
Sokolmih:
Peut-être que je n'ai pas posé la question correctement. Regardez, j'ai vérifié l'historique et j'ai découvert que le dernier ordre a été fermé par un stop et maintenant, selon votre conseil, je devrais mémoriser les valeurs du court et du long et ensuite, aux prochains ticks, je devrais les comparer avec les valeurs actuelles et si l'une devient inférieure ou supérieure à l'autre, alors j'ouvre un nouvel ordre. Est-ce que je comprends bien.

Vous pouvez vous souvenir de l'heure d'ouverture de la barre où le croisement de deux MA est enregistré. Le Conseiller Expert a mémorisé le moment du franchissement et a ouvert un ordre. Ensuite, on contrôle la présence d'un ordre au marché ; d'après ce que j'ai compris, il n'y a qu'un seul ordre sur le marché.

Une fois l'ordre fermé, le conseiller expert compare l'heure de la fermeture de l'ordre avec l'heure du franchissement. Si OrderCloseTime>CrossTime, la transaction est interdite et un nouveau croisement est surveillé. Si un nouveau passage est trouvé pendant cette période - n'oubliez pas son heure. Dans ce cas, OrderCloseTime<CrossTime devient automatiquement un nouvel ordre et un nouvel ordre est ouvert.

 
evillive:

Vous pouvez vous souvenir de l'heure d'ouverture de la barre où le croisement de deux MA est enregistré. Le Conseiller Expert a mémorisé le moment du franchissement et a ouvert un ordre. Ensuite, on contrôle la présence d'un ordre de marché ; d'après ce que j'ai compris, il n'y a qu'un seul ordre sur le marché.

Une fois l'ordre fermé, le conseiller expert compare l'heure de la fermeture de l'ordre avec l'heure du franchissement. Si OrderCloseTime>CrossTime, la transaction est interdite et un nouveau croisement est surveillé. Si un nouveau passage est trouvé pendant cette période - n'oubliez pas son heure. Cela devient automatiquement OrderCloseTime<CrossTime et un nouvel ordre est ouvert.

J'ai obtenu les conditions et maintenant j'essaie de comprendre comment déterminer le moment de l'ouverture de la barre où le croisement de deux MAs est fixé. Merci pour le conseil.