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

 
Ibragim Dzhanaev:

Pouvez-vous me dire pourquoi le chalut est déclenché à chaque tick?

Nous devons comparer les TakeProfit et StopLoss de la position BUY avec le prix Bid et de la position SELL avec le prix Ask.

C'est le prix auquel ils sont déclenchés.

Alors essayez comme ça :
 if(OrderOpenPrice()+(trail_p*Point)<Ask && OrderStopLoss()+(trail_p*Point)<Bid )
if(OrderOpenPrice()-(trail_p*Point)>Bid && OrderStopLoss()-(trail_p*Point)>Ask )
 
Ibragim Dzhanaev:

Pouvez-vous me dire pourquoi le chalut est déclenché à chaque tick?

Modèle de chalut. Dans la même branche.

 
Ivan Ivanov:

Il est nécessaire de comparer les TakeProfit et StopLoss d'une position BUY avec le prix Bid et d'une position SELL avec le prix Ask.

Ce sont les prix auxquels ils sont déclenchés.

En d'autres termes, essayez ceci :

Rien n'a changé.

 
Artyom Trishkin:

Modèle de chalut. Dans le même fil de discussion.


Merci.

 
Artyom Trishkin:

Modèle de sentier. Dans la même branche.


double sl=NormalizeDouble(level_of_trail-trailing_stop*point,digits) ;// calculer le nouveau niveau stoploss par valeur,

Pourquoi lespoints et leschiffres s'écrivent-ils avec une petite lettre ?


 
Ibragim Dzhanaev:

double sl=NormalizeDouble(level_of_trail-trailing_stop*point,digits) ;// calculer le nouveau niveau stoploss par valeur,

Pourquoi avez-vous despoints et deschiffres écrits avec une petite lettre ?


Comme le code est optimisé, la variable est initialisée une fois dans le modèle, et non pas 100 fois à chaque endroit.

            int    digits=(int)SymbolInfoInteger(symbol_name,SYMBOL_DIGITS);
            double point=(SymbolInfoDouble(symbol_name,SYMBOL_POINT));
 
Ibragim Dzhanaev:

double sl=NormalizeDouble(level_of_trail-trailing_stop*point,digits) ;// calculer le nouveau niveau stoploss par valeur,

Pourquoi avez-vous despoints et deschiffres écrits avec une petite lettre ?


Parce qu'ils sont déclarés à l'intérieur de cette fonction - ce modèle de piste fonctionne avec n'importe quel caractère passé dans les paramètres de la fonction, et pas seulement avec le caractère actuel, comme vous pourriez le penser.

 
Vitaly Muzichenko:

Parce que le code est optimisé et que la variable est initialisée une fois dans le modèle, et non pas 100 fois à chaque endroit.

Je n'ai pas pensé à l'optimisation, d'ailleurs. Il est sûrement possible de l'optimiser.
 

comment tirer les cotations d'un jour particulier du terminal (ouverture, fermeture, max, min) vers un programme que j'ai écrit (c++) et faire les calculs finaux sans renvoyer de nouvelles informations au terminal vers l'indicateur, le conseiller, etc., juste tirer les cotations par date vers mon programme ? merci d'avance.

 
виталик:

comment tirer les cotations d'un jour particulier du terminal (ouverture, fermeture, max, min) vers un programme que j'ai écrit (c++) et faire les calculs finaux sans renvoyer de nouvelles informations au terminal vers l'indicateur, le conseiller, etc., juste tirer les cotations par date vers mon programme ? merci d'avance.

Par le biais d'un fichier, par exemple