Questions d'un "mannequin - page 44

 

Alex, comment puis-je comparer m_rates[1].low avec m_rates[0].close ?

m_rates[1].low=m_rates[0].close sera-t-il correct et en général m_rates[0].close est le dernier prix de la barre qui n'est pas encore fermée ?

et en général, quelle est la manière correcte de traiter la dernière barre sans utiliser d'indicateurs ?(CopyRates, CopyHigh)

 
Makser:

Alex, comment puis-je comparer m_rates[1].low avec m_rates[0].close ?

m_rates[1].low=m_rates[0].close sera-t-il correct et en général m_rates[0].close est le dernier prix de la barre qui n'est pas encore fermée ?

et en général, quelle est la manière correcte de traiter la dernière barre sans utiliser d'indicateurs ? (CopyRates, CopyHigh)

vous avez correctement écrit que vous devriez utiliser CopyRates ou CopyHigh/Low/Close, etc. pour travailler avec des données de prix en dehors des indicateurs.

Vous pouvez trouver des exemples dans l'aide ou dans la base de code.

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates
  • www.mql5.com
Доступ к таймсериям и индикаторам / CopyRates - Документация по MQL5
 

Lors de la compilation du code, un message apparaît : perte possible de données due à la conversion de type sur la ligne

datetime lastbar_time=SeriesInfoInteger(Symbol(),Period(),SERIES_LASTBAR_DATE);

et lorsque l'on utilise la fonction dans l'Expert Advisor, elle cesse de fonctionner dans le testeur, s'il vous plaît dites-moi la raison, le code est pris à partir de l'article https://www.mql5.com/ru/articles/22.

//+------------------------------------------------------------------+
//|                                                 CheckLastBar.mq5 |
//|                        Copyright 2010, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2010, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if(isNewBar())
     {
      PrintFormat("Новый бар: %s",TimeToString(TimeCurrent(),TIME_SECONDS));
     }
  }
//+------------------------------------------------------------------+
//| Возвращает true, если появился новый бар для пары символ/период  |
//+------------------------------------------------------------------+
bool isNewBar()
  {
//--- в статической переменной будем помнить время открытия последнего бара
   static datetime last_time=0;
//--- текущее время
   datetime lastbar_time=SeriesInfoInteger(Symbol(),Period(),SERIES_LASTBAR_DATE);

//--- если это первый вызов функции
   if(last_time==0)
     {
      //--- установим время и выйдем 
      last_time=lastbar_time;
      return(false);
     }

//--- если время отличается
   if(last_time!=lastbar_time)
     {
      //--- запомним время и вернем true
      last_time=lastbar_time;
      return(true);
     }
//--- дошли до этого места - значит бар не новый, вернем false
   return(false);
  }
//+------------------------------------------------------------------+
Ограничения и проверки в экспертах
Ограничения и проверки в экспертах
  • 2010.08.02
  • MetaQuotes Software Corp.
  • www.mql5.com
Можно ли торговать этим инструментом в понедельник? Хватит ли денег на открытие позиции? Какой размер убытка мы получим, если сработает Stop Loss? Как ограничить количество отложенных ордеров? Была ли выполнена торговая операция на этом баре или это было на предыдущем? Если торговый робот не может сделать подобные проверки, то любая прибыльная торговая система может превратиться в проигрышную. В этой статье показаны примеры проверок, которые пригодятся в любом эксперте.
 
Europa:

Lors de la compilation du code, un message apparaît : perte possible de données due à la conversion de type sur la ligne

et lorsque l'on utilise la fonction dans l'Expert Advisor, elle cesse de fonctionner dans le testeur, s'il vous plaît dites-moi la raison, le code est pris à partir de l'articlehttps://www.mql5.com/ru/articles/22.

Je ne suis pas sûr pour le testeur. A propos de "... conversion de type" :
   datetime lastbar_time=(datetime)SeriesInfoInteger(Symbol(),Period(),SERIES_LASTBAR_DATE);
 

Intéressant, mais j'en ai un similaire aussi.Remplir un tableau double avec des données doubles. Il donne le même avertissement sur cette ligne.

CopyBuffer(ma_handle,0,0,13,ma);
 
Karlson:

Intéressant, mais j'ai aussi un problème similaire : je remplis un tableau double avec des données doubles et je reçois le même avertissement sur cette ligne.

C'est peut-être l'interprétation ambiguë des constantes (0,0,13). Le CopyBuffer a trois variantes d'appel. Essayez de substituer des variables du type requis comme paramètres ou utilisez une conversion de type explicite pour les constantes.
 
Merci, je vais essayer. J'ai déjà essayé la conversion, la conversion explicite passe, si je traduis un handle de masque avec (int), mais cela ne me convient pas bien sûr :-)
 
Karlson:
Merci, je vais essayer. J'ai déjà essayé la conversion, la conversion explicite passe, si je traduis un handle de masque via (int), mais cela ne me convient pas bien sûr :-)
Attends une seconde. Quel est le type de votre poignée ?
 

Je me suis trompé. J'ai besoin d' un int.

int  iMA(
   string               symbol,            // имя символа
   ENUM_TIMEFRAMES      period,            // период
   int                  ma_period,         // период усреднения
   int                  ma_shift,          // смещение индикатора по горизонтали
   ENUM_MA_METHOD       ma_method,         // тип сглаживания
   ENUM_APPLIED_PRICE   applied_price      // тип цены или handle
   );

Merci.

 
J'ai aussi quelques questions. Où se trouvent les modules de signaux de croisement de moyennes mobiles ? Où sont les signaux de l'alligatora? Une dernière chose. Chaque indicateur possède plusieurs types de signaux. Comment faire pour que MACD n'accepte que les signaux de passage à zéro ?