Il est difficile de répondre à cette question sans savoir comment votre EA décide d'acheter ou de vendre.
Nous voyons sur le marché beaucoup de situations où une barre a une très grande taille (par exemple sur des nouvelles importantes ).
Le testeur génère donc jusqu'à 11 ticks pour une telle barre. En fonction de votre logique, le comportement est très différent (dans le test uniquement).
Si vous utilisez votre EA avec de l'argent réel, je suis sûr que ce sera bien pire, car de telles barres peuvent avoir jusqu'à 200 ticks en une minute.
Je suppose que votre logique agit sur la barre actuelle, vous devriez essayer votre logique avec les valeurs de la barre précédente.
Bonne continuation
Uwe
Il est difficile de répondre à cette question sans savoir comment votre EA décide d'acheter ou de vendre.
Nous voyons sur le marché beaucoup de situations où une barre a une très grande taille (par exemple sur des nouvelles importantes).
Le testeur génère donc jusqu'à 11 ticks pour une telle barre. En fonction de votre logique, le comportement est très différent (dans le test uniquement).
Si vous utilisez votre EA avec de l'argent réel, je suis sûr que ce sera bien pire, car de telles barres peuvent avoir jusqu'à 200 ticks en une minute.
Je suppose que votre logique agit sur la barre actuelle, vous devriez essayer votre logique avec les valeurs de la barre précédente.
Bonne continuation
Uwe
Je vous envoie maintenant une astuce pour ne faire des "ticks" que sur une seule barre. Il suffit de mettre cette logique au début du tick. Si la barre n'est pas nouvelle, elle s'arrête...
Dans quelles situations pensez-vous que cette astuce puisse être efficace ?
//--- Let's first check if a new bar has come! if(CopyTime(_Symbol, _Period, 0, 1, m_currentBarTime) > 0) { if(m_previousBarTime != m_currentBarTime[0]) { m_isNewBar = true; m_previousBarTime = m_currentBarTime[0]; } } else { Alert("Error copying historical data, error: ", GetLastError()); return; } if(!m_isNewBar) return;
Que recommanderiez-vous également pour résoudre ces ticks supplémentaires ? Y a-t-il un article ou autre qui explique cela ? Merci.
J'envoie maintenant une astuce pour ne "ticker" que dans une seule barre. Il suffit de mettre cette logique au début du tick. Si la barre n'est pas nouvelle, elle s'arrête...
Dans quelles situations pensez-vous que cette astuce peut fonctionner correctement ?
Que recommanderiez-vous également pour résoudre ces ticks supplémentaires? Y a-t-il un article ou quelque chose qui explique cela ? Merci.
Il est difficile de répondre à cette question sans savoir comment votre EA décide d'acheter ou de vendre.
Nous voyons sur le marché beaucoup de situations où une barre a une très grande taille (par exemple sur des nouvelles importantes).
Le testeur génère donc jusqu'à 11 ticks pour une telle barre. En fonction de votre logique, le comportement est très différent (dans le test uniquement).
Si vous utilisez votre EA avec de l'argent réel, je suis sûr que ce sera bien pire, car de telles barres peuvent avoir jusqu'à 200 ticks en une minute.
Je suppose que votre logique agit sur la barre actuelle, vous devriez essayer votre logique avec les valeurs de la barre précédente.
Bonne continuation
Uwe
Bonjour,
Que voulez-vous dire par utiliser les valeurs de la barre précédente ? utiliser maVal[1] (où maVal contient les valeurs de la moyenne mobile et le tableau est défini comme série) au lieu de maVal[0] ?
ou vérifier si la condition a été vérifiée pendant la dernière barre et donc entrer à l'ouverture de cette barre ?
ci-dessous une partie du code de mon EA très simple
triggerLong=maVal[1]-diff; triggerShort=maVal[1]+diff; ...... ....... Buy_Condition_1=(now_ask<triggerLong); Sell_Condition_1=(now_bid>triggerShort); Exit_long_Condition=(closeAtCross? now_ask>=maVal[1]:false) || Sell_Condition_1; Exit_short_Condition=(closeAtCross? now_bid<=maVal[1]:false) || Buy_Condition_1;
que j'utilise maVal[1] ou maVal[0] la situation ne change pas tant que ça, l'ohcl est toujours profitable alors que chaque tick ne l'est pas.
merci
Il est difficile de répondre à cette question sans savoir comment votre EA décide d'acheter ou de vendre.
Nous voyons sur le marché beaucoup de situations où une barre a une très grande taille (par exemple sur des nouvelles importantes).
Le testeur génère donc jusqu'à 11 ticks pour une telle barre. En fonction de votre logique, le comportement est très différent (dans le test uniquement).
Si vous utilisez votre EA avec de l'argent réel, je suis sûr que ce sera bien pire, car de telles barres peuvent avoir jusqu'à 200 ticks en une minute.
Je suppose que votre logique agit sur la barre actuelle, vous devriez essayer votre logique avec les valeurs de la barre précédente.
Bonne continuation
Uwe
Que voulez-vous dire par "pour résoudre ces ticks supplémentaires" ?
Je suis tout à fait d'accord avec ugo58. Les grandes barres peuvent déclencher l'événement OnTick de nombreuses fois, alors que les petites barres le déclencheront beaucoup moins souvent.
Cela peut avoir un impact sur votre stratégie de trading automatisé, donc nous, les développeurs, devons chercher des solutions qui atténuent le fait que votre événement OnTick peut être exécuté plusieurs fois par barre.
Je pense que ce que j'ai envoyé précédemment n'est qu'une solution. ugo50 a proposé une autre solution : exécuter votre logique OnTick dans la barre passée la plus récente. Quoi qu'il en soit, si vous voulez exécuter votre logique OnTick sur la barre actuelle, vous pouvez peut-être utiliser quelque chose de similaire à ce que j'ai envoyé précédemment.
Nous essayons d'implémenter quelque chose comme un événement OnBar.
Que pensez-vous de cela ?
Bonjour,
Que voulez-vous dire par utiliser les valeurs de la barre précédente ? utiliser maVal[1] (où maVal contient les valeurs de la moyenne mobile et le tableau est défini comme série) au lieu de maVal[0] ?
ou vérifier si la condition a été vérifiée pendant la dernière barre et donc entrer à l'ouverture de cette barre ?
ci-dessous une partie du code de mon EA très simple
que j'utilise maVal[1] ou maVal[0] la situation ne change pas tant que ça, l'ohcl est toujours profitable alors que chaque tick ne l'est pas.
merci
Il y a évidemment une grande différence si votre code utilise maVal[1] ou maVal[0], ou en général si vous travaillez sur une barre fermée seulement ou sur une barre ouverte ou à l'intérieur d'une barre.
Dans le dernier cas, vous devez utiliser le mode Every tick, tous les autres modes ne sont pas appropriés.
Merci. Oh, bien. Une des choses que j'ai dû réapprendre ;)
Comme je l'ai dit, cela dépend de votre logique.
Il y a plusieurs façons de résoudre ces problèmes, maVal[1]est l'une des solutions les plus faciles car les moyennes mobiles ne changent pas si vite sur chaque barre (selon la longueur de la période et la méthode de lissage).
Cela pourrait être différent si par exemple vous dépendez d'un haut et d'un bas d'une série de barres.
- 2010.10.11
- Konstantin Gruzdev
- www.mql5.com
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
J'obtiens des résultats complètement opposés lorsque je teste sur chaque tick ou 1min OHLC. L'EA et les paramètres d'entrée sont exactement les mêmes mais dans le cas de 1min ohlc j'obtiens 50000 profit alors que dans chaque tick j'obtiens -7000 pertes.
Cela se produit sur de nombreuses paires testées sur une période de 2 ans 0811-0813.
quelqu'un a eu le même problème ? Je ne comprends pas quel est le problème et que dois-je faire pour trader en argent réel.
les deux graphiques ci-dessous
1minute OHLC
chaque tick