[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 189

 

Bonne journée à vous tous !

Pouvez-vous me conseiller...

Supposons que nous ayons la construction suivante OrderSend(Symbol(),OP_BUY,Lots,Ask,3 ,0,0) ;

Sur la quatrième place, on a slippage = 3.

Ceci est un fragment de la référence :

glissement - Glissement de prix maximum autorisé pour les ordres de marché(ordres d'achat ou de vente).

1. Si cela ne vous dérange pas, veuillez expliquer sur vos doigts ce que c'est, à partir de quoi et pourquoi. )) Il n'est pas très clair quel est l'écart par rapport à et en quoi (pips, minutes...).

2. et la seconde, à quel niveau dois-je fixer ??? J'ai vu quelque part dans des articles que cette valeur devrait être fixée à 30 pour les paires de devises à cinq signes (comme EURUSD).

Merci beaucoup !

 
Andrey067:

Bonjour à tous !

Je commence tout juste à faire mes premiers pas en programmation. Je m'entraîne avec des exemples simples. Mais je veux mieux comprendre la syntaxe et je veux écrire quelque chose de plus intéressant : par exemple, créer un indicateur de maximum et minimum pour une période, fractal... Je serais très reconnaissant si quelqu'un pouvait partager les sources...

Partager la ligne la plus précieuse avec vous . http://www.google.ru/advanced_search?q=codebase+site:mql4.com&hl=fr&lr=&newwindow=1&prmd=ivns
 
NickXXX:

Bonne journée à vous tous !

Pouvez-vous me conseiller s'il vous plaît...

Supposons que nous ayons la construction suivante OrderSend(Symbol(),OP_BUY,Lots,Ask,3 ,0,0) ;

Sur la quatrième place, on a slippage = 3.

Ceci est un fragment de la référence :

glissement - Glissement de prix maximum autorisé pour les ordres de marché (ordres d'achat ou de vente).

1. Si cela ne vous dérange pas, veuillez expliquer sur vos doigts ce que c'est, à partir de quoi et pourquoi. )) Il n'est pas très clair quel est l'écart par rapport à et en quoi (pips, minutes...).

2. et la seconde, à quel niveau dois-je fixer ??? J'ai vu quelque part dans des articles que cette valeur devrait être fixée à 30 pour les paires de devises à cinq signes (comme EURUSD).

Merci d'avance !


à 1 - lire sur internet une explication du "slippage" - c'est le paramètre de slippage

Pour le second - vous devez le régler sur 4 - par exemple 3 - à 5 - 30

 
NickXXX:

Bonne journée à vous tous !

Pouvez-vous me conseiller...

Supposons que nous ayons la construction suivante OrderSend(Symbol(),OP_BUY,Lots,Ask,3 ,0,0) ;

Sur la quatrième place, on a slippage = 3.

Ceci est un fragment de la référence :

glissement - Glissement de prix maximum autorisé pour les ordres de marché (ordres d'achat ou de vente).

1. Si cela ne vous dérange pas, veuillez expliquer sur vos doigts ce que c'est, à partir de quoi et pourquoi. )) Il n'est pas très clair quel est l'écart par rapport à et en quoi (pips, minutes...).

2. et la seconde, à quel niveau dois-je fixer ??? J'ai vu quelque part dans des articles que cette valeur devrait être fixée à 30 pour les paires de devises à cinq signes (comme EURUSD).

Merci beaucoup !


1. Voir ici, plus précisément "... Si le prix d'ouverture demandé est gravement dépassé, une erreur 138 (ERR_REQUOTE) est générée quelle que soit la valeur du paramètre slippage. Si, toutefois, le prix demandé est obsolète mais est toujours présent dans le flux de prix, la position sera ouverte au prix actuel et seulement si le prix actuel se situe dans la fourchette prix+-slippage" Écart en pips.

2. Dans le manuel, la valeur de 2 (pips réels sur les paires à quatre chiffres), pour les paires à cinq chiffres - la valeur est de 20-30, cela dépend du courtier... Lorsque je négociais sur A..... et que j'utilisais 20-30 - je n'avais aucun problème avec l'ouverture des ordres par la valeur de ce paramètre.

 
Roman.:


1. Voir ici, à savoir "... Si le prix ouvert demandé est fortement dépassé, une erreur 138 (ERR_REQUOTE) est générée, quelle que soit la valeur du paramètre de slippage. Si, toutefois, le prix demandé est obsolète mais est toujours présent dans le flux de prix, la position sera ouverte au prix actuel et seulement si le prix actuel se situe dans la fourchette prix+-slippage" Écart en pips.

2. Dans le tutoriel - valeur 2 (pips réels, sur quatre chiffres), pour cinq chiffres - valeur 20-30, cela dépend du courtier... J'ai négocié avec la valeur de 20-30 sur A..... et n'ai eu aucun problème avec l'ouverture des ordres par la valeur de ce paramètre.

Par exemple, si A.....i présente les conditions suivantes :

1. pour les paires de devises avec 5 décimales - le changement minimum de la 4ème décimale (0,0001) ;

2. pour les paires de devises avec 3 décimales - le changement minimum de la 2ème décimale (0,01).

Dois-je le régler sur 20-30 sur une paire à 5 chiffres (par exemple EURUSD) ou sur 2-3, car un changement de la 4ème décimale est pris en compte ?

 
NickXXX:

Et si, par exemple, A..... et ce sont les conditions :

  • pour les paires de devises avec 5 décimales - la variation minimale de la 4ème décimale (0,0001) ;
  • pour les paires de devises avec 3 décimales - le changement minimum de la 2ème décimale (0,01).

Je fixe 20-30 pour les paires à 5 décimales (par exemple EURUSD) ou 2-3 car seul le changement du 4ème signe décimal est pris en compte ????.


Quoi qu'il en soit, sur les courtiers à cinq chiffres, mettez 40 et ne vous inquiétez pas, à la fin, à moins qu'il ne s'agisse d'un scalping masochiste, quatre points réels de plus ou de moins n'ébranleront pas votre plan de jeu... :-))) Essayez microreal et c'est tout.
 
NickXXX:

Et si, par exemple, A..... a ces conditions :

1. pour les paires de devises avec 5 décimales - changement minimum de la 4ème décimale (0,0001) ;

2. pour les paires de devises avec 3 décimales - le changement minimum de la 2ème décimale (0,01).

Dois-je le régler sur 20-30 sur une paire à 5 chiffres (par exemple EURUSD) ou sur 2-3, car un changement de la 4ème décimale est pris en compte ?


Non. Exactement, vous multipliez les points réels par 10, puisqu'il s'agit d'un FIVE, c'est-à-dire que la valeur du slippage sera de l'ordre de 20-30.
 
Merci beaucoup... !
 
Andrey067:

Bonjour à tous !

Je commence tout juste à faire mes premiers pas en programmation. Je m'entraîne avec des exemples simples. Mais je veux mieux comprendre la syntaxe et je veux écrire quelque chose de plus intéressant : par exemple, créer un indicateur de maximum et minimum pour une période, fractal... Je serais très reconnaissant si quelqu'un pouvait partager les sources...

Voulez-vous prendre un exemple tout fait et le travailler ?

Et si vous lisiez d'abord cette section du manuel?

 

Je suis en train d'écrire un EA pour la rupture des canaux. Je suis tombé sur la vérification des ruptures de canaux avant d'ouvrir une transaction, c'est-à-dire que je dois calculer ou enregistrer le temps de rupture du canal avant d'ouvrir une transaction. J'obtiens des canaux à l'aide de l'indicateur et j'obtiens des valeurs comme ceci :

for (i = 0 ; i < ObjectsTotal() ; i++)
{
if (StringFind(ObjectName(i), "#",0) >= 0) continue ;
if (ObjectType(ObjectName(i)) == 1)
{
if (var_400 < ObjectGet(ObjectName(i),OBJPROP_PRICE1)
{
ChangeTrend1 = ObjectGet(ObjectName(i),OBJPROP_TIME2) ;
var_416 = ObjectGet(ObjectName(i),OBJPROP_PRICE1) ;
var_400 = ObjectGet(ObjectName(i),OBJPROP_PRICE1) ;
FirstPrice1 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend1, false) ;
}
if ((var_408 > ObjectGet(ObjectName(i),OBJPROP_PRICE1)) && (ObjectGet(ObjectName(i),OBJPROP_PRICE1)) > 0))
{
var_408 = ObjectGet(ObjectName(i),OBJPROP_PRICE1) ;
FirstPrice2 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend2, false)) ;
ChangeTrend2 = ObjectGet(ObjectName(i),OBJPROP_TIME2) ;
}
}
if (ObjectType(ObjectName(i)) == 2)
{
if (var_400 < ObjectGetValueByShift(ObjectName(i),0))
{
ChangeTrend1 = ObjectGet(ObjectName(i),OBJPROP_TIME2) ;
var_416 = ObjectGetValueByShift(ObjectName(i),1) ;
var_400 = ObjectGetValueByShift(ObjectName(i),0) ;
FirstPrice1 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend1, false) ;
}
si ((var_408 > ObjectGetValueByShift(ObjectName(i),0)) && (ObjectGetValueByShift(ObjectName(i),0) > 0))
{
ChangeTrend2 = ObjectGet(ObjectName(i),OBJPROP_TIME2) ;
var_408 = ObjectGetValueByShift(ObjectName(i),0) ;
FirstPrice2 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend2, false)) ;
}
}
}

var_392 = MathRound((var_400 - var_416)/ld_84 * 100) ;
if ((var_400 != 0) && (var_408 != 9999) && (var_400 != var_408)){
var_400 = NormalizeDouble(var_400,Digits) ;

var_408 = NormalizeDouble(var_408,Digits) ;

Veuillez m'aider à résoudre ce problème. Merci d'avance.



Raison: