OHLC 1 minute vs chaque tick - résultats opposés - page 4

 

Je ne pensais pas au SL et au TP mais c'est logique. Je vais essayer d'oublier le 1 min. OHLC et les 7-8 $Mo de cash.

Merci pour cette explication.

 
Florew:


Je ne suis pas sûr de comprendre votre point de vue. A mon avis, il doit être possible de reproduire la simulation du mode OHLC 1 minute.

La documentation dit :

Alors :

La question est : combien de points de contrôle dans les barres OHLC minute et comment modifier la fonction onTick() pour travailler sur chacun d'eux ?

D'après le texte dans les deux citations, je comprends que la réponse à la première question est toujours 4, parce que si une barre a plus de 4 ticks, elle est "significativement" réduite pour accélérer le temps de test. Pour la question suivante, la chose est d'identifier les 4 points de contrôle des barres OHLC 1 minute en condition réelle de marché, puis de demander à onTick() de travailler sur eux.

Je ne peux répondre que pour mon cas. Les deux performances (ohlc vs everytick) sont très différentes à cause de la logique de mon EA :

mon EA entre en position longue lorsque le prix est, disons, 100 pips en dessous de l'EMA de 50 périodes, donc nous avons une barre baissière et si la clôture est 50 pips en dessous de l'EMA mais que le bas est en dessous de 200 pips, il entre à 200 pips en dessous de l'EMA, alors qu'en réalité, si la barre était constituée de 100 pips, il aurait été long autour de 100 pips en dessous de l'EMA, donc si le marché tourne dans une direction favorable, dans le premier cas, nous avons acheté à un prix plus bas que dans le second, obtenant un plus grand profit.

En gros, ce que je voulais dire, c'est que le très bon profit que j'obtenais en utilisant le même EA et les mêmes paramètres sur de nombreuses paires de devises n'était pas reproductible.

J'ai donc modifié la fonction en déplaçant le code qui contrôle la condition d'achat/vente à l'intérieur de if(isNewBar) {}. De cette façon, j'obtiens presque le même résultat en mode ohlc et everytick.

donc maintenant, ce qui est reproductible (à la fois en everytick et en ohlc) est une grande perte sur presque toutes les paires de devises.

 

Il est possible de tirer parti du mode OHLC. Dans le cas du Bull_Candle ci-dessous, le prix saute de l'Open ---->Low. Si quelqu'un utilise un algorithme comme.

if( Previous_Ask > Current_Ask ) OrderSend( BuyPosition );

Cette personne obtiendra un décompte instantané de 3 [ Points | Pips ]. C'est généralement suffisant pour dépasser les Spreads. Cela crée un avantage mathématique.

J'ai décidé d'éviter le test et le trading de m1_InterBar pour cette raison. Et j'ai choisi d'utiliser isNewBar() ou oncePerBar(), quel que soit le nom que vous voulez lui donner, pour mon trading à la fois en test et en direct. Si mon système ne peut pas surmonter cela, alors tant pis.

Les personnes qui recherchent une plus grande résolution des prix devraient se tourner vers les 1_Second[BarChart] ou encore mieux les Tick_Charts dès qu'ils deviennent viables.

 
Je ne comprends pas moi-même car l'OHLC 1 minute est exactement ce que son nom indique, c'est une bougie d'une minute, qui est la plus petite barre, et elle a 4 valeurs, les valeurs haute, basse, ouverte et fermée. Ainsi, indépendamment de ce que font les ticks dans une bougie d'une minute, les ticks ne dépasseront jamais ces 4 valeurs. Donc, en théorie, un backtest sur 1 min OHLC devrait fonctionner exactement comme il le fait avec des ticks "réels", mais de toute évidence, ce n'est pas le cas.
 
Jordi Bassaganas:

Cette discussion soulève deux questions fondamentales "très simples".

1. Pourquoi le mode "OHLC 1 minute" est capable de produire de si bons résultats ?

2. Est-il possible de rapprocher le trading réel (ou le mode "Every tick", pour moi les deux sont les mêmes en ce moment) du mode "1 minute OHLC" ?

3. Quand devriez-vous tester vos stratégies de trading en mode "OHLC 1 minute" ?

Les questions sont très claires et simples... Qui peut y répondre ? La plus importante est la 1.

Merci beaucoup !

