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

 
zfs:
J'ai aussi besoin de CharToStr, mais il n'y a pas de copie. Merci.

Ne le faites pas. Nous devons parler de choses différentes.
 

Veuillez m'indiquer comment améliorer la fonction de clôture des ordres si les capitaux propres dépassent le solde d'un certain pourcentage.

Par exemple, si l'équité est actuellement égale à 115%, je dois fermer certains lots (il peut y avoir plusieurs ordres avec des lots différents) pour que l'équité soit égale à 110% du solde.

 
Skydiver:

Veuillez m'indiquer comment améliorer la fonction de clôture des ordres si les capitaux propres dépassent le solde d'un certain pourcentage.

Par exemple, si l'équité est actuellement égale à 115%, je dois fermer certains lots (il peut y avoir plusieurs ordres avec des lots différents) pour que l'équité soit égale à 110% du solde.


Réalisez plusieurs fonctions avec différentes implémentations d'algorithmes. Comparez les temps de fonctionnement. Parmi celles qui fonctionneront correctement, vous choisissez celle qui fonctionnera le moins longtemps - c'est la "meilleure". Donc, rien de compliqué. ;)))))))
 

Il est possible de définir des niveaux dans l'indicateur et de personnaliser les styles en utilisant les fonctions SetLevelValue et SetLevelStyle, mais je ne sais pas comment accéder à leur description. Peut-être que quelqu'un l'a rencontré et le sait ?

 
Desead:

Il est possible de définir des niveaux dans l'indicateur et de personnaliser les styles en utilisant les fonctions SetLevelValue et SetLevelStyle, mais je ne sais pas comment accéder à leur description. Peut-être que quelqu'un l'a rencontré et le sait ?


Si nous parlons de documentation, mettez le mot en surbrillance dans MetEditor et appuyez sur F1. Ou allez en ligne, par exemple
https://docs.mql4.com/ru/customind/SetLevelStyle
 

Bonjour. Pourriez-vous m'indiquer si une commande est déjà au bon endroit ou non ?

Si non, alors mettez

 

Bonjour !

Tu peux me dire quelque chose ? Lorsqu'un ordre au marché est ouvert, son prix ouvert peut être modifié à l'aide d'une fonction :

bool OrderModify( int ticket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE) 

Question - pourquoi en avons-nous besoin ? Pour que la fonction OrderProfit() donne des résultats différents par la suite par rapport au prix d'ouverture initial ? Ou cette possibilité est destinée à autre chose ?

(A propos, est-ce que OrderProfit() calcule exactement à partir du prix d'ouverture ou l'information est demandée au serveur où elle est calculée autrement ? La documentation ne dit rien à ce sujet).

 
sannin:

Bonjour. Pourriez-vous m'indiquer si une commande est déjà au bon endroit ou non ?

Si non, alors mettez

Au bon endroit - à quel endroit ?
 
yan720:

Bonjour !

Tu peux me dire quelque chose ? Lorsqu'un ordre au marché est ouvert, son prix ouvert peut être modifié à l'aide d'une fonction :

Question - pourquoi en avons-nous besoin ? Pour que la fonction OrderProfit() donne des résultats différents par la suite par rapport au prix d'ouverture initial ? Ou cette possibilité est destinée à autre chose ?

(A propos, est-ce que OrderProfit() calcule exactement à partir du prix d'ouverture ou l'information est demandée au serveur où elle est calculée autrement ? La documentation ne dit rien à ce sujet).

Nous ne pouvons modifier que le prix d'un ordre en attente. Le prix ouvert de la position sur le marché ne peut pas être modifié. Il serait étrange d'acheter du pain à 20, de rentrer à la maison et de changer le prix d'achat à 5 roubles, puis dans le portefeuille de voir l'arrivée des 15 roubles de différence... Fantastique... ;)

Vous pouvez modifier le prix stop d'une position sur le marché : Stop Loss et Take Profit.

OrderProfit() renvoie le profit/la perte de la position dans la devise du dépôt. Bien entendu, il est calculé à partir du prix d'ouverture.

 
artmedia70:

Seul le prix de l'ordre en cours peut être modifié. Le prix d'ouverture d'une position de marché ne peut plus être modifié. Il serait étrange d'acheter du pain à 20, de rentrer à la maison et de changer le prix d'achat à 5 roubles, puis de voir dans son portefeuille l'arrivée de 15 roubles de différence... Fantastique... ;)

Vous pouvez modifier le prix stop d'une position de marché : Stop Loss et Take Profit.


Merci pour la réponse. J'étais moi-même surpris qu'une telle question se pose. Bien que, peut-être, j'ai mal compris ce que j'ai vu et ce qui a causé la question.

Je regarde maintenant le code d'autres personnes pour voir de quelles manières (différentes des miennes et peut-être plus efficaces) certains algorithmes sont mis en œuvre. En ce moment, je regarde le fameux conseiller expert Ilan 1.6 (ci-joint). Je peux voir qu'il a été assemblé à partir de diverses pièces, puis reconstruit. Mais la ligne 337 contient une fonction de trailing stop définie par l'utilisateur (bien que l'indicateur de son utilisation soit effacé de force au début). Cette fonction est appelée à la ligne 52.

Ma question se pose car le trailing stop mentionné ci-dessus modifie les ordres ouverts (et il peut y en avoir plusieurs) par un stop loss en conservant leur TakeProfit initial mais en fixant la même valeur (AveragePrice, qui est calculé aux lignes 173 et 178) à ces ordres comme prix ouvert (deuxième paramètre de la fonction OrderModify).

Ou bien, ce paramètre (prix ouvert) est-il simplement ignoré par le serveur lors de la modification d'un ordre ouvert et le prix peut-il être fixé à n'importe quelle valeur ?

Dossiers :
ilan1.6.mq4  20 kb