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

 
Roman:

Pouvez-vous me dire s'il existe un crochet pour l'indicateur mql5 ? Pour définir deux propriétés d'affichage.

Et d'une manière ou d'une autre, lier différentes sorties, chacune à sa propre propriété de mappage.

Si, il y en a un. Mais c'est seulement pour mql5 et cela ne fonctionnerait pas avec le Marché. Dans les indicateurs il faut chercher un indicateur avec le nom du deuxième et s'il n'est pas présent, alors ChartIndicatorAdd().

 
Alexey Viktorov:

C'est le cas. Mais seulement pour mql5 et ça ne marchera pas pour Market. Dans les indicateurs vous devez rechercher un indicateur avec le nom du deuxième indicateur et s'il n'est pas présent, alors ChartIndicatorAdd().

Vous avez deux indicateurs. Pas une avec une double propriété de rendu simultané sur le graphique principal et dans la sous-fenêtre.

Mais il fera l'affaire en tant que variante du lancement simultané de deux indicateurs. Mais les données devront être obtenues à partir de deux indicateurs, et non d'un seul.

 
Artyom Trishkin:

Eh bien, ça fait deux indicateurs. Pas une avec la double propriété simultanée de dessiner sur le graphique principal et dans la sous-fenêtre.

Bien que, en tant que variante du lancement simultané de deux indicateurs différents, il fera l'affaire. Mais les données devront être obtenues à partir de deux indicateurs, et non d'un seul.

Oui, c'est vrai, le sens était de dessiner sur le graphique principal et dans la sous-fenêtre, à partir d'un seul code.

Artyom Trishkin:

Utilisez vos propres dessins sur le graphique principal à partir de la sous-fenêtre.

C'est là que le bât blesse. Comment passer de la sous-fenêtre au graphique ?
Si vous avez un exemple, ce sera plus clair.

 

Veuillez m'aider à résoudre un problème que j'ai rencontré. Je n'ai pas compris pourquoi le calcul que j'ai essayé n'a pas permis de calculer la marge. J' utilise la formule de :

h ttps://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants?#enum_symbol_calc_mode

Mais les problèmes subsistent.

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Для получения текущей рыночной информации служат функции SymbolInfoInteger(), SymbolInfoDouble() и SymbolInfoString(). В качестве второго параметра этих функций допустимо передавать один из идентификаторов из перечислений ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE и ENUM_SYMBOL_INFO_STRING соответственно. Некоторые символы (как правило...
 

Dites-moi comment traduire ce code de MQL4 à MQL5 :

datetime  bar_day   = TimeDay(Time[Bars - 1]);

?

J'ai essayé de nombreuses variantes, voici l'une d'entre elles :

int bars=Bars;
//+------------------------------

   datetime  bar_day   = TimeDayMQL4(iTimeMQL4(NULL,0,(bars - 1)));

J'ai essayé beaucoup de variantes, voici le code des fonctions TimeDayMQL4 et iTimeMQL4 créées dans la bibliothèque de compatibilité MQL4 :

int TimeDayMQL4(datetime date)
  {
   MqlDateTime tm;
   TimeToStruct(date,tm);
   return(tm.day);
  }

datetime iTimeMQL4(string symbol,int tf,int index)
{
   if(index < 0) return(-1);
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   datetime Arr[];
   if(CopyTime(symbol, timeframe, index, 1, Arr)>0)
        return(Arr[0]);
   else return(-1);
}

Mais ça ne marche toujours pas, j'ai 1970...

 
Sayberix :

Dites-moi comment traduire ce code de MQL4 à MQL5 :

?

C'est facile. Suivez cet article : https://www.mql5.com/ru/articles/81

Переход с MQL4 на MQL5
Переход с MQL4 на MQL5
  • www.mql5.com
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
 
jaffer wilson:

C'est facile. Suivez l'article : https://www.mql5.com/ru/articles/81

Mise à jour de mon post. J'ai essayé, ça ne marche pas. J'obtiens cette valeur dans les variables : D'1970.01.01 00:00:24'.

J'utilise également TimeMonthMQL4 et TimeYearMQL4.
 
jaffer wilson:

Veuillez m'aider à résoudre un problème que j'ai rencontré. Je n'ai pas compris pourquoi le calcul que j'ai essayé n'a pas permis de calculer la marge. J' utilise la formule de :

h ttps://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants?#enum_symbol_calc_mode

Mais le problème demeure.

Je n'ai pas trouvé la solution - aucun indice malheureusement.

 
Roman:

Oui, c'est vrai, le but était de dessiner sur le graphique et dans la sous-fenêtre, à partir du même code.

C'est là que le bât blesse. Comment dessiner à partir de la sous-fenêtre vers le graphique ?
Si vous avez un exemple, ce sera plus facile à comprendre.

Il y a deux façons de l'afficher sur le graphique :

  1. Objets graphiques
  2. Canvas .

Dans tous les cas, nous devrons créer un tampon supplémentaire qui ne sera pas affiché dans la fenêtre de données, mais à partir duquel ces données peuvent être obtenues. Les valeurs qui peuvent être utilisées pour obtenir des données de la fenêtre principale seront écrites dans le tampon. Il sera alors possible de recevoir des données à la fois de la sous-fenêtre et du graphique principal à partir d'un seul indicateur.

Ou bien, il est plus pratique d'écrire d'abord toutes les données calculées pour chaque barre dans ce tampon, puis d'utiliser ces données pour construire le graphique principal dans la fenêtre principale. C'est vous qui décidez de la manière dont vous allez le tracer. Je choisirais Kanvas.

 
Sayberix:

Mise à jour de mon post. J'ai essayé, ça ne marche pas. J'obtiens cette valeur dans les variables : D'1970.01.01 00:00:24'.

J'utilise également TimeMonthMQL4 et TimeYearMQL4.

Extrait de l'article que Jaffer a cité

void OnStart()
{
   datetime Time[];
   int count = 2;        //сколько копируем 
   ArraySetAsSeries(Time, true);
   CopyTime(_Symbol, PERIOD_D1, 0, count, Time); 
   
   Print(Time[1]); //1-окрытие вчерашнего дня, 0-открытие текущего дня
}