Problème de moyenne mobile câblée lors de la création d'une EA... - page 2

 
angreeee:

j'ai modifié le script en suivant vos directives et le problème persiste :(

maintenant ça ressemble à ça :

peut-être que quelqu'un peut créer un projet d'EA comment il créerait un tel générateur de valeur MA et je pourrais comparer les deux - le tester et isoler l'erreur. (si quelqu'un a quelques minutes à perdre)

Je vais vérifier dans une seconde et répondre si le problème est le même sur d'autres paires ou si c'est seulement cette paire, car c'est très étrange.

La différence n'est pas aussi importante sur d'autres paires que sur cette paire - c'est pourquoi je ne l'avais probablement pas remarqué auparavant.

J'ai testé sur GBP/USD EUR/PLN - les différences étaient d'environ 0.0004 donc dans les limites de l'erreur de mesure mais sur EUR/CHF la différence était de ~0.016 et USD/JPY ~0.8.

 
angreeee:

La différence n'est pas aussi importante sur d'autres paires que sur cette paire - c'est pourquoi je ne l'ai probablement pas remarqué avant.

J'ai testé sur GBP/USD EUR/PLN - les différences étaient d'environ 0.0004 , donc dans les limites de l'erreur de mesure, mais sur EUR/CHF la différence était de ~0.016 et USD/JPY ~0.8.

Je dispose de quelques minutes, pouvez-vous faire un résumé ou dois-je lire tous les messages ?

La différence entre quoi et quoi ?

 
angevoyageur:

Je dispose de quelques minutes, pouvez-vous faire un résumé ou dois-je lire tous les messages ?

La différence entre quoi et quoi ?

la différence entre la valeur ma générée par l'EA (code source en page 1 - ctrl+c ctrl+v à l'éditeur pour tester dans vous-même - paire GBP/NZD) dans strategy tester et l'indicateur de moyenne mobile normalement placé sur le graphique.

J'ai essayé d'utiliser iCustom et l'indicateur externe "custom moving average", mais ICustom a un certain problème dans MT5 - vous ne pouvez pas utiliser une autre période que la période courante, donc cela fonctionne :

   custom_ma_temp=iCustom(Symbol(),0,"Examples\\Custom Moving Average", 370, 0, MODE_SMMA,PRICE_OPEN);

mais ceci ne fonctionne pas :

   custom_ma_temp=iCustom(Symbol(),PERIOD_D1,"Examples\\Custom Moving Average", 370, 0, MODE_SMMA,PRICE_OPEN);

J'ai découvert ce bogue auparavant, mais j'ai oublié de le signaler au service d'assistance lorsque j'utilisais un indicateur personnalisé du marché dans l'EA.

Retour au problème - maintenant mon plan est de créer une fonction de moyenne mobile dans l'EA et de comparer les résultats de l'iMA et de cette fonction.

 
angreeee:

la différence entre la valeur ma générée par l'EA (code source à la page 1 - ctrl+c ctrl+v à l'éditeur pour tester dans vous-même - paire GBP/NZD) dans le testeur de stratégie et l'indicateur de moyenne mobile normalement placé sur le graphique.

J'ai essayé d'utiliser iCustom et l'indicateur externe "custom moving average", mais ICustom a un certain problème dans MT5 - vous ne pouvez pas utiliser une autre période que la période courante, donc cela fonctionne :

mais ceci ne fonctionne pas :

J'ai découvert ce bogue auparavant, mais j'ai oublié de le signaler au service d'assistance lorsque j'utilisais un indicateur personnalisé du marché dans l'EA.

Retour au problème - maintenant mon plan est de créer une fonction de moyenne mobile dans l'EA et de comparer les résultats de l'iMA et de cette fonction.

Bon travail, je ne suis pas sûr qu'il s'agisse vraiment d'un bug de la plateforme mais c'est une bonne façon de vérifier.
 

D'ailleurs, lorsque je teste à la fois la moyenne mobile iMA et la moyenne mobile personnalisée sur le graphique 4H

(impossible sur 1D car le générateur personnalisé génère des zéros... je ne sais pas pourquoi même s'il s'agissait des paramètres de l'échelle de temps "courante")

et les résultats étaient identiques pour tous :

1) iMA

2) icustom "custom moving average" (moyenne mobile personnalisée)

3) moyenne mobile placée manuellement sur le graphique

sur le graphique 4H la ssma370 = 1.9588

