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

 
Andrey Khatimlianskii:

Vous ne pouvez pas négocier sur le bord d'un levier d'arrêt dans un marché rapide. C'est comme essayer d'ouvrir sur une exécution instantanée avec un slippage d'un pip sur un marché à cinq chiffres - dans 90 % des cas, il y aura une requote.

Ajoutez un peu de contrecoup.

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.

J'y pensais justement, il est fort probable que l'ordre ne soit pas traité au même tick, oui, et que les stops soient au bord du stop
 
Maxim Dmitrievsky:
...il est fort probable que la commande n'ait pas eu le temps d'être traitée sur la même tique...
L'erreur aurait été différente
 
Oksana Berenko:
L'erreur serait différente
Je vais essayer d'élargir un peu les niveaux, et voir ce qui se passe ;)
 
Maxim Dmitrievsky:
Je vais essayer d'élargir un peu les niveaux, et voir ce qui se passe ;)
Revenez plus tard, c'est intéressant.
 
Oksana Berenko:
Ecrivez plus tard, c'est intéressant.

Augmentation de 5 pips - pas d'erreur avec les stops pour l'instant, mais les hors-quotes restent :)

Et système surveillé, pour le plaisir <Echec>. ENLEVÉ.

 

Si j'étais le courtier, je spammerais votre EA. Quel est l'intérêt de modifier une commande en une fraction de seconde ? Modifiez-vous à chaque tic?

 
Oksana Berenko:
Si j'étais le courtier, je spammerais votre EA. Quel est l'intérêt de modifier une commande en une fraction de seconde ? Cela se produit-il à chaque tic ?
Non, pas à chaque tic, selon la situation, mais cela peut arriver souvent. C'est un scalpeur avide. De quel droit suis-je banni ? Ce n'est pas interdit par leur charte, je ne fais rien de mal ; ils ont supprimé le lien, ils disent que je fais des bêtises ;)
 

Si stoploss = 0, alors il est flottant, tout comme le spread.

Et pour ce qui est du stoploss = 2 spreads, ce n'est pas toujours le cas. La plupart des courtiers ont écrit dans leurs règles - dans les nouvelles, le stoploss ainsi que le spread peuvent augmenter de 3 fois.

j'ai aussi vu des résultats similaires avec mes courtiers forex. seulement il y a un contrôle pour le spread - et le stoploss = 3 spreads et parfois il = 50 pips.

et parfois c'est 150, et parfois ...................... 500 points.

Je ne pense pas que vous ayez besoin de l'ensemble du code, mais la partie technique du réglage de la commande serait mieux.

 
Vladislav Andruschenko:

Si stoploss = 0, alors il est flottant, tout comme le spread.

Et pour ce qui est du stoploss = 2 spreads, ce n'est pas toujours le cas. La plupart des courtiers ont écrit dans leurs règles - dans les nouvelles, le stoploss ainsi que le spread peuvent augmenter de 3 fois.

j'ai aussi vu des résultats similaires avec mes courtiers forex. seulement il y a un contrôle pour le spread - et le stoploss = 3 spreads et parfois il = 50 pips.

et parfois c'est 150, et parfois ...................... 500 points.

Je ne pense pas que vous ayez besoin de l'ensemble du code, mais la partie technique du réglage de la commande serait mieux.

J'ai déjà résolu le problème avec les stoplevels, le code était dans les messages ci-dessus. Maintenant, il n'y a que l'erreur Off quotes quand on modifie le stoploss.
 

Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading

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

Maxim Dmitrievsky, 2015.12.03 15:52

Pourquoi une erreur ? Si le stop était de 20 pips... Et si ce n'est pas 20 (changé), alors tout de même vérifier

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();
  }

Si SL=2, comment cela peut-il fonctionner ?
Raison: