Indicateur Questions diverses - page 7

 

Oui, mais vous devez le coder.

Exemple :

Heure localeCourtier ACourtier B
00:00
(GMT)
01:00
(GMT+1)
02:00
(GMT+2)

Vous ne pouvez pas utiliser PERIOD_D1 car

  • La barre D1 du courtier A commence à 23h00 locales (1 heure plus tôt).
  • La barre D1 du Broker B commence à 22:00 local (2 heures en avance).

Vous devez donc utiliser les barres H1 avec iBarShift et iHighest / iLowest (ou CopyHigh/CopyLow) pour créer manuellement votre "jour" comme vous le souhaitez.

----

Voici un script rapide qui peut illustrer le propos.

Déposez-le sur un graphique et vous verrez qu'il dessine un rectangle autour d'un "jour" commençant à 23:00 heure du serveur.

#define strict
#property show_inputs

#define DAY 86400
#define HOUR 3600

extern int time_shift = -1; // Hours to shift server time by

void OnStart()
  {
   time_shift*=HOUR;

   datetime oldest_bar = Time[Bars-1],
            midnight   = oldest_bar-(oldest_bar%DAY);

   while(midnight<=TimeCurrent())
     {
      datetime day_begin = midnight + time_shift,
               day_end   = day_begin + DAY - 1;
      double high[],
             low[];
      int high_cnt = CopyHigh(_Symbol, PERIOD_H1, day_begin, day_end, high),
          low_cnt  = CopyLow (_Symbol, PERIOD_H1, day_begin, day_end, low);
      if(high_cnt>0 && low_cnt>0)
        {
         double day_high = high[ArrayMaximum(high)],
                day_low  = low [ArrayMinimum(low)];
         string obj_name = TimeToString(day_begin,TIME_DATE);
         ObjectCreate(0, obj_name, OBJ_RECTANGLE, 0, day_begin, day_high, day_end, day_low);
        }
      midnight+=DAY;
     }
  }  


 
honest_knave:

Oui, mais vous devez le coder.

Je devrais étudier cet exemple.

Merci beaucoup.

 

Encore une fois, merci beaucoup pour votre excellent exemple.
Après votre commentaire, j'ai facilement résolu mon problème.

---

J'ai essayé quelque chose pour le décalage temporel automatiquement défini pour différents courtiers, malheureusement cela n'a pas fonctionné.

Q : Puis-je écrire un code pour régler automatiquement le décalage horaire pour différents courtiers, est-ce possible ?
(J'essaie toujours de faire quelque chose pour cela)

Merci beaucoup.

 

J'essaie le code ci-dessous, mais il ne me donne pas la valeur correcte.

Q : Quel est le problème dans le code ci-dessous ? (Je n'ai pas compris)

datetime start=(datetime)SymbolInfoInteger(Symbol(),SYMBOL_START_TIME);

Merci beaucoup.

 
Max Enrik:

J'essaie le code ci-dessous, mais il ne me donne pas la valeur correcte.

Q : Quel est le problème dans le code ci-dessous ? (Je n'ai pas compris)

datetime start=(datetime)SymbolInfoInteger(Symbol(),SYMBOL_START_TIME);

Merci beaucoup.

Il semble que tous les courtiers ne configurent pas correctement cette fonction. Veuillez voir ici
 
honest_knave:
Il semble que tous les courtiers ne le configurent pas correctement. Veuillez voir ici

Il n'y a aucune chance !
Je pense juste que les programmeurs professionnels et les codes ont abandonné ? ! Bien sûr que non. : / ( mais moi oui )

Merci beaucoup.

( J'ai une idée, je vais essayer au moins - plus tard )
 
Max Enrik:

Il n'y a aucune chance !
Je pense juste que les programmeurs professionnels et les codes ont abandonné ? ! Bien sûr que non. : / ( mais je le suis )

Merci beaucoup.

( J'ai une idée, je vais essayer au moins - plus tard )

Il existe toujours des solutions de rechange.

Par exemple, vous pouvez revenir en arrière dans les barres H1 ou M30 à la recherche d'un écart temporel supérieur à la durée d'une barre (c'est-à-dire que le marché était fermé pendant cet écart).

Mais vous devez faire attention aux week-ends et aux jours fériés, et à l'historique incomplet.

 
honest_knave:

Il existe toujours des solutions de rechange.
Par exemple, vous pouvez remonter dans les barres H1 ou M30 à la recherche d'un écart temporel supérieur à la durée d'une barre (c'est-à-dire que le marché était fermé pendant cet écart).
Mais vous devez faire attention aux week-ends et aux jours fériés, ainsi qu'aux historiques incomplets.

Merci beaucoup pour votre commentaire utile.
 

J'ai juste besoin d'apprendre la date et l'heure, parce que jusqu'à présent, lorsque j'ai essayé d'écrire du code relatif à la date et l'heure, j'ai toujours passé beaucoup de temps sur cette partie du code. (même si j'ai réussi à terminer mes scripts mais je n'ai jamais compris plus clairement).
Maintenant, j'essaie d'obtenir les données de la première barre (première barre du jour actuel 1m, 5m, 15m, 30m, 1h et ainsi de suite) du jour, mais je n'y arrive pas.

( J'ai de très nombreux onglets dans le navigateur google chrome à ce sujet - juste un non-sens )

Donc quelqu'un peut-il m'aider à écrire un code pour la première barre du jour ( M1, 5M et ainsi de suite ) avec un exemple et l'expliquer, s'il vous plaît.

Bien sûr demain je vais continuer à faire des recherches sur ce sujet.

Merci beaucoup d'avance.

 

La première barre du jour devrait être la première barre après que TimeHour() ait recommencé le comptage.

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.