Questions des débutants MQL5 MT5 MetaTrader 5 - page 424

 
Bonjour à tous ! Pourriez-vous me dire comment sélectionner le dernier ordre clôturé dans l'historique mql4 ? J'utilise OrderSelect(0,SELECT_BY_POS,MODE_HISTORY), qui sélectionne le premier ordre clôturé.
 
Sergei Maksimenko:
Bonjour à tous ! Pourriez-vous me dire comment sélectionner le dernier ordre clôturé dans l'historique mql4 ? J'utilise OrderSelect(0,SELECT_BY_POS,MODE_HISTORY) ; il sélectionne le premier ordre fermé, mais comment puis-je sélectionner le dernier ?
Au lieu de 0, vous devriez utiliser OrdersHistoryTotal()-1.
 
new-rena:

Il est plus facile de suivre les changements de barres par les changements d'heure des barres plutôt que par les prix des barres. À la fin de l'algorithme, nous enregistrerons l'heure actuelle de la barre, et au début, nous la comparerons avec l'heure actuelle.

Par exemple, pour la barre M5, l'heure actuelle sera modifiée uniquement au début de la barre et toutes les 5 minutes.....

Les tests de ces programmes sont effectués "par prix d'ouverture", ce qui accélère considérablement le processus de débogage et d'optimisation du code.

Ainsi, je vais devoir trouver quelle est la TF actuelle et faire des arrondis si une barre n'apparaît pas dans exactement 5 minutes... Dans mon cas, le code est très facile et non contraignant. Bien sûr, le prix ouvert peut ne pas changer, mais vous pouvez vérifier par la somme de deux barres précédentes. En général, si vous n'aviez pas écrit sur les avantages de votre solution, j'aurais mieux compris en joignant le code - je ne suis pas un programmeur...
 
-Aleks-:
Je dois donc trouver quelle est la TF actuelle, faire l'arrondi si la barre n'apparaît pas dans exactement 5 minutes.... Dans mon cas, le code est très facile et pas encombrant. Bien sûr, le prix d'ouverture peut ne pas changer, mais vous pouvez vérifier par la somme des deux dernières barres. En général, si vous n'aviez pas écrit sur les avantages de votre solution, j'aurais mieux compris en joignant le code - je ne suis pas un programmeur...
Навигатор по форуму и ответы на часто задаваемые вопросы. Настоятельно Рекомендуется к Прочтению! - MQL4 форум
  • www.mql5.com
Навигатор по форуму и ответы на часто задаваемые вопросы. Настоятельно Рекомендуется к Прочтению! - MQL4 форум
 
Artyom Trishkin:

Merci - plus facile que ce que j'avais imaginé après avoir lu le commentaire.

 

Bonjour !

Qui peut me dire comment faire un menu déroulant dans les paramètres experts ?

Comme celui de la photo. Merci.


 
Sergei Konoplev:

Bonjour !

Qui peut me dire comment faire un menu déroulant dans les paramètres experts ?

Comme celui de la photo. Merci.


J'ai besoin d'ajouter ma liste au code.
 
-Aleks-:
Je dois donc trouver quelle est la TF actuelle, faire l'arrondi si la barre n'apparaît pas dans exactement 5 minutes.... Dans mon cas, le code est très facile et pas encombrant. Bien sûr, le prix d'ouverture peut ne pas changer, mais vous pouvez vérifier par la somme des deux dernières barres. En général, si vous n'aviez pas écrit sur les avantages de votre solution, j'aurais mieux compris en joignant le code - je ne suis pas un programmeur...
//код в фигурных скобках выполнится только один раз, на открытии каждого нового бара М5

datetime prevTime;

if(prevTime!=iTime(Symbol(),PERIOD_M5,0))
   {
     ...
   }
prevTime=iTime(Symbol(),PERIOD_M5,0);
 

Où est l'erreur ?

void CheckValidStop4(string symbol,double price, double &sl) //функция на проверку близких стопов от цены и его исправление
{
    if(sl==0)
    return;
    
    double severs_min_stop = MarketInfo(symbol,MODE_STOPLEVEL)* MarketInfo(symbol,MODE_POINT);
    if(MathAbs(price - sl)<= severs_min_stop)
    {
        if(price>sl)
             sl = price - severs_min_stop;
       else  sl = sl + severs_min_stop;
       
        
    }
    sl = NormalizeDouble(sl,(int)MarketInfo(symbol,MODE_DIGITS));
}
 
Leanid Aladzyeu:

Où est l'erreur ?

Uncode d'erreur?