Comment coder ? - page 55

 

Besoin d'une EA à copier pour avoir plusieurs ordres avec les mêmes conditions.

Bonjour.

Je cherche un EA qui copie un ordre en attente et le rend muptiple avec exactement les mêmes conditions.

Par exemple, disons que j'ai un ordre en attente USD/JPY entry-stop sell 1 lot à 115.00, et je veux avoir 5 ordres identiques.

Je ne veux pas simplement augmenter la taille de la transaction, mais plutôt avoir plusieurs positions avec les mêmes conditions.

Existe-t-il un EA qui fait une telle chose pour moi ?

J'ai également essayé e-Trailing.mq4 mais je n'ai pas pu placer le trailing stop pour des ordres multiples.

J'ai besoin de placer un trailing stop à 5 pips du prix actuel, pour plusieurs ordres ouverts.

Y a-t-il un bon EA pour cela ?

Salutations

 

Peut-être que "Point" indique quelle est la granularité du mouvement du prix, ce qui, pour votre exemple EURJPY, serait de 0,001, et non ce qu'est l'idée de "pips intégraux" (0,01) ? Vous pouvez tester cela. Si c'est le cas, vous devrez peut-être utiliser "(Point*10)" au lieu de "Point" dans les calculs.

Ou peut-être pouvez-vous simplement accepter que les "pips" dont ils parlent sont 1/10e des "pips" auxquels vous êtes habitué ? Par exemple, qu'arrive-t-il au paramètre "slippage" de l'OrderSend ? Est-ce que c'est en pips habituels ou en pipettes ?

 
ralph.ronnquist:
Peut-être que "Point" indique quelle est la granularité du mouvement du prix, ce qui, pour votre exemple EURJPY, serait 0,001, et non pas ce qu'est l'idée de "pip intégral" (0,01) ? Vous pouvez tester cela. Si c'est le cas, vous devrez peut-être utiliser "(Point*10)" au lieu de "Point" dans les calculs. Ou peut-être pouvez-vous simplement accepter que les "pips" dont ils parlent sont 1/10e des "pips" auxquels vous êtes habitué ? Par exemple, qu'arrive-t-il au paramètre "slippage" de l'OrderSend ? Est-ce que c'est en pips habituels ou en pipettes ?

Merci pour la réponse - je ne suis pas un codeur, donc cela m'est un peu étranger. J'ai essayé Point*10 et l'écart s'est élevé à 410 pips. J'ai également essayé Point/10, ce qui m'a permis d'afficher un écart de 4,0 pips, ce qui semble être un "arrondi" par rapport au chiffre réel, qui aurait dû être de 4,1 pips.

J'ai un script pour envoyer des ordres que j'ai dû modifier en utilisant Point*10, mais je ne parviens pas à obtenir une lecture correcte de l'écart.

Je pense que cela va devenir un problème pour de nombreux indicateurs, scripts et EA, car j'ai entendu dire que de nombreux courtiers MT4 pourraient adopter le concept de pip fractionnel sur leurs plateformes.

Tout autre conseil serait apprécié.

Dan

 

Salut,

NorthFinance vient d'ajouter un autre chiffre donc EUR/USD ! est 1.47125

 
FXTradepro:
Merci pour la réponse - je ne suis pas un codeur donc cela m'est un peu étranger. J'ai essayé Point*10 et cela a fait lire 410 pips à l'écart. J'ai également essayé Point/10 et cela a donné un écart de 4,0 pips, ce qui semble être un "arrondi" du nombre réel qui aurait dû être 4,1 pips.

Je dispose d'un script d'envoi d'ordres que j'ai dû modifier en utilisant Point*10, mais je n'arrive pas à obtenir une lecture correcte de cet écart.

Je pense que cela va devenir un problème pour de nombreux indicateurs, scripts et EA, car j'ai entendu dire que de nombreux courtiers MT4 pourraient adopter le concept de pip fractionnel sur leurs plateformes.

Tout autre conseil serait apprécié.

Dan

Pas d'inquiétude. D'après ce que je comprends, le terme "pips" a acquis une définition liée à la taille de la transaction, ce qui signifie qu'un mouvement de 1 pip d'une transaction d'un lot correspond à un montant de valeur connue. Le terme "Point" dans MT4 signifie plus strictement la granularité du mouvement du prix, c'est-à-dire la plus petite différence qu'il peut y avoir entre deux prix ; ou que chaque prix Bid/Ask est un nombre entier N fois le Point.

Jusqu'à présent, il y avait une traduction 1-1 entre les pips et les points dans MT4, mais ce n'est plus le cas. Au lieu de cela, pour votre courtier, vous avez 1 pip = 10 points, et donc, si vous voulez que la variable "spread" soit en pips, vous devrez utiliser l'expression "(Point*10)" partout où vous utilisiez précédemment "Point". L'expression est sans les guillemets, mais *avec* les parenthèses.

Pour que cela soit très clair dans le code, vous pourriez également ajouter une fonction pour fournir la mesure de pips appropriée :

double pips() { return ( Point * 10.0 ); }[/PHP]

and in that case, you would replace "Point" at all other places with the function call "pips()".

Alternatively, you let the program work with the Point granularity, and merely translate to pips when the spread value is presented. I.e. forget about using the pips() function above, but have the following function for translating a Points value to be a pips value:

double pips(int points) { return ( 1.0 * points / 10.0 ); }

Then the spread value component in the ObjectSetText call would be like:

[PHP]DoubleToStr( pips( Spread ), 1 )
 

Problème avec Point

J'utilise maintenant le code suivant et je remplace toutes les occurrences de Point par myPoint.

Je déclare d'abord une variable globale

double myPoint ;

J'ajoute ensuite la ligne suivante dans la fonction Init.

myPoint = SetPoint() ;

Puis j'ajoute la fonction

double SetPoint()

{

double mPoint ;

si (Chiffres < 4)

mPoint = 0,01 ;

sinon

mPoint = 0,0001 ;

retour(mPoint) ;

}

Cela fonctionne que le courtier utilise des pips fractionnels ou non.

Robert

 

Aidez-moi s'il vous plaît

Est-ce que quelqu'un peut m'aider ?

Je veux un expert 20_200 avec trailing stop.

S'il vous plaît mettez quelqu'un.

Dossiers :
 

s'il vous plaît

PANNEK:
pouvez-vous m'aider ?

Je veux un expert 20_200 avec trailing stop.

S'il vous plaît mettez n'importe qui.

un peu d'aide

 
MrPip:
J'utilise maintenant le code suivant et je remplace toutes les occurrences de Point par monPoint.

Je déclare d'abord une variable globale

double myPoint ;

J'ajoute ensuite la ligne suivante dans la fonction Init.

myPoint = SetPoint() ;

Puis j'ajoute la fonction

double SetPoint()

{

double mPoint ;

si (Chiffres < 4)

mPoint = 0,01 ;

sinon

mPoint = 0,0001 ;

retour(mPoint) ;

}

Cela fonctionne que le courtier utilise des pips fractionnels ou non.

Robert

Vous n'avez pas vraiment besoin d'une fonction, il suffit de la mettre dans la fonction init() :

myPoint = 0.0001; if (Digits < 4) myPoint = 0.01;
 

Newdigital

PANNEK:
Pouvez-vous m'aider ?

Je veux un expert 20_200 avec trailing stop.

S'il vous plaît mettez n'importe qui.

s'il vous plaît aidez NEWDIGITAL

Dossiers :