erreur 4756 - page 4

 
RaptorUK:

Je pense, je vais confirmer, que j'ai vu le même problème dans le testeur de stratégie, je ne sais pas exactement comment cela pourrait se produire, je vais essayer à nouveau avec un peu plus de rapports d'erreurs ajoutés pour être sûr.

OK, un mystère résolu... Je n'avais pas réalisé que le spread utilisé dans le testeur de stratégie est tiré des données de l'historique, en particulier des données M1. La raison pour laquelle j'ai des stops invalides dans mon test de stratégie est que le spread est plus grand que mon SL. Je vais ajouter un test pour cela.

 

Konstantin83:
2013.03.10 11:19:18    2012.01.04 15:00:00   failed buy stop 1.00 EURUSD at 1.30505 sl: 1.28375 tp: 1.30375 [Invalid stops]

Je ne comprends pas le stop invalide. le sl est en dessous du sl d'achat : 1.28375 <1.30505 ?

 
Konstantin83:

CopyHigh(_Symbol,_Period,TimeCurrent(),5,hg);

Top = NormalizeDouble(rates[ArrayMaximum(hg,0,WHOLE_ARRAY)].high,_Digits); 

- conceptionmal comprise .
Choisir parmi les valeurs du maximum double et utiliser cela au lieu de l 'indice entier

MerciKonstantin83 :

mais je ne comprends pas ce que vous dites.

le top est le plus haut des 5 dernières bougies et le top est un double et non un indice entier

haut de page
 

dan5:

Je ne comprends pas ce qu'est un stop invalide. Le sl est en dessous du sl d'achat : 1.28375 <1.30505 ?


Ne prenez pas les "stops invalides" trop au pied de la lettre. Il ne s'agit pas seulement du Stop Loss, mais aussi du prix d'entrée et/ou du TP. Lorsque vous obtenez une erreur, imprimez les informations suivantes, elles vous aideront à comprendre ce qui ne va pas :

  1. le type de transaction, Buy Limit, Buy, Sell, Sell Stop, etc.
  2. le cours vendeur
  3. le cours acheteur
  4. le prix d'entrée
  5. le SL
  6. le TP
  7. le niveau de gel
  8. le niveau des Stops
  9. le numéro d'erreur (et la description de l'erreur si vous voulez vraiment)
Vous devriez également lire cet article, il a été écrit pour mql4 mais je suis presque sûr qu'il s'applique toujours à mql5 :Exigences et limites dans la réalisation de transactions.
Requirements and Limitations in Making Trades - Appendixes - MQL4 Tutorial
  • book.mql4.com
Requirements and Limitations in Making Trades - Appendixes - MQL4 Tutorial
 

dan5:

2013.03.10 11:19:18 2012.01.04 15:00:00 failed buy stop 1.00 EURUSD at 1.30505 sl : 1.28375 tp : 1.30375 [Invalid stops]


Je ne comprends pas le stop invalide. le sl est en dessous du sl d 'achat : 1.28375 <1.30505 ?


Avez-vous remarqué que l'entrée 1.30505 est > le TP 1.30375 ?
 
RaptorUK:
Avez-vous remarqué que l'entrée 1.30505 est > au TP 1.30375 ?

merci pour votre aide j'ai modifié mon sl et tp c'est ok maintenant

mrequest.sl = NormalizeDouble( mrequest.price + STP*_Point,_Digits) ; // Stop Loss
mrequest.tp = NormalizeDouble( mrequest.price - TKP*_Point,_Digits);// Take Profit

au lieu de

mrequest.sl = NormalizeDouble(last_price.bid + STP*_Point,_Digits) ; // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.bid - TKP*_Point,_Digits) ; // Take Profit

 
dan5:

merci pour votre aide j'ai modifié mon sl et tp c'est ok maintenant

mrequest.sl = NormalizeDouble( mrequest.price + STP*_Point,_Digits) ; // Stop Loss
mrequest.tp = NormalizeDouble( mrequest.price - TKP*_Point,_Digits);// Take Profit

au lieu de

mrequest.sl = NormalizeDouble(latest_price.bid + STP*_Point,_Digits) ; // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.bid - TKP*_Point,_Digits) ; // Take Profit

C'est une bonne nouvelle, j'espère que cela ne vous a pas dérangé que je subvertisse votre fil de discussion, mais je pense que nous avons tous deux obtenu quelque chose d'utile à la fin :-)
 
RaptorUK:
C'est une bonne nouvelle, j'espère que vous ne m'en voulez pas d'avoir subverti votre fil de discussion, mais je pense que nous avons tous deux obtenu quelque chose d'utile à la fin :-)
Avez-vous trouvé une autre solution que celle que je propose avec OnTradeTransaction pour procéder à un sl & tp sur un cas d'exécution de marché (courtier ECN) ?
 
angevoyageur:
Avez-vous trouvé une autre solution que celle que je propose avec OnTradeTransaction pour procéder à un sl & tp sur un cas d'exécution de marché (courtier ECN) ?
Le code que j'ai suggéré dans ce post https://www.mql5.com/en/forum/11051#comment_446272 fonctionne bien pour autant que je puisse dire, j'ai supposé qu'il ne fonctionnait pas dans le Strategy Tester parce que mon hypothèse sur le spread fixe (comme dans MT4) était incorrecte. Mon code fonctionne maintenant dans le Strategy Tester et dans Demo pour les symboles dont le type d'exécution est Instant ou Exchange, mon code détermine le type et envoie les requêtes appropriées. Idéalement, je voudrais que mon code gère automatiquement tout type d'exécution.
 
RaptorUK:
Le code que j'ai suggéré dans ce post https://www.mql5.com/en/forum/11051#comment_446272 fonctionne bien pour autant que je puisse dire, j'ai supposé qu'il ne fonctionnait pas dans le Strategy Tester parce que mon hypothèse sur le spread étant fixe (comme dans MT4) était incorrecte. Mon code fonctionne maintenant dans le Strategy Tester et dans Demo pour les symboles avec le type d'exécution Instant ou Exchange, mon code détermine le type et envoie les requêtes appropriées. Idéalement, je voudrais que mon code gère automatiquement tout type d'exécution.
Ah ok, je l'ai manqué.