Merci beaucoup pour la recommandation, j'ai presque trouvé la solution, je ne me souviens juste pas si l'ordre est déclenché, est-ce que le ticket prend une valeur de -10 ?
Le billet ne change pas. Il suffit que le OrderCloseTime devienne supérieur à zéro.
il n'y a pas eu de hausse sur l'ADX, c'est-à-dire que la condition
// vérifier la hausse de l'ADX > 20, ou juste la hausse de l'ADX ---- vérifier la force. if (x<20 && x0>20) {f3 = 1 ; }
n'est pas respectée et la transaction est ouverte.
À en juger par le commentaire de la capture d'écran, vous contrôlez la barre de zéro pour prendre des décisions.
Ce n'est pas bon... Sur une barre zéro, les indicateurs peuvent aller et venir de nombreuses fois pendant la formation de la barre, créant ainsi de faux signaux (chatter).
Pour éviter cela, vérifiez la première barre déjà formée.
Je travaille sur ce sujet depuis longtemps maintenant. Je remarque souvent sur le graphique que le prix semble atteindre un certain niveau, en règle générale le haut ou le bas des bougies sont presque égaux l'un à l'autre. Mais je ne sais pas comment le faire mathématiquement. J'ai fouillé le forum et la base de données pendant 3 jours mais je n'ai rien trouvé de tel.
J'essaie d'afficher des informations sur une bougie précédente (barre non nulle) - bougie haussière ou baissière, taille de son corps et de ses ombres et rapport des ombres au corps de la bougie.
Mais il ne sort pas une fleur en pierre. Il produit des valeurs erronées.
int start()
{
int counted_bars=IndicatorCounted();
if (counted_bars<0) return(-1); //---- check for possible errorsif (counted_bars>0) counted_bars--; //---- last counted bar will be recountedint limit=Bars-counted_bars;
double kerzen_typ; //тип свечиstring kerzen_name; //наименование свечиdouble kerzen_body; //размер тела свечиdouble kerzen_shadow_up; //размер верхней тениdouble kerzen_shadow_down; //размер нижней тениdouble kerzen_shadow2body_up; //отношение верхней тени к размеру телаdouble kerzen_shadow2body_down; //отношение нижней тени к размеру тела//---- main loopfor(int bar=0; bar<limit; bar++)
{
//определение контрольной свечки - белая, черная или додж и сбор информацииif (Close[bar]>Open[bar])
{
kerzen_typ=1;
kerzen_name="бычья или белая свеча";
kerzen_shadow_up=High[bar]-Close[bar];
kerzen_shadow_down=Open[bar]-Low[bar];
kerzen_body=Close[bar]-Open[bar];
}
if (Open[bar]>Close[bar])
{
kerzen_typ=-1;
kerzen_name="медвежья или черная свеча";
kerzen_shadow_up=High[bar]-Open[bar];
kerzen_shadow_down=Close[bar]-Low[bar];
kerzen_body=(Open[bar]-Close[bar]);
}
if (Open[bar]==Close[bar])
{
kerzen_typ=0;
kerzen_name="додж";}
kerzen_shadow_up=High[bar]-Open[bar];
kerzen_shadow_down=Close[bar]-Low[bar];
}
//определение соотношения тени к телу свечки if (kerzen_body==0)
{
kerzen_shadow2body_up=kerzen_shadow_up;
kerzen_shadow2body_down=kerzen_shadow_down;
}
if (kerzen_body!=0)
{
kerzen_shadow2body_up=kerzen_shadow_up/kerzen_body;
kerzen_shadow2body_down=kerzen_shadow_down/kerzen_body;
}
//---- doneComment (
"Контрольный бар типа ",kerzen_name,"\n",
"Верхняя тень - ",kerzen_shadow_up*10000," в ",kerzen_shadow2body_up, " раз больше","\n",
"Тело - ",kerzen_body*10000,"\n",
"Нижняя тень - ",kerzen_shadow_down*10000," в ",kerzen_shadow2body_down, " раз больше"
);
return(0);
}
J'essaie d'afficher des informations sur une bougie précédente (barre non nulle) - bougie haussière ou baissière, taille de son corps et de ses ombres et rapport des ombres au corps de la bougie.
Mais il ne sort pas une fleur en pierre. Il produit des valeurs erronées.
Pourquoi utiliser un cycle si l'on ne prend qu'une barre ? Il suffit d'utiliser 1 au lieu de "barre". Ne vérifiez que les nouvelles barres afin de ne pas avoir à tout recalculer à chaque tick.
Le billet reste tel qu'il était
? ???
Comment puis-je vérifier si la commande est fermée ou non ?
Merci beaucoup pour la recommandation, j'ai presque trouvé la solution, je ne me souviens juste pas si l'ordre est déclenché, est-ce que le ticket prend une valeur de -10 ?
Le billet ne change pas. Il suffit que le OrderCloseTime devienne supérieur à zéro.
Et si un stop ou un profit est déclenché, il devient également inférieur à zéro, si je ne me trompe pas -1 ?
Comment définir correctement la condition ? Veuillez me conseiller.
Et si un stop ou un profit est déclenché, il sera inférieur à zéro, si je ne me trompe pas -1 ?
Comment définir correctement la condition ? S'il vous plaît, donnez-moi un indice.
Elle ne devient pas différente, elle reste la même. Les positions fermées vont dans la liste de l'historique des transactions avec les mêmes tickets.
Parcourez cette même liste d'historique des transactions et cherchez-y l'ordre.
Pourquoi ? Affiche tous les drapeaux en une seule fois dans un commentaire.
Juste là :
il n'y a pas eu de hausse sur l'ADX, ce qui signifie que la condition
// vérifier la hausse de l'ADX > 20, ou juste la hausse de l'ADX ---- vérifier la force du mouvement.
if (x<20 && x0>20) {f3 = 1 ; }
n'est pas atteint, mais le commerce est ouvert
il n'y a pas eu de hausse sur l'ADX, c'est-à-dire que la condition
// vérifier la hausse de l'ADX > 20, ou juste la hausse de l'ADX ---- vérifier la force.
if (x<20 && x0>20) {f3 = 1 ; }
n'est pas respectée et la transaction est ouverte.
À en juger par le commentaire de la capture d'écran, vous contrôlez la barre de zéro pour prendre des décisions.
Ce n'est pas bon... Sur une barre zéro, les indicateurs peuvent aller et venir de nombreuses fois pendant la formation de la barre, créant ainsi de faux signaux (chatter).
Pour éviter cela, vérifiez la première barre déjà formée.
Salutations !
J'essaie d'afficher des informations sur une bougie précédente (barre non nulle) - bougie haussière ou baissière, taille de son corps et de ses ombres et rapport des ombres au corps de la bougie.
Mais il ne sort pas une fleur en pierre. Il produit des valeurs erronées.
Salutations !
J'essaie d'afficher des informations sur une bougie précédente (barre non nulle) - bougie haussière ou baissière, taille de son corps et de ses ombres et rapport des ombres au corps de la bougie.
Mais il ne sort pas une fleur en pierre. Il produit des valeurs erronées.
Pourquoi utiliser un cycle si l'on ne prend qu'une barre ? Il suffit d'utiliser 1 au lieu de "barre". Ne vérifiez que les nouvelles barres afin de ne pas avoir à tout recalculer à chaque tick.
Et si un stop ou un profit est déclenché, il passera en dessous de zéro, si je ne me trompe pas - -1 ?
Comment définir correctement la condition ? Pouvez-vous me donner un indice ?
une fois de plus.
La variante la plus simple (schéma)