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

 
Karlson:

(S'il vous plaît, classez ceci, mais s'il vous plaît))) J'ai vraiment cru que je ne pourrais pas le faire, mais quelque chose s'est produit. Encore une fois, je ne prétends pas avoir raison. Ce n'est pas mon pain ;)))

Si quelque chose n'est pas clair, précisez-le. Je ne sais pas comment compter les zigzags qui ont été recalculés, donc les marques ont une chance de disparaître, ainsi que d'apparaître redondantes. sur les pics, mais il n'y a plus de zigzag.

Merci :) Je vais essayer de trouver une solution.

Je ne sais pas non plus :) le schéma est simple : je copie depuis la poignée une couleur de zigzag et 2 fichiers bafer avec les valeurs prêtes des extrema, des hauts et des bas, et un tableau séparé avec le temps d'ouverture des barres. Je travaille avec ces tableaux. (Dans un zigzag de type simple, il y a un tampon où Hai et Lowe's sont disposés un par un).

Il s'avère qu'ily a un zigzag qui construit un couple de fibrilles.

Je vais creuser :)

 
Veuillez me conseiller : la stratégie détermine le point d'entrée, le TP et le SL. Le signal suivant peut apparaître avant la clôture de l'ordre précédent. Si le robot en ouvre un nouveau dans MT5, cela entraînera des problèmes - le SL et le TP du trade non terminé seront écrasés, et le lot total ne correspondra pas aux nouveaux SL et TP d'aucun des deux trades.

Je devrais peut-être utiliser des pendentifs au lieu de SL/TP - puis-je partager le code source de la solution ? Ou peut-être existe-t-il d'autres variantes ?
 

Bonjour, je ne trouve aucune information sur le forum, veuillez m'aider. Je dois créer une fonction qui renvoie une valeur d'indicateur.

Par exemple, dans mql4 vous pourriez le faire comme ceci :

double Fast_MA(int Sdvig)
{
return(iMA(NULL, TF, FastMA, 0, MODE_SMA, PRICE_CLOSE, Sdvig))
}

et ensuite, dans le traitement du signal, utiliser simplement

si ( Fast_MA(1) > Fast_MA(2), etc.)

Comment le faire correctement dans mql5, partagez avec moi, si vous le voulez bien. Merci.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 
BALDEYU_OT_MT5:

Bonjour, je ne trouve aucune information sur le forum, veuillez m'aider. Je dois créer une fonction qui renvoie une valeur d'indicateur.

Par exemple, dans mql4 vous pourriez le faire comme ceci :

double Fast_MA(int Sdvig)
{
return(iMA(NULL, TF, FastMA, 0, MODE_SMA, PRICE_CLOSE, Sdvig))
}

et ensuite, dans le traitement du signal, utiliser simplement

si ( Fast_MA(1) > Fast_MA(2) etc)

Comment le faire correctement dans mql5, partagez avec moi, si vous le voulez bien. Merci.

Vous devez appeler l'indicateur via iMA ou une autre fonction de ces indicateurs. Les fonctions renvoient les poignées dont vous devez vous souvenir.

Ceci est généralement fait à OnInit, parce que même après la suppression de l'indicateur, il reste dans les processus en cours pendant un certain temps (5-15 min).

Puis, en utilisant CopyBuffer(handle,...), vous obtenez les valeurs nécessaires pour l'indicateur.

Indicateurs techniques

Accès aux séries chronologiques et aux indicateurs

Les exemples de la documentation sont surchargés pour montrer toutes les possibilités. En termes simples, cela ressemble à ceci :

// тут получаем хендл индюка, объявления переменных я опустил чтоб не нагромождать
handle=iMA(symbol,period,ma_period,ma_shift,ma_method,applied_price);
// тут получаем нужные данные
CopyBuffer(handle,0,1,to_copy,MABuffer);
// данные индикатора из буффера 0, будут скопированы в MABuffer[], от первого значения, в количестве to_copy

Lisez presque la documentation, les fonctions ont des surcharges.

 
Urain:

Pour ce faire, vous devez d'abord appeler l'indicateur via iMA ou d'autres fonctions de ces indicateurs. Les fonctions renvoient les poignées que vous devez mémoriser.

Ceci est généralement fait à OnInit, car même après avoir supprimé un indicateur, il reste dans les processus en cours pendant un certain temps (5-15 min).

Et ensuite, en utilisant le CopyBuffer(handle,...) vous obtenez les valeurs nécessaires de l'indicateur.

Indicateurs techniques

Accès aux séries chronologiques et aux indicateurs

Les exemples de la documentation sont surchargés pour montrer toutes les possibilités. En termes simples, cela ressemble à ceci :

Lisez la documentation, les fonctions ont des surcharges.

Que voulez-vous dire par "les fonctions ont des surcharges" ? Il semble plus facile de faire ce qui est écrit dans la documentation, rien auquel on puisse s'habituer.
 
BALDEYU_OT_MT5:
Que voulez-vous dire par "les fonctions ont des surcharges" ? Il semble plus facile de faire ce qui est écrit dans la documentation, rien auquel on puisse s'habituer.

Cela signifie que sous un même nom se cachent plusieurs fonctions avec des paramètres différents et des actions correspondantes (bien que similaires) mais différentes.

Dans le cas de CopyBuffer, c'est le cas :

Les appels ne diffèrent que par la façon dont les données sont recherchées par index ou par date.

Обращение по начальной позиции и количеству требуемых элементов

int  CopyBuffer(
   int       indicator_handle,     // handle индикатора
   int       buffer_num,           // номер буфера индикатора
   int       start_pos,            // откуда начнем 
   int       count,                // сколько копируем
   double    buffer[]              // массив, куда будут скопированы данные
   );

Обращение по начальной дате и количеству требуемых элементов

int  CopyBuffer(
   int       indicator_handle,     // handle индикатора
   int       buffer_num,           // номер буфера индикатора
   datetime  start_time,           // с какой даты
   int       count,                // сколько копируем
   double    buffer[]              // массив, куда будут скопированы данные
   );

Обращение по начальной и конечной датам требуемого интервала времени

int  CopyBuffer(
   int       indicator_handle,     // handle индикатора
   int       buffer_num,           // номер буфера индикатора
   datetime  start_time,           // с какой даты
   datetime  stop_time,            // по какую дату
   double    buffer[]              // массив, куда будут скопированы данные
   );
 

Chers collègues, pouvez-vous me dire qui sait ? Je veux faire un graphique de répartition entre deux paires de devises. Je l'ai fait en tant qu'indicateur dans une fenêtre séparée, mais comment puis-je créer une nouvelle fenêtre graphique vide, où il n'y aura pas de cotations de devises mais seulement mon spread ? est-ce même possible ?

Merci de votre attention.

 

Bonjour.

Veuillez me conseiller sur la manière de procéder correctement. J'ai un conseiller expert simple. Il se compose de deux fichiers avec l'exécutable et l'include avec la classe. Il se compile et s'exécute. Je veux tout mettre dans un seul fichier exécutable. Comment copier et placer correctement le fichier include dans le fichier principal ? Avant OnInit() ou après OnTick() ? Je comprends que ce n'est pas un problème de faire et de vérifier ceci ou cela, mais je ne veux pas avoir finalement un bug et que ma tête explose avec "qu'est-ce qui ne va pas avec ça". Je m'intéresse à la manière de le faire correctement selon les normes de la langue, afin de ne pas chercher plus tard des erreurs dans l'architecture du fichier. Je ne sais juste pas comment le faire correctement.

Merci d'avance.

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
RedFish:

Bonjour.

Veuillez me conseiller sur la manière de procéder correctement. J'ai un conseiller expert simple. Il se compose de deux fichiers avec l'exécutable et l'include avec la classe. Il se compile et s'exécute. Je veux tout mettre dans un seul fichier exécutable. Comment copier et placer correctement le fichier include dans le fichier principal ? Avant OnInit() ou après OnTick() ? Je comprends que ce n'est pas un problème de faire et de vérifier ceci ou cela, mais je ne veux pas avoir finalement un bug et que ma tête explose avec "qu'est-ce qui ne va pas avec ça". Je m'intéresse à la manière de le faire correctement selon les normes de la langue, afin de ne pas chercher plus tard des erreurs dans l'architecture du fichier. Je ne sais juste pas comment le faire correctement.

Merci d'avance.

Copiez l'inline et collez-la à la place de la directive dans le fichier mq5.
 
Urain:
Copiez l'inline et collez à la place de la directive dans le fichier mq5.
Je l'ai. Merci.
Raison: