Demandez ! - page 136

 

suspendre la commande

Bonjour à tous,

En ce qui concerne la programmation en MQL4, je suis un vrai débutant, mais j'apprends chaque jour. Actuellement, j'essaie ce qui suit :

dans la boucle principale de mon EA, lorsque certaines conditions sont remplies, un ordre est ouvert. Cet ordre est avec une entrée donnée, stoploss et takeprofit en utilisant la fonction OrderSend.

Un seul ordre à la fois est autorisé :

total = OrdersTotal() ;

si(total < 1)

{ etc etc

Ce que je voudrais construire, c'est que lorsque le stoploss ou le takeprofit de l'ordre est atteint, l'EA attende en prenant de nouveaux ordres jusqu'à ce que la barre horaire actuelle (la barre dans laquelle le stoploss ou le takeprofit est atteint) se termine.

Le problème actuel est que dès que le stoploss ou le takeprofit est atteint, un autre ordre est immédiatement pris dans la boucle principale.

Pouvez-vous m'aider ?

FXX

 

Combine EA besoin d'aide

Bonjour à tous,

Quelqu'un sait-il comment combiner 2 EA différentes en 1 EA ? Veuillez me montrer comment faire étape par étape ?

Merci d'avance pour votre aide !

 

Dépend de la logique de l'EA

Chaque EA a une logique différente, donc la méthode pour combiner deux ea's dépend de leur logique...

Alors où sont les ea's que vous souhaitez combiner ?

Bill FX:
Bonjour à tous,

Quelqu'un sait comment combiner 2 EA différents en 1 EA ? S'il vous plaît, montrez-moi étape par étape comment le faire ?

Merci d'avance pour votre aide !
 

Comment classer les valeurs ? Besoin d'aide

Quelqu'un peut-il m'aider à créer une fonction de classement ?

Par exemple, j'ai des valeurs doubles comme celles-ci :

a=3.0 ; b=4.0 ; c=5.0 ; d=2.0 ; e=1.0 ; f=6.0 ; g=0.0 ;

de la valeur supérieure à la valeur inférieure (6,0, 5,0, 4,0, 3,0, 2,0, 1,0, 0,0)

ou la valeur de (f,c,b,a,d,e,g)

Les rangs devraient donc être les suivants

numéro de rang : (th)

f=1 ; c=2 ; b=3 ; a=4 ; d=5 ; e=6 ; g=7 ;

Ce dont j'ai besoin est une fonction qui renvoie le rang si je saisis la valeur

int rank (double valeur)

{

traite toutes les valeurs ;

retourne (le rang d'une valeur parmi toutes les valeurs)

}

Je sais que c'est facile si nous créons une fonction comme celle-ci

pour l'exemple de la valeur "a

int rank (double valeur)

{

if(a>b && a>c && a>d && a>e && a>f && a>g)

retour (1) ;

.

.

.

if(a<b && a<c && a<d && a<e && a<f && a<g)

return(7) ;

}

Le problème est que lorsque les variations de la valeur sont de 2, la combinaison n'est que de peu d'importance, mais lorsque les variations augmentent, par exemple 5, 7 ou 10, la combinaison pour faire le rang sera très très importante.

J'espère que quelqu'un pourra m'aider pour ce genre de problème...

Merci d'avance, désolé pour mon mauvais anglais, mais je suis en train d'apprendre...

Pj...

 

Utilisez un tableau et jetez un coup d'œil à la fonction ArraySort().

Bonne chance

Lux

 

Stoch OBOS

J'aime beaucoup cette stoch indienne, mais j'ai besoin d'aide pour la modifier, car j'ai besoin d'une alerte lorsque la stoch touche la zone achetée ou vendue. Et quand il alerte, il peut montrer quelle devise aussi.

Merci d'avance.

Dossiers :
 
luxinterior:
Utilisez un tableau et jetez un œil à la fonction ArraySort().

Bonne chance

Lux

J'ai essayé mais je ne comprends toujours pas,

j'ai besoin de quelqu'un qui puisse m'apprendre ou me montrer comment faire cette chose...

Peut-être pourriez-vous Lux ?

Merci d'avance

 
primajaya:
Chaque EA a une logique différente, donc la méthode pour combiner deux EA dépend de leur logique... Alors, où sont les EA que vous souhaitez combiner ?

Bonjour, primajaya,

Merci pour vos commentaires. Je veux dire que le 1er EA est ouvert et le 2ème EA est fermé, si le 1er EA est ouvert et a des profits et que je veux que le 2ème EA ferme la transaction avec XXX profits, alors comment dois-je faire ? Ils fonctionnent si je les attache à 2 chats mais je veux en combiner 2 en 1 alors j'ai juste besoin d'ouvrir 1 seul EA.

Merci pour votre aide !

 
Bill FX:
Salut primajaya,

Merci pour vos commentaires. Je veux dire que le premier EA est ouvert et le second EA est fermé, si le premier EA est ouvert et a des profits et que je veux que le second EA ferme la transaction avec XXX profits, alors comment dois-je faire ? Ils fonctionnent si je me connecte à deux chats, mais si je veux en combiner deux en un seul, il me suffit d'ouvrir un seul EA.

Merci pour votre aide !

Je ne connais toujours pas la logique du 1er et du 2ème EA pour ouvrir des trades...

Mais peut-être que ceci peut vous aider...

Essayez de combiner les deux EA en un seul EA...

Donc l'EA devrait avoir deux signaux pour ouvrir des trades :

Le 1er signal du 1er EA et le 2ème signal du 2ème EA...

vous pouvez utiliser OrderMagicNumber() comme identité pour chaque transaction ouverte par deux signaux...

par exemple :

si les transactions ouvertes par le 1er signal alors -- le numéro magique est 1111

si les trades ouverts par le 2ème signal alors -- le numéro magique est 2222

Donc si nous voulons fermer une transaction du second signal, nous pouvons utiliser OrderMagicNumber() comme identité pour la fermer :

J'espère que cela vous aidera...

Pj

 

10points3

S'IL VOUS PLAÎT, PROGRAMMEURS !

Nous avons besoin dans 10points3 EA, que lorsque le troisième trade s'ouvre, le premier se ferme, j'essaie mais il ferme toujours toutes les positions.

En fait, nous avons :

if (PreviousOpenOrders>OpenOrders)

{

for(cnt=OrdersTotal();cnt>=0;cnt--)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ;

mode=OrderType() ;

if (OrderSymbol()==Symbol() && OrderMagicNumber() == Magic)

{

if (mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue) ; }

if (mode==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Red) ; } }

return(0) ;

}

}

}

Je pensais faire ceci

1. changer le numéro magique pour la première transaction lorsque la deuxième s'ouvre, par exemple numéro magique+1

2. lorsque la troisième transaction s'ouvre, fermer la première, avec le numéro magique+1 attribué.

Ai-je raison ?

ou quelle autre façon puis-je identifier le premier trade ouvert pour le fermer plus tard ?

Si vous pouvez me guider ou faire les changements, c'est mieux parce que je ne suis pas un programmeur, je suis juste en train d'apprendre.

Ce changement serait le début du Saint Graal!!!

Dossiers :
10p3v0.03_1.mq4  12 kb
Raison: