Je suis déjà sur le point d'abandonner la lutte contre eux... - page 3

 
Maxim Dmitrievsky:
Alors, où aller ? Ils sont tous pareils, je suppose... courtier en forex

Jetez un coup d'œil à mon blog pour une critique. Il y aura 3 autres courtiers dans une semaine ou deux (en test maintenant).

Tous ont des dépôts abordables et de bonnes conditions.

 
Andrey Khatimlianskii:

Jetez un coup d'œil à mon blog pour une critique. Il y aura 3 autres courtiers dans une semaine ou deux (en test maintenant).

Tous ont des dépôts abordables et de bonnes conditions.

Bonne critique :)
 

Commençons à 15:23:39

Vous essayez de placer un stop d'achat avec un lot de 0.14.

prix 1.07998 SL = 1.07956 - différence 42 points - erreur

prix 1.08006 SL = 1.07957 - différence 49 pips - je me suis trompé

prix 1.08009 SL = 1.07957 - différence 52 pips - accepté !

C'est peut-être la différence entre SL et prix qui pose problème ?

 
Oksana Berenko:

Commençons à 15:23:39

Vous essayez de mettre un stop d'achat avec un lot de 0,14.

prix 1.07998 SL = 1.07956 - différence 42 points - erreur

prix 1.08006 SL = 1.07957 - différence 49 pips - je me suis trompé

prix 1.08009 SL = 1.07957 - différence 52 pips - accepté !

Peut-être que c'est la différence entre SL et prix qui est le problème après tout ?

Pourquoi était-ce une erreur si le stop était de 20 pips. Et si ce n'est pas 20 (modifié), vérifiez quand même

prix 1.07998 SL = 1.07956 - ceci est un bystop, tout est ok

le deuxième aussi, et le troisième...

Dans mon code :

ValidStop = SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL);
if( Ask-iMA(NULL,0,MAperiod,0,MODE_SMA,PRICE_CLOSE,0) >= ValidStop*Point)
   {
    double price;
    Lots = LotsOptimized();
    if(ValidStop<=StopLevels) price = MarketInfo(_Symbol,MODE_ASK)+StopLevels*_Point;
    else price = MarketInfo(_Symbol,MODE_ASK)+ValidStop*_Point;
    
    if(OrderSend(Symbol(), OP_BUYSTOP, Lots, price, 2, NormalizeDouble(iMA(NULL,0,MAperiod,0,MODE_SMA,PRICE_CLOSE,0),_Digits), 0, NULL,      OrderMagic)) GetLastError();
  }
 
Maxim Dmitrievsky:

Pourquoi l'erreur ? si le stop était de 20 pips. Et si ce n'est pas 20 (modifié), vérifiez quand même

Je n'ai lu que ta photo !

ris

Ici, je l'ai lu :

Commençons à 15:23:39

Vous essayez de mettre un stop d'achat avec un lot de 0,14.

prix 1.07998 SL = 1.07956 - différence 42 points - erreur

prix 1.08006 SL = 1.07957 - différence 49 pips - erreur

prix 1.08009 SL = 1.07957 - différence 52 points - accepté !

Et fait une conclusion :

Peut-être que c'est la différence entre le SL et le prix qui est le problème après tout ?

 
Oksana Berenko:

Je n'ai lu que ta photo !

Ici, je l'ai lu :

Commençons à 15:23:39

Vous essayez de placer un stop d'achat avec un lot de 0.14.

prix 1.07998 SL = 1.07956 - différence 42 points - erreur

prix 1.08006 SL = 1.07957 - différence 49 pips - erreur

prix 1.08009 SL = 1.07957 - différence 52 points - accepté !

Et fait une conclusion :

Peut-être que le hic est la différence entre SL et prix après tout ?

Eh bien, le code ci-dessus vérifie juste la différence entre l'ordre et le prix pour le stop qu'il ne doit pas être inférieur au stop loss. De plus, nous ajoutons la valeur du nivellement du stop à l'ack et plaçons l'ordre à ce niveau.

if( Ask-iMA(NULL,0,MAperiod,0,MODE_SMA,PRICE_CLOSE,0) >= ValidStop*Point)
 

C'est-à-dire que la pause est toujours placée au prix qui est la somme de la cote actuelle + le niveau stop pour l'achat, et le niveau bid-stop pour la vente.

if(ValidStop<=StopLevels) price = MarketInfo(_Symbol,MODE_ASK)+StopLevels*_Point;
 
Maxim Dmitrievsky:

C'est-à-dire que la pause est toujours placée au prix qui est la somme de la cote actuelle + le niveau stop pour l'achat, et le niveau bid-stop pour la vente.

La valeur du niveau d'arrêt est souvent affichée de manière incorrecte. Le code renvoie une valeur, alors qu'il s'agit en fait d'une valeur différente. J'ai rencontré un cas où il retournait 0 mais en fait 20. Ou bien il a même renvoyé 20, mais je pouvais le régler sur une valeur plus petite à la main !
 
Oksana Berenko:
La valeur de l'arrêt est souvent affichée de manière incorrecte. Le code renvoie une valeur, mais il s'agit en fait d'une valeur différente. Je l'ai vu renvoyer 0, mais c'est en fait 20. Ou bien il a même renvoyé 20, mais je pouvais le régler sur une valeur plus petite à la main !
Je ne sais même pas quoi faire alors... J'ai regardé dans les imprimés - ils retournent toujours 20. Il se peut que pendant l'envoi d'un ordre, le prix change d'un point ou plus... c'est pourquoi le serveur renvoie une erreur.
 
Maxim Dmitrievsky:

En d'autres termes, l'ordre en attente est toujours placé au prix qui correspond à la somme de l'Ask + niveau d'arrêt pour l'achat, et de l'Bid - niveau d'arrêt pour la vente.

Vous ne pouvez pas négocier sur le bord d'un niveau stop dans un marché rapide. C'est comme essayer d'ouvrir sur une exécution instantanée avec un slippage de 1 pip sur un cinq chiffres - 90% qu'il y aura des requotes.

Ajoutez un peu de contrecoup.

Oksana Berenko:
La valeur du niveau d'arrêt est souvent affichée de manière incorrecte. Le code renvoie une valeur, alors qu'en fait elle est différente. J'ai rencontré des cas où il retourne 0 et en fait 20. Ou bien il a même renvoyé 20, mais je pouvais le régler sur une valeur plus petite à la main !

0 signifie que soit il n'existe pas, soit il est vérifié sur le serveur par un algorithme connu de lui seul.

Et nous devons compter à partir des bons prix (ne pas confondre bid et ask). Et le SL avec TP des opérations de marché ne doit pas être vérifié à partir du prix d'ouverture, mais à partir du prix auquel il se déclenchera.