pour les 3. Alors pourquoi est-ce différent sur le graphique D1 ? :(

EDIT : j'ai joint une capture d'écran pour que vous puissiez voir clairement la différence (4H vs 1D).

Je pense que ces deux problèmes (iCustom timeframe et iMA sous D1 timeframe) peuvent être des problèmes de plateforme. Je dois enquêter et documenter davantage le problème iCustom avant de le signaler.
Si vous n'avez pas de nouvelles idées concernant le problème iMA, je le signalerai au SD dans plus de 30 minutes.

Dossiers :
ma_problem8.png  227 kb
 
angreeee:

D'ailleurs, lorsque je teste à la fois la moyenne mobile iMA et la moyenne mobile personnalisée sur le graphique 4H

(impossible sur 1D car le générateur personnalisé génère des zéros... je ne sais pas pourquoi même s'il s'agissait des paramètres de l'échelle de temps "courante")

et les résultats étaient identiques pour tous :

1) iMA

2) icustom "custom moving average" (moyenne mobile personnalisée)

3) moyenne mobile placée manuellement sur le graphique

sur le graphique 4H la ssma370 = 1.9588

pour les 3. Alors pourquoi est-ce différent sur le graphique D1 ? :(

EDIT : j'ai joint une capture d'écran pour que vous puissiez voir clairement la différence (4H vs 1D).

Je pense que ces deux problèmes (iCustom timeframe et iMA sous D1 timeframe) peuvent être des problèmes de plateforme. Je dois les signaler au service d'assistance. Je dois enquêter et documenter davantage le problème iCustom avant de le signaler.
Si vous n'avez pas de nouvelles idées concernant le problème iMA, je le signalerai au SD dans plus de 30 minutes.

Avez-vous testé avec le mode testeur tick par tick au lieu des prix ouverts?
 
angreeee:

D'ailleurs, lorsque je teste à la fois la moyenne mobile iMA et la moyenne mobile personnalisée sur le graphique 4H

(impossible sur 1D car le générateur personnalisé génère des zéros... je ne sais pas pourquoi même s'il s'agissait des paramètres de l'échelle de temps "courante")

Parce que vous ne testez pas la valeur retournée de CopyBuffer. Un 370 ma nécessite un historique d'au moins 370 jours sur le graphique/horizon D1, ce que le Strategy Tester ne fournit pas.


et les résultats étaient identiques pour tous :

1) iMA

2) icustom "custom moving average" (moyenne mobile personnalisée)

3) moyenne mobile placée manuellement sur le graphique

sur le graphique 4H la ssma370 = 1.9588

pour les 3. Alors pourquoi est-ce différent sur le graphique D1 ? :(

EDIT : j'ai joint une capture d'écran pour que vous puissiez voir clairement la différence (4H vs 1D).

Je pense que ces deux problèmes (iCustom timeframe et iMA sous D1 timeframe) peuvent être des problèmes de plateforme. Je dois enquêter et documenter davantage le problème iCustom avant de le signaler.
Si vous n'avez pas de nouvelles idées concernant le problème iMA, je le signalerai au SD dans plus de 30 minutes.

J'ai des résultats différents avec le mode SMMA uniquement, sur D1 ET H4 .
 
angevoyageur:
Parce que vous ne testez pas la valeur retournée de CopyBuffer. Un 370 ma nécessite un historique d'au moins 370 jours sur un graphique/une timeframe D1, ce que le Strategy Tester ne fournit pas.


J'ai des résultats différents avec le mode SMMA uniquement, sur D1 ET H4 .

J'ai testé plus de 2 ans, donc à un moment donné, il a déjà 370 jours d'historique de données et pourtant il renvoie 0 tout le temps... mais vous avez raison. Quand j'ai fait le back-test à partir de 2010, les valeurs étaient correctes. Donc je suppose que lorsque je cherche des paramètres, je dois effectuer un back-test plus tôt (comme à partir de 2010). Mon ea a déjà une option pour commencer à une certaine date donc je vais juste combiner ces deux options.

Merci.

 
figurelli:
Avez-vous testé avec le mode de test tick par tick au lieu des prix ouverts?

Oui, j'ai testé cela, mais il semble que lorsque j'utilise un nombre aussi grand pour ma (370), je dois commencer le back-test beaucoup plus tôt car le testeur ne fournit pas les données nécessaires pour la fonction ima. Bon à savoir pour l'avenir. Maintenant je dois vérifier tous mes presets de stratégie car ils peuvent avoir le même problème avec l'ima (beaucoup d'entre eux utilisent des MAs D1).

Merci à vous deux pour votre aide.

 
J'ai remarqué à nouveau que même lorsque je l'exécute de 2009 à la date actuelle (04.2014), la différence entre la MA sur le graphique et l'ima dans le backtest est toujours de 0.10, donc je suppose que le problème persiste. Je vais faire ma propre fonction de remplacement de l'ima si toutes les autres ont échoué. icustom retourne toujours seulement des zéros sur le graphique D1 même en commençant à 2009 et fonctionne bien sur le graphique H4.