Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 753

 
AlexeyVik:

Vous n'entrez dans cette unité qu'une fois par jour.

Je doute que cela fonctionne correctement dans le testeur également.

C'est exactement l'idée, accélérer le code pour exécuter certaines fonctions une fois par jour. Par exemple, dans ce bloc, nous pouvons vérifier si nous sommes en hiver ou en vendredi, ou si c'est le jour de l'équipe. Je pense que cela n'a pas de sens de faire ces vérifications à chaque tick, il suffit de vérifier chaque jour au premier tick d'une nouvelle barre quotidienne. Le code dans le testeur fonctionne correctement, et je ne vois pas pourquoi il ne pourrait pas fonctionner. Merci pour le conseil, je vais voir ce qui se passe avec les structures...
 
tuner:
C'est exactement l'idée, accélérer le code pour exécuter certaines fonctions une fois par jour. Par exemple, dans ce bloc, vous pouvez vérifier si c'est l'hiver, si c'est vendredi ou si c'est le jour du changement d'heure. Je pense qu'il n'y a pas de sens à effectuer ces vérifications à chaque tick, il est suffisant de vérifier chaque jour sur le premier tick d'une nouvelle barre quotidienne. Le code dans le testeur fonctionne correctement, et je ne vois pas pourquoi il ne pourrait pas fonctionner. Merci pour le conseil, je vais voir ce qui se passe avec les structures...
Je comprends votre idée, mais l'entrée se fera en début de journée, et le contrôle du chronométrage n'aura lieu que le soir. Ou pas assez de code pour comprendre ce qui se passe. Je ne faisais que juger à partir du morceau de code disponible.
 
AlexeyVik:
Je comprends votre idée, mais l'entrée se fera en début de journée et le contrôle de l'heure seulement le soir. Ou pas assez de code pour comprendre ce qui se passe. Je ne jugeais que sur le morceau de code disponible.

Le contrôle du temps se fait à chaque tic-tac

 
tuner:

Pouvez-vous me dire ce qui pourrait causer le problème qui s'est produit aujourd'hui ?

L'EA a une option pour arrêter les transactions 15 minutes avant la fermeture du marché le vendredi.


Vérifiez la valeur que vous obtenez ici : FinishInFriday=StringToTime("23:59")-15*60; quelque chose me dit qu'elle sera inférieure à celle que vous obtenez ici :cur=TimeCurrent()
 
VladislavVG:
Vérifiez la valeur que vous obtenez ici : FinishInFriday=StringToTime("23:59")-15*60; quelque chose me dit qu'elle sera inférieure à celle que vous obtenez ici :cur=TimeCurrent()

Oui, c'est le problème, lorsque le premier tick du vendredi arrive, la fonctionStringToTime("23:59") est exécutée, qui pour une raison quelconque renvoie l'heure avec la date d'hier, et non la date du nouveau tick. Je ne peux pas comprendre comment il peut en être ainsi. Parce que c'est clairement écrit dans le code, s'il y a une nouvelle barre quotidienne (tick avec une date différente du tick précédent), qui est le vendredi, exécuter la fonctionStringToTime. Et malgré cela, la fonction renvoie le 23, qui est le jeudi( !). Encore une fois, je n'ai pas observé un tel problème dans le testeur. Cependant, je constate que l'EA ne fonctionne pas sur les Expert Advisors réels ou de démonstration et les messages dans les journaux montrent que la fonction n'a pas retourné la date actuelle mais la date d'hier :

0 05:59:47.731 Scalper GBPAUDpt,M1 : Fin dans le vendredi = 2014.10.23 23:44:00

0 03:00:11.999 Scalper EURUSD,M1 : Fin dans le vendredi = 2014.10.23 23:44:00

PS : Le conseiller expert a arrêté de négocier à partir du premier tick du vendredi, c'est-à-dire exactement après l'exécution de la fonction StringToTime.

 
tuner:


Je dirais que ça devrait être quelque chose comme ça dans ce cas :

if(TimeDayOfWeek(cur)==5)
      if((TimeHour(cur)>22) && (TimeMinute(cur)> 44))
         return;
 
Bonjour, chers participants au forum ! Tout d'abord,ce billet s'adresse aux personnes intéressées par le développement de leurs systèmes d'analyse, et plus particulièrement par lesindicateurs techniques. Je suis plus ou moins familier avec le Signal Processing Toolbox basé sur MATLAB et j'ai une idée de l'analyse du spectre et du filtrage discret des séries temporelles. Je suis intéressé par les filtres IIR complexes tels que Elliptique, Chebyshev. J'ai synthétisé les coefficients du filtre de Chebyshev via MATLAB, c'est-à-dire le dénominateur et le numérateur du filtre (les coefficients sont joints ci-dessous). Maintenant, l'essentiel : comment implémenter un filtre de Chebyshev avec des coefficients spécifiés dans un indicateur utilisant MQL4 ? Aidez-moi, s'il vous plaît. J'aimerais entendre des critiques constructives, des remarques. Le filtre, dont les coefficients sont présentés, comporte 8 sections et ce filtre est d'ordre 16. Dans la capture d'écran de comparaison, une simple MA est rouge, le filtre FIR de Chebyshev est vert, la série temporelle initiale est bleue, il s'agit de la M60 NZDUSD.Capture d'écran
Dossiers :
 
nikitasa1997:
Bonjour, chers membres du forum ! Tout d'abord, ce billet s'adresse aux personnes intéressées par le développement de leurs systèmes d'analyse, ou plus précisément par lesindicateurs techniques. Je suis plus ou moins familier avec la Signal Processing Toolbox basée sur MATLAB et j'ai une idée de l'analyse du spectre et du filtrage discret des séries temporelles. Je suis intéressé par les filtres IIR complexes tels que Elliptique, Chebyshev. J'ai synthétisé les coefficients du filtre de Chebyshev via MATLAB, c'est-à-dire le dénominateur et le numérateur du filtre (les coefficients sont joints ci-dessous). Maintenant, l'essentiel : comment implémenter un filtre de Chebyshev avec des coefficients spécifiés dans un indicateur utilisant MQL4 ? Aidez-moi, s'il vous plaît. J'aimerais entendre des critiques constructives, des remarques. Le filtre, dont les coefficients sont présentés, comporte 8 sections et ce filtre est d'ordre 16. Dans la capture d'écran de comparaison, une simple MA est rouge, le filtre FIR Chebyshev est vert, la série temporelle initiale est bleue, il s'agit de la M60 NZDUSD.

comparer et contraster... À mon avis, la MA fonctionne de manière plus précise (comparer - à quel prix le signal (croix) est réellement entré) :

Selon votre filtre, le signal sera opposé, alors vous pouvez appliquer...

 
_new-rena:

comparer et contraster... À mon avis, la MA fonctionne de manière plus précise (comparer - à quel prix le signal est effectivement reçu (croisements)) :

Selon votre filtre, le signal sera opposé, alors vous pourriez appliquer...

Eh bien, si le contraire sera plus de 75% des entrées correctes, vous pourriez appliquer, il ne reste plus qu'à trouver les sorties ;)


Bien que la plupart des entrées se situent au milieu, ce qui peut être réalisé sur les MA conventionnelles, sans aucune torsion.

 
evillive:

Eh bien, si le contraire est vrai pour plus de 75% des entrées, on peut l'appliquer, il ne reste plus qu'à trouver les sorties ;)
Bien que la plupart des entrées se situent au milieu, ce qui peut également être réalisé avec les MA classiques, sans aucune torsion.

C'est ce que je dis.