Demandez ! - page 104

 
Kalenzo:
Essayez d'utiliser NormalizeDouble(price,Digits). Parfois le prix de metatrader n'est pas 1.2000 mais 1.20020031023012 et le reste des chiffres est un problème pour metatrader quand il place un ordre en attente. Utilisez NormalizeDouble et tout se passera bien.

Merci beaucoup Kalenzo, ça marche maintenant.

 

Définir les jours de bourse

Supprimé

Solution trouvée !

Salut les codeurs

J'essaie d'insérer une fonction dans mon EA pour choisir les jours de trading.

La fonction pour les heures de trading fonctionne bien.

Pour les heures de trading j'utilise ce qui suit :

extern string TradingHours = "TRADING HOURS" ;

extern bool UseHourTrade = True ;

extern int FromHourTrade = 8 ;

extern int ToHourTrade = 18 ;

et plus tard après le début de l'int :

if (UseHourTrade){

if ( !(Hour()>=FromHourTrade && Hour()<=ToHourTrade)) {

Comment("L'heure de la transaction n'est pas encore arrivée !") ;

return(0) ;

Mais qu'est-ce qui est nécessaire pour sélectionner les jours de négociation ?

Lorsque je définis l'extern comme suit :

extern string TradingDays = "TRADING Days" ;

extern bool UseDayTrade = True ;

extern int FromDayTrade = DayOfWeek;

extern int ToDayTrade = DayOfWeek;

alors j'ai les deux messages suivants :

DayOfWeek'-variable attendue

Que faire ?

Quelqu'un peut m'aider ?

Merci pour toute aide

 

GURU ! !! S'il vous plaît, aidez-moi !

Nevermind.....

 

S'il vous plaît aider tout le monde

J'ai eu un problème, comment faire pour qu'il n'y ait qu'une seule position ouverte et deux en attente.

Disons simplement Buy et Buystop, Sellstop.

J'ai eu une info auparavant de quelqu'un dans mql4, il utilise :

if(buystoporder>0 && sellstoporder>0)return(0) ;

et avant cela, il a utilisé switch(OrderType()).

Je suis confus, où dois-je changer le code ?

Je me retrouve avec le buystop et le sellstop ouverts plusieurs fois quand je change le code, alors que sinon, il attend que l'un d'eux soit triggé, atteigne son SL ou TP et ensuite fait un nouveau 2 en attente.

Mon but est 1 ouvert et 2 en attente, donc quand l'ouvert atteint le SL ou TP, l'un des en attente est triggé, celui qui n'est pas triggé sera supprimé. et faire un autre 2 en attente.

Et est-il possible de mettre un nombre magique dans l'option switch() ?

Merci beaucoup pour votre aide.

 

Comment vérifier facilement si deux moyennes mobiles se sont croisées dans les 5 barres précédant la barre actuelle ? Quelqu'un peut-il m'aider ?

Dave

-OR-

Comment énoncer 5 déclarations conditionnelles ? Si les 5 sont acceptables, on énonce une valeur d'achat=1.

Je ne sais pas si cela fonctionnerait en dessous de ??: Quelqu'un peut-il me dire si cela fonctionne et, dans le cas contraire, comment l'énoncer ?

if(Condition1)

if(Condition2)

if(Condition3)

if(Condition4)

si(Condition5)

{

buyvalue=1 ;

}

Dave

 
if(Condition1)

if(Condition2)

if(Condition3)

if(Condiition4)

if(Condition5)

{

buyvalue=1;

}

C'est la façon la plus économique et la plus rapide d'écrire des tests multiconditionnels.

C'est la plus rapide car si la condition1 n'est pas remplie, les conditions 2, 3, ... ne sont pas évaluées, ce qui n'est pas le cas si vous mettez l'opérateur "&&" entre elles.

Commencez donc par la condition la plus probable et la moins fréquente.

Cela fonctionnera donc sans aucun doute.

Maintenant, comme vous demandez souvent si quelque chose va fonctionner, le mieux est d'essayer, c'est aussi une bonne façon d'apprendre.

A la vôtre.

 
Dave137:
Comment vérifier facilement si deux moyennes mobiles se sont croisées dans les 5 barres précédant la barre actuelle ? Quelqu'un peut-il m'aider ?

ma1_0 = iMA(....,0);

ma2_0 = iMA(....,0);

ma1_5 = iMA(....,5);

ma2_5 = iMA(....,5);

if((ma1_0 - ma2_0) * (ma1_5 - ma2_5) < 0) cross = true;
 

Comment puis-je...

Bonjour,

Pouvez-vous m'indiquer, si vous le voulez bien, comment je peux dire :.

"si la position précédente a fermé sur la bougie "0" ou la bougie "1", alors n'ouvrez pas une autre position sur cette même bougie" ou, même si la bougie "0" remplit les conditions requises pour ouvrir une autre position... si la position précédente a fermé sur cette bougie alors empêchez-la d'ouvrir une autre position, attendez que les conditions soient à nouveau réunies.

Je peux le dire en anglais mais je suis encore un peu trop nouveau pour le mql4.

merci

amatrader

 

Vous pouvez utiliser l'extrait de code suivant :

bool last_order_closed_rather_recently = false;

for ( int i = OrdersHistoryTotal() - 1; i >= 0;i-- ) {

if ( ! OrderSelect( i, SELECT_BY_POS, MODE_HISTORY ) ) continue;

if ( OrderCloseTime() >= Time[ 1 ] ) {

last_order_closed_rather_recently = true;

break;

}

}

[/PHP]

after which you have the bool variable "last_order_closed_rather_recently" telling whether there was an order closed after the opening of bar 1. Then somewhere you'd have:

[PHP]if ( last_order_closed_rather_recently ) return( 0 );

avant d'entrer dans une nouvelle transaction.

 

Merci monsieur, j'apprécie beaucoup.

Raison: