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

 
oDin48:

En fait, il suffit d'attribuer un numéro de barre et de l'écrire dans une variable, qui peut ensuite être comparée à la valeur actuelle.

Ce n'est pas nécessaire. Chaque barre a déjà son propre numéro. Tout ce dont vous avez besoin est de savoir sur quelle barre une position stop a été fermée. A quoi servent les variables ? Que se passe-t-il si le conseiller expert est redémarré ? La valeur de la variable sera perdue. De cette façon, vous pouvez trouver la barre à laquelle toute position fermée sélectionnée a été fermée, à tout moment.

Si vous avez de l'expérience en programmation, vous pouvez comprendre et mettre en œuvre la logique que je viens de décrire.

 
artmedia70:

Tout ce dont vous avez besoin est de savoir sur quelle barre la position d'arrêt a été fermée.

Ce n'est pas un problème car j'ai besoin que le premier et le second ne s'ouvrent pas sur la même barre.

J'écris quelque chose comme :

si ((Total==0)&&(Condition)) {Opn_B=true;} //exemple.

Le deuxième ordre ne s'ouvrira pas, mais si le premier échoue, il se ferme à l'arrêt et la condition se déclenche à nouveau et la deuxième barre s'ouvre, ce qui est exactement ce dont je n'ai pas besoin. Mais si la barre suivante déclenche un SL et que la condition est remplie, alors vous êtes le bienvenu.

Je m'excuse si je suis obtus.

Mais la façon dont je vois les choses est la suivante.

1) Lors de l'ouverture d'un ordre, nous devons écrire le numéro de la barre dans laquelle il est ouvert dans une variable.

2) Lorsque le nombre de commandes est de 0. Nous vérifions le bénéfice du dernier trade (déjà écrit).

3) Lors de l'ouverture de l'ordre suivant basé sur le signal, nous vérifions si l'ordre précédent était profitable ou non. S'il était perdant, nous vérifions les numéros de la barre actuelle et de la barre sur laquelle le dernier ordre a été ouvert. S'ils ne correspondent pas, nous ouvrons une commande. (aucun problème pour écrire)

Conclusion : J'ai juste besoin d'une fonction qui me permette de connaître le numéro de la barre pour pouvoir assigner cette valeur à la variable de l'étape 1 et la comparer avec la valeur actuelle (numéro de la barre) de l'étape 3.

 
oDin48:

Ce n'est pas un problème car j'ai besoin que le premier et le second ne s'ouvrent pas sur la même barre.

J'écris quelque chose comme :

si ((Total==0)&&(Condition)) {Opn_B=true;} //exemple.

Le deuxième ordre ne s'ouvrira pas, mais si le premier échoue, il se ferme à l'arrêt et la condition se déclenche à nouveau et la deuxième barre s'ouvre, ce qui est exactement ce dont je n'ai pas besoin. Mais si la barre suivante déclenche le SL et que la condition est remplie, alors vous êtes le bienvenu.

Je m'excuse si je suis obtus.

Mais la façon dont je vois les choses est la suivante.

1) Lors de l'ouverture d'un ordre, nous devons écrire le numéro de la barre dans laquelle il est ouvert dans une variable.

2) Lorsque le nombre de commandes est de 0. Nous vérifions le bénéfice du dernier trade (déjà écrit).

3) Lors de l'ouverture de l'ordre suivant basé sur le signal, nous vérifions si l'ordre précédent était profitable ou non. S'il était perdant, nous vérifions les numéros de la barre actuelle et de la barre sur laquelle le dernier ordre a été ouvert. S'ils ne correspondent pas, nous ouvrons une commande. (aucun problème pour écrire)

Conclusion : J'ai juste besoin d'une fonction qui me permette de connaître le numéro de la barre pour pouvoir assigner cette valeur à la variable de l'étape 1 et la comparer avec la valeur actuelle (numéro de la barre) de l'étape 3.

En tout cas... Allez sur le fil de discussion d'Igor Kim - vous y trouverez de nombreux exemples. Je n'ai pas encore le temps, désolé...
 
artmedia70:
Utilisez un delta de 2 à 3 points lors de la vérification de l'écart du MASK.


Dois-je ajouter des pips à chacun d'eux ? Est-il possible de programmer ces deux ou trois points ?
 
oDin48:

Ce n'est pas un problème car j'ai besoin que le premier et le second ne s'ouvrent pas sur la même barre.

J'écris quelque chose comme :

si ((Total==0)&&(Condition)) {Opn_B=true;} //exemple.

Le deuxième ordre ne s'ouvrira pas, mais si le premier échoue, il se ferme à l'arrêt et la condition se déclenche à nouveau et la deuxième barre s'ouvre, ce qui est exactement ce dont je n'ai pas besoin. Mais si la barre suivante déclenche un SL et que la condition est remplie, alors vous êtes le bienvenu.

Je m'excuse si je suis obtus.

Mais la façon dont je vois les choses est la suivante.

1) Lors de l'ouverture d'un ordre, nous devons écrire le numéro de la barre dans laquelle il est ouvert dans une variable.

2) Lorsque le nombre de commandes est de 0. Nous vérifions le bénéfice du dernier trade (déjà écrit).

3) Lors de l'ouverture de l'ordre suivant basé sur le signal, nous vérifions si l'ordre précédent était profitable ou non. S'il était perdant, nous vérifions les numéros de la barre actuelle et de la barre sur laquelle le dernier ordre a été ouvert. S'ils ne correspondent pas, nous ouvrons une commande. (aucun problème pour écrire)

Conclusion : J'ai juste besoin d'une fonction qui me permette de connaître le numéro de la barre pour pouvoir assigner cette valeur à la variable de l'étape 1 et la comparer avec la valeur actuelle (numéro de la barre) de l'étape 3.



Cette fonction renvoie le numéro de barre de la dernière position fermée.

Appel à

if(Total==0 && NumberOfBarCloseLastPos()!=0)
   {
   Opn_B=true;
   }
 

Merci beaucoup. Je pensais déjà que j'expliquais mal quelque chose, sachant que la solution devrait être simple.

Vous avez été très utile.

 

Quelqu'un peut-il me dire, lors de l'écriture d'un script ou d'une EA, quel est le nombre maximum d'éléments que je peux faire entrer dans un tableau ?

 
Dikii:

Quelqu'un peut-il me dire, lors de l'écriture d'un script ou d'une EA, quel est le nombre maximum d'éléments que je peux faire entrer dans un tableau ?

Depuis un fil voisin........

 

Les gars !

comment spécifier dans OrderSend l'heure d'expiration de l'ordre en attente "aujourd'hui".

 
smartemiy:

Les gars !

comment spécifier dans OrderSend l'heure d'expiration de l'ordre en attente "aujourd'hui".

Il serait plus correct de dire "DeleteOrder" à l'heure prévue. Il est rare que le DC effectue cette échéance et supprime l'ordre sur ordre du conseiller !