Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 105

 
Andrey Sokolov:

Salutations.

Pouvez-vous me dire comment spécifier la condition, de sorte que si la bougie actuelle a déjà été ouverte par les conditions spécifiées et fermée manuellement, elle ne s'ouvrira pas avant la nouvelle ?

Si le numéro de la barre à laquelle le dernier ordre fermé a été ouvert est le même que le numéro de la barre à laquelle le dernier ordre fermé a été fermé, et que ce numéro est égal à zéro, alors ...
 
Artyom Trishkin:
Si le numéro de la barre à laquelle le dernier ordre fermé a été ouvert est identique au numéro de la barre à laquelle le dernier ordre fermé a été clôturé et que ce numéro est égal à zéro, alors ...
Félicitations et respect
 
Andrey Sokolov:
Félicitations et respect
De rien - la réponse est dans votre propre question ;)
 
Artyom Trishkin:
Commencez par créer un modèle : dans l'éditeur, faites un clic droit dans la fenêtre de navigation sur Indicateurs et sélectionnez créer un dossier. Donnez-lui un nom - il contiendra exactement vos indicateurs.

Ensuite, cliquez également sur ce nouveau dossier et sélectionnez Nouveau fichier. Une fenêtre d'assistant s'ouvre, dans laquelle vous sélectionnez le type de programme à créer - Indicateur d'utilisateur. Vous devrez passer par toutes les étapes de l'assistant, ajouter les paramètres d'entrée, le type d'affichage, etc. Vous devrez essayer de trouver une solution par vous-même. Une fois que vous avez atteint la fin, le nouveau modèle d'indicateur sera créé. Tout ce que vous avez à faire est de le remplir avec le code requis, mais c'est l'étape suivante...

Il est difficile de décider de ce qui est nécessaire quand on ne sait pas exactement comment cela va être mis en œuvre.

La question est de savoir si j'ai besoin de la fonction "On Timer".

Je n'ai pas besoin de OnChartEvent. Je ne prévois rien de tel.

Quant à OnCalculate, lequel est le plus polyvalent ? OnCalculate (...prix) ? Je pense le choisir.

 
Andrey Koldorkin:

Il est difficile de décider de ce qui est nécessaire quand on ne sait pas exactement comment cela va être mis en œuvre.

La question est de savoir si j'ai besoin de la fonction "On Timer".

Je n'ai pas besoin de OnChartEvent. Je ne prévois rien de tel.

Quant à OnCalculate, lequel est le plus polyvalent ? OnCalculate (...prix) ? Je pense le choisir.

Allez-vous calculer quelque chose dans la minuterie ? Je ne pense pas.

Mais le fait que vous ayez besoin des prix OHLC - cela devrait vous donner le bon OnCalculate() des deux.
 
Bonjour, je demande un indice ici, car on ne peut pas vous donner une réponse adéquate ailleurs. Une question m'intéresse : est-il possible de remplacer la fonction de verrouillage sans utiliser de contre-ordres ? C'est-à-dire qu'après un certain nombre de points dans une étape ou dans une paire de devises, un ordre ou une chaîne d'ordres (principalement des ordres stop) arrête d'augmenter le profit et le fige avant la fin du cycle, par fermeture manuelle ou par verrouillage total, quelle que soit l'évolution du prix du marché. Il convient de noter que la clôture normale des ordres ne convient pas ! J'ai juste besoin de manipuler le solde et non de le modifier comme dans le verrouillage, mais les lots sont des lots, comme les commandes supplémentaires.

Si un tel code existe, veuillez me donner le nom de la fonction ou m'indiquer où la trouver.
 
paragon67:
Bonjour, je demande un indice ici, car on ne peut pas vous donner une réponse adéquate ailleurs. Une question m'intéresse : est-il possible de remplacer la fonction de verrouillage sans utiliser de contre-ordres ? C'est-à-dire qu'après un certain nombre de points dans une étape ou dans une paire de devises, un ordre ou une chaîne d'ordres (principalement des ordres stop) arrête d'augmenter le profit et le fige avant la fin du cycle, par fermeture manuelle ou par verrouillage total, quelle que soit l'évolution du prix du marché. Il convient de noter que la clôture normale des ordres ne convient pas ! J'ai juste besoin de manipuler le solde et non de le modifier comme dans le verrouillage, mais les lots sont des lots, comme les commandes supplémentaires.

Si ce code existe, veuillez me donner le nom de la fonction ou m'indiquer où la trouver.
Il faudrait que je le fasse moi-même et, pour être honnête, je n'ai aucune idée de la façon de broyer les commandes. Je suis en train de faire quelque chose de similaire, mais cela va prendre beaucoup de temps.
 
Artyom Trishkin:
Allez-vous calculer quelque chose dans la minuterie ? Je ne pense pas.

Mais le fait que vous ayez besoin des prix OHLC - cela devrait vous donner la bonne option OnCalculate() des deux.

Un modèle a été créé. Où allons-nous à partir d'ici ?

Nous devons lui apprendre à tracer sa ligne).

 
Andrey Koldorkin:

Un modèle a été créé. Où allons-nous à partir d'ici ?

Nous devons lui apprendre à tracer sa ligne).

Alors... Montre-moi le modèle. Comment savez-vous ce qu'il y a là-dedans ?
 

Veuillez me conseiller sur une solution au problème d'arrondi !

J'ai besoin de me débarrasser du point décimal sans reste - l'arrondi et l'exponentiation ne résolvent pas tout le problème - que dois-je faire ?

Par exemple, il était de 1.44430 et j'ai besoin de 144430.

Une partie du code - tel quel

NormalizeDouble(Low[1],Digits)*MathPow(10,(Digits+1)*1-1)