
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
La première barre du jour devrait être la première barre après que TimeHour() ait recommencé à compter.
Il s'agit bien sûr de la première barre de n'importe quelle M1, M5, M15, etc. qui sont toutes de nouvelles barres.
Je l'essaierai bientôt, je travaille également sur ce problème.
Merci beaucoup.
Je continue à lire les forums et à faire des recherches, je peux trouver des forums similaires, mais je ne trouve pas exactement ce que je veux. ( peut-être que je ne comprends pas leur style de code ou ... )
J'ai fait une capture d'écran rapide, j'espère que cela pourrait vous aider à me comprendre clairement.
Merci d'avance.
open=iOpen(Symbol(),PERIOD_D1,0);
// put in ontick
if(iOpen(Symbol(),PERIOD_D1,0)!=open)
{
if(TimeHour(open)==0)
{
Alert("New Day !!");
}
open=iOpen(Symbol(),PERIOD_D1,0); // assign new value every hour
}
J'ai bu quelques bières, j'espère que vous comprenez. Je suis sûr que c'est faux de toutes les façons possibles.
Je pense que "open" doit être remplacé par "time".
Ou peut-être que vous pouvez même le faire :
{
Alert("NEw DAy m8");
}
J'ai bu quelques bières, donc j'espère que vous comprenez l'idée, je suis sûr que c'est faux de toutes les façons possibles.
ps. qu'est-il arrivé à l'autre fil de discussion ? il y avait presque 40 pages ?Ou peut-être que vous pouvez même le faire :
( J'ai essayé d'expliquer mon problème dans la section code source )
// this code gives me Hour 00:00 - but actually D1 time should show Hour 01:00 | this mean my broker shows absolutely wrong Hour for period PERIOD_D1
// But I need to write code to get first H1 bar Time of the day ( e.g: if first H1 bar 00:00 or 01:00 or ... ) instead of PERIOD_D1
// But I really struggle to write code for get today first H1 time
---
P.S
Vous pensez que je ne peux pas ouvrir de sous-sujets ?
Je travaille toujours dessus. Je peux trouver des solutions dans les forums. Maintenant, il va bien aussi un peu lentement.
En outre :
Lorsque j'ai commencé à écrire des EA's Trade Panel, j'ai pensé que j'avais besoin d'écrire 4 scripts de fonction : Vendre, Acheter, Fermer tous les ordres, EXIT (supprimer) EA.
Pendant que je travaillais dessus j'ai eu beaucoup d'idées... maintenant que les EA ont plus de 3k lignes.
Pourtant je devrais écrire presque 10 fonctions plus utiles si je décidais de toutes les utiliser.
Peut-être aussi que lorsque j'aurai terminé mes EA du Trade Panel, j'écrirai une petite histoire sur la façon dont j'ai commencé à écrire le script de mes EA du Trade Panel. ( même si je ne l'ai pas terminé - vraiment je crois que qui le verra la plupart des gens diront : Wow génial ! ) hehe :)
---
Merci Mr. Marco.
Je vous remercie tous (qui ont répondu à mes commentaires) pour votre aide.
#property show_inputs
#define HOUR 3600
#define DAY 86400
extern int local_offset = 1; // local time offset from broker (hours)
void OnStart()
{
local_offset*=HOUR;
int D1_shift = (TimeCurrent()%DAY > local_offset) ? 0 : 1;
datetime broker_midnight = iTime(_Symbol,PERIOD_D1,D1_shift);
datetime local_midnight = broker_midnight + local_offset;
int M5_shift = iBarShift(_Symbol,PERIOD_M5,local_midnight);
datetime M5_time = iTime(_Symbol,PERIOD_M5,M5_shift);
double M5_open = iOpen(_Symbol,PERIOD_M5,M5_shift);
printf("M5_time: %s M5_open: %f", TimeToString(M5_time),M5_open);
}
Merci pour votre grand exemple.
Peut-être que si je prends le temps, je vais essayer d'expliquer avec une vidéo / image demain.
J'ai fait beaucoup de recherches sur ce sujet.
( aussi je cherche comme ces mots clés dans google seo ( commentaire pas utile jusqu'à présent dans seo) : site:mql4.com | site:mql5.com première barre du jour )
Cherchez-vous un moyen de détecter automatiquement le décalage de l'heure locale > du courtier ? par exemple +1 heure
Si vous avez l'intention d'avoir un réglage manuel (c'est mieux parce que parfois vous ne voulez pas utiliser l'heure locale mais un autre fuseau horaire) les étapes à suivre sont comme dans mon script ci-dessus :
1. Obtenir l'heure de minuit du courtier (en utilisant iTime ou par calcul)
2. Convertissez-le en minuit local en utilisant votre paramètre de décalage.
3. Passez le minuit local par iBarShift pour obtenir la barre correcte sur l'intervalle de temps choisi.
Cherchez-vous un moyen de détecter automatiquement le décalage de l'heure locale par rapport à l'heure du courtier ? par exemple +1 heure
Si vous avez un réglage manuel (c'est mieux parce que parfois vous ne voulez pas utiliser l'heure locale mais un autre fuseau horaire) les étapes à suivre sont comme dans mon script ci-dessus :
1. Obtenez minuit à l'heure du courtier (en utilisant iTime ou par calcul)
2. Convertissez-le en minuit local en utilisant votre paramètre de décalage
3. Passez le minuit local par iBarShift pour obtenir la barre correcte sur l'intervalle de temps choisi.
Vous avez bien compris que je cherche un moyen d'automatiser... - Alors, pourquoi ? J'ai quelques indicateurs importants (faits par moi-même - avec l'aide de différents forums) si je choisis la voie manuelle - je pourrais changer leurs paramètres... c'est un long chemin - je suis tellement paresseux :)
Merci beaucoup plus !
J'ai peut-être trouvé la solution (pour l'instant, il semble que cela fonctionne - j'ai déjà essayé 2 courtiers différents et j'ai obtenu le bon temps).
Je crois que la question vient du manque d'expérience.
Q : Comment puis-je garder seulement l'heure 1 dans le résultat ci-dessous, s'il vous plaît ?
( En fait, j'ai trouvé comment je peux garder seulement " 1 " dans le résultat ci-dessous - mais j'ai besoin d'une méthode professionnelle, s'il vous plaît )
( par exemple : résultat : 2017.02.2701:00:00 - Mais je dois garder seulement : 1 )
Merci beaucoup pour tout.
( Je vais partager comment j'ai trouvé la solution. - Si vous ne m'avez pas aidé, je ne peux pas trouver de solution - encore un grand merci. )
Je cherchais juste le code ci-dessous.
Mais j'ai encore besoin de le tester.
Period_Shift=iBarShift(Symbol(),PERIOD_H4,Period_Look);
Period_Time=iTime(Symbol(),PERIOD_H4,Period_Shift-1);
GMT_Offset=(Period_Time-iTime(Symbol(),PERIOD_W1,0)-PeriodSeconds(PERIOD_D1))/PeriodSeconds(PERIOD_H1); // result: 1
Si le code ci-dessus n'est pas correct, veuillez me le faire savoir.
Merci beaucoup @honest_knave et @Marco
Eh bien Max, considérez ceci : si vous recherchez un modèle, et qu'il se forme, alors votre déclencheur se déclenchera indépendamment de l'heure.
Donc le déclencheur peut avoir plusieurs horodatages sur différents courtiers, mais le moment exact du déclenchement sera à peu près le même sur tous les courtiers.
Pas exactement, mais assez proche.