[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 133

 

TickSave du composteur manque certains ticks, et aussi lorsque le serveur de démonstration se reconnecte, il ne crée pas de nouveau dossier et n'écrit pas dans l'ancien.

Cependant, quel est le meilleur script ou conseiller expert pour collecter les ticks ?

 

Dites-moi combien de décimales doit avoir le point décimal.

Exemple.

Dans le terminal, le prix est de 1,44996. Cependant, toutes les fonctions ne renvoient que 1,4499 ou 1,4450. Existe-t-il des méthodes pour rechercher des valeurs avec 5 décimales ?

Pour cette raison, je n'arrive pas à savoir ce qu'il faut faire avec le stop loss. J'ai été guidé par le terminal qui indique 1.4xxx. Et j'ai mis un stop loss à 200 points. Il est normalement placé à 1,40000 - 200 = 1,39800, par exemple.

Or, logiquement, la fonction ne renvoie que 1,4xxx devrait être 1,4000 - 200 = 1,3800. Qu'est-ce que je fais de mal ? =(

 
DoubleToStr
 
sergeev:
DoubleToStr

Oooh.... Merci.

Il y avait donc un arrondi automatique à 4 après la virgule.

 
ChAnton:

Oooo.... Merci.

Il y avait donc un arrondi automatique à 4 après la virgule.


Lorsqu'il est imprimé en mode Impression/Commentaire sans autre texte, oui.

Mais le chiffre reste un chiffre. N'oubliez donc pas d'appliquer NormalizeDouble lorsque vous envoyez des demandes de transaction.

 

Le segment horizontal est défini comme suit (il sera à droite de Time[0]) :

         datetime Time_TLINE_Left  = Time[0]         + Period()*60*15;
         datetime Time_TLINE_Right = Time_TLINE_Left + Period()*60*10;

         if(ObjectFind("MyLine_Buy")==-1) {
            string       Line_Buy  = "MyLine_Buy";
            ObjectCreate(Line_Buy, OBJ_TREND,  0,  Time_TLINE_Left,Ask,  Time_TLINE_Right,Ask);
            ObjectSet(   Line_Buy, OBJPROP_STYLE, STYLE_SOLID);
            ObjectSet(   Line_Buy, OBJPROP_RAY,   False);
            ObjectSet(   Line_Buy, OBJPROP_WIDTH, 3);
            ObjectSet(   Line_Buy, OBJPROP_BACK , True);
            ObjectSet(   Line_Buy, OBJPROP_COLOR, Color_Only_Buy);
         }

A chaque nouvelle barre, le segment est supprimé et redessiné.

Il arrive parfois qu'un jour après le jour courant soit oublié (c'est-à-dire qu'il ne figure pas sur le graphique, mais qu'une tentative est faite pour dessiner un segment pour lui) - par exemple le week-end :

Le temps [0] correspond au vendredi, et le segment est créé pour le samedi, lorsqu'il n'y a pas de transactions.

Dans ce cas, la logique est rompue.

- Nous devons trouver un moyen d'identifier ces jours qui n'existent pas, et ne pas tracer de segments de ligne pour eux.

Peut-être que quelqu'un a une idée sur la façon de le faire ?

(Cocher le jour de la semaine ne couvre pas toutes les options possibles, comme les jours fériés)

Merci !

 
chief2000:

Quelqu'un a-t-il une idée de la manière de procéder ? (Vérifier les jours de la semaine ne couvre pas toutes les possibilités)

Nous avons besoin de détecter un écart dans les cotations, de comparer le Temps[0] et le Temps[1] sur des jours, etc... S'il n'y a pas d'écart, nous tirons comme d'habitude, s'il y en a un, nous devons réfléchir à ce qu'il faut faire dans ce cas.

 
splxgf:

Nous devons détecter un écart de cotation, comparer Time[0] et Time[1]... S'il n'y a pas d'écart, alors nous le dessinons comme d'habitude, s'il y en a un, alors nous devons réfléchir à ce qu'il faut faire dans ce cas.

Le temps [1] est à gauche du temps [0] et le segment est dessiné à droite du temps [0] à une certaine distance de celui-ci.

Je pensais qu'un segment dessiné pour un jour inexistant (par exemple le samedi) devrait avoir des propriétés uniques, comme un point. Mais le problème est que ce point a le temps correct dans ses propriétés - les coordonnées gauche et droite de ce segment-point n'ont pas le même temps (pour un vrai point, le temps serait le même).

S'il était possible de trouver un élément spécifique, il serait alors possible de supprimer simplement un tel segment.

 

comparer avec Time[1] uniquement pour détecter les jours fériés/week-end.

Et pourquoi y a-t-il une tentative de redessiner, il n'y a pas de ticks, vous pouvez vérifier que les trades sont fermés pour les scripts en boucle.

 
splxgf:

comparer avec Time[1] uniquement pour détecter les jours fériés/week-end.

Et pourquoi y a-t-il une tentative de redessiner, il n'y a pas de ticks, vous pouvez vérifier que les trades sont fermés pour les scripts en boucle.

Le problème se produit sur la première barre du premier jour de la semaine de négociation - le segment croise Time[0] alors qu'il devrait toujours être à une distance donnée (fixe) de celui-ci.

En début de semaine, il s'avère que le temps de la coordonnée gauche du segment devient inférieur au temps d'ouverture de Time[0].

Votre solution consistant à vérifier l'existence d'un écart entre Time[0] et Time[1] pourrait peut-être résoudre le problème, mais je devrai sacrifier les premières barres en début de semaine (ce qui est acceptable). Je le vérifierai demain.

Merci !