P.S. : De toute façon vous avez raison, tout est dans le manuel mais il y a beaucoup de choses à lire, étudier et maîtriser. Merci pour les liens sur l'algorithme OHLC 1 minute, qui n'est pas très trivial à première vue.

Je comprends exactement ce que vous demandez car j'ai exactement le même problème. Les personnes qui n'ont pas beaucoup joué avec le backtesting ne comprendront pas.

Je ne comprends pas ce problème moi-même parce que l'OHLC 1 minute est exactement ce que son nom indique, c'est une bougie 1 minute, qui est la plus petite barre, et elle a 4 valeurs, les valeurs haute, basse, ouverte et fermée. Ainsi, indépendamment de ce que font les ticks dans une bougie d'une minute, les ticks ne dépasseront jamais ces 4 valeurs. Donc, en théorie, un backtest sur 1 min OHLC devrait fonctionner exactement comme il le fait avec des ticks "réels", mais de toute évidence, ce n'est pas le cas.

La seule chose à laquelle je peux penser est que cela a quelque chose à voir avec les "fluctuations" des ticks sur les queues de bougies hautes et basses qui se produisent avant qu'elles ne se ferment dans le trading backtest en direct ou avec des ticks réels qui font la différence, bien que je ne comprenne pas complètement pourquoi la différence dans les résultats serait si dramatiquement différente entre les ticks réels et l'OHLC dans les backtests.

 
Florent:

Je ne pensais pas au SL et au TP mais c'est logique. Je vais essayer d'oublier le 1 min. OHLC et les 7-8 $Mo de cash.

Merci pour cette explication.

J'ai créé un robot qui obtient plus de 100 millions de dollars à partir de 100 lorsqu'il est testé à rebours en utilisant des chandeliers ohcl et je n'ai pas réalisé que le robot ne fonctionne pas sur des ticks réels et des ticks réels basés sur des données réelles. Lorsqu'il est testé à rebours pendant plus de 20 ans, il n'y a jamais une année où il n'y a pas de profit et le robot passe de 100 dollars à environ 25 à 75 mille dollars lorsque le test à rebours est lancé à tout moment en moins de quatre mois et plus d'un million en moins de 10 mois. L'EA utilise deux stops suiveurs d'achat et de vente, le seuil de rentabilité et un modèle de chandelier que j'ai créé. Si vous avez fait des progrès, j'apprécierais que vous m'expliquiez comment vous avez reproduit les conditions d'ohcl sur les ticks en direct et comment vous avez résolu le problème. Le robot utilise des points d'entrée et de sortie fixes qui ne semblent pas dépendre de l'utilisation de chandeliers ohcl. Je pourrais peut-être déterminer comment résoudre le problème ou nous pourrions travailler ensemble ?
 
SocratesPhilosopher:
J'ai fait un ea qui obtient plus de 100 millions de dollars à partir de 100 lorsque back tested en utilisant ohcl chandeliers et je n'ai pas réalisé que l'ea ne fonctionne pas sur les ticks réels et les ticks réels basés sur des données réelles. Lorsqu'il est testé à rebours pendant plus de 20 ans, il n'y a jamais une année où il n'y a pas de profit et le robot passe de 100 dollars à environ 25 à 75 mille dollars lorsque le test à rebours est lancé à tout moment en moins de quatre mois et plus d'un million en moins de 10 mois. L'EA utilise deux stops suiveurs d'achat et de vente, le seuil de rentabilité et un modèle de chandelier que j'ai créé. Si vous avez fait des progrès, j'apprécierais que vous m'expliquiez comment vous avez reproduit les conditions d'ohcl sur les ticks en direct et comment vous avez résolu le problème. Le robot utilise des points d'entrée et de sortie fixes qui ne semblent pas dépendre de l'utilisation de chandeliers ohcl. Je pourrais peut-être déterminer comment résoudre le problème ou nous pourrions travailler ensemble ?

Vous ne pouvez pas le résoudre. Vous avez trouvé le Graal du testeur. C'est-à-dire que vous exploitez la méthode de génération des ticks. Étudiez le manuel pour voir comment les ticks sont générés, soit à chaque tick, soit en mode OHCL.

Cela ne fonctionnera jamais dans la réalité - il est inutile de le résoudre. Cela n'est utile que pour fournir de beaux rapports pour vendre un bot inutile ou pour déboguer votre code.

 
Jordi Bassaganas #:

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.

Mec...

Sleep() ;

^

|

|

Qu'est-ce qui ne va pas avec juste ça ?

Raison: