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

 
zlodei:

J'ai écrit l'indicateur le plus simple en mql4, je voulais le traduire en mql5, et je me démène depuis une semaine, mais ça ne marche pas ! Je commence à m'énerver, je déteste mql5 car j'ai déjà écrit 88 lignes d'un simple indicateur de 34 lignes en mql5 !

Voici le code sur mql4 :

Et voici le code sur mql5 :

Leslignes des indicateurs ne s'affichent pas correctement dans MT5.

Qu'est-ce que j'ai fait de mal ?

Bonnes gens, aidez-moi, ayez pitié du pauvre gars, je suis au bord de la dépression, honnêtement. C'est une honte que vous ne puissiez pas jurer ici !

Modérateur, ne me bannissez pas, donnez-moi d'abord un avertissement si quelque chose ne va pas.

Vous avez besoin de ArraySetAsSeries(..., true), pour tous les buffers (dans OnInit()), et tout fonctionnera. // Dans MT5, default =false.
 
papaklass:

Jetez un coup d'œil à https://www.mql5.com/ru/docs/indicators

Il existe un code d'indicateurs standards

Merci !

Peut-être que je n'ai pas posé la question correctement, j'ai trouvé moi-même, c'est ce que je cherchais :

Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - Документация по MQL5
 
MetaDriver:
Vous avez besoin de ArraySetAsSeries(..., true), pour tous les buffers (dans OnInit()), cela fonctionnera. // Dans MT5, la valeur par défaut =false.

Cela n'aide pas... Parce qu'à CHAQUE tick, il y a de multiples (dizaines de milliers de fois) appels aux fonctions CopyOpen et CopyClose, ce qui conduit au gel de l'indicateur et dans certains cas, du terminal.

En outre, dans le CopyOpen, il est évident que le tableau est dépassé, mais dans mql5, cela entraîne un arrêt de l'exécution du programme. Et la terrible charge du processeur, comme il s'avère.

Документация по MQL5: Программы MQL5 / Выполнение программ
Документация по MQL5: Программы MQL5 / Выполнение программ
  • www.mql5.com
Программы MQL5 / Выполнение программ - Документация по MQL5
 
Fleder:

Cela n'aide pas... Parce qu'à CHAQUE tick il y a de multiples (dizaines de milliers de fois) appels aux fonctions CopyOpen et CopyClose, ce qui conduit au gel de l'indicateur et dans certains cas, du terminal.

En outre, dans le CopyOpen, il est évident que le tableau est dépassé, et dans mql5, cela conduit à un arrêt de l'exécution du programme. Et la terrible charge sur le CPU, comme il s'avère...

Quel terrible algorithme vous avez).
 
zfs:
Quel algorithme effrayant vous avez).
Cet algorithme effrayant n'est pas le mien. C'est juste que la personne (l'auteur) a demandé de l'aide et a été poliment renvoyée !
 
Fleder:
Cet algorithme effrayant n'est pas le mien. C'est juste que la personne (l'auteur) a demandé de l'aide et qu'elle a été poliment renvoyée !
La seule chose qui reste à faire est de résoudre le problème avec vous).
 

Bonjour !

Pouvez-vous me dire comment j'apprends à trader sur la démo.

J'ai fait un short avec stoploss, après 10 min de pause et les cotations ne se chargeaient pas depuis le serveur. Après le téléchargement, un chandelier de 5000 pips a sauté et le stop était faible.

Est-ce un défaut de la démo ? Ou cela peut se produire sur un compte réel ?

Je l'ai déjà téléchargé mais je ne l'ai pas encore téléchargé.

 
sbr080:

Bonjour !

Pouvez-vous me dire comment j'apprends à trader sur la démo.

J'ai fait un short avec stoploss, après 10 min de pause et les cotations ne se chargeaient pas depuis le serveur. Après le téléchargement, un chandelier de 5000 pips a sauté et le stop était faible.

Est-ce un défaut de la démo ? Ou cela peut se produire sur un compte réel ?

Je l'ai déjà téléchargé mais je ne l'ai pas encore téléchargé.

La démo est simulée, il n'y a aucune garantie de fonctionnement normal sur celle-ci. Les arrêts peuvent fonctionner sur n'importe quel compte.
 

sbr080:

Ou cela se produit-il aussi dans un compte réel ?

Que se passe-t-il ?

des pics de cent pips ?

ou une transaction perdante ?

 

Messieurs, veuillez me dire ce qu'il faut écrire dans les deux dernières lignes lors de la modification d'un ordre en attente si sa durée de vie est fixée. (par exemple, 6 heures - ).

request.type_time = ORDER_TIME_SPECIFIED ; // la commande sera active jusqu'à la date d'expiration.
request.expiration = TimeCurrent()+6*3600;//dernière heure connue du serveur + nombre d'heures*heures

Si la durée de vie ne change pas, peut-on ne rien écrire du tout lors de la modification ? Par défaut, il mourra de lui-même.

Et si vous devez changer sa vie ?

Modifier une commande en cours

Demande de transaction pour modifier les niveaux de prix des ordres en attente. 7 champs sont obligatoires :

-action

-commande

-prix

-sl

-tp

-type_temps

-expiration

Ce sont les deux lignes du manuel que je n'arrive pas à pénétrer :

type_temps

Type de commande au moment de l'expiration. La valeur peut être l'une des valeurs ENUM_ORDER_TYPE_TIME

expiration

Heure d' expirationde l'ordre en attente (pour les ordres ORDER_TIME_SPECIFIED)

S'il vous plaît écrivez comment ils devraient ressembler dans l'expert, lors de la modification, je vais comprendre. Merci d'avance.