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

 
entitie:

Une réponse-commentaire très précieuse et informative, je vous suggère de l'utiliser aussi...

En fait, il n'existe pas de commande simple permettant de superposer le stop suiveur standard après l'ouverture d'un ordre, n'est-ce pas ?

Ce n'est pas une commande simple, il y a beaucoup de solutions gratuites de trailing stop dans le terminal client, mettez l'EA dans une fenêtre séparée du terminal et il suivra automatiquement tous les ordres.

https://www.mql5.com/ru/search#!keyword=%D1%82%D1%80%D0%B5%D0%B9%D0%BB%D0%B8%D0%BD%D0%B3

https://www.mql5.com/ru/search#!keyword=%D1%82%D1%80%D0%B5%D0%B9%D0%BB%D0%B8%D0%BD%D0%B3&module=mql5_module_codebase

 
Kino:

Il n'y a pas de commande simple, il y a beaucoup de solutions de trailing prêtes à l'emploi dans la kotbase, mettez un EA dans une fenêtre de terminal séparée pour surveiller tous les ordres et vous aurez un trailing automatique.

https://www.mql5.com/ru/search#!keyword=%D1%82%D1%80%D0%B5%D0%B9%D0%BB%D0%B8%D0%BD%D0%B3

https://www.mql5.com/ru/search#!keyword=%D1%82%D1%80%D0%B5%D0%B9%D0%BB%D0%B8%D0%BD%D0%B3&module=mql5_module_codebase

Merci pour la réponse, au moins maintenant je saurai, car il est inutile de chercher dans la documentation. Les moteurs de recherche ne pointent que vers les conseillers experts.
 
alph:
Pouvez-vous me dire s'il s'agit d'une figurine de test réaliste ? Et est-ce un bon ou un mauvais résultat pour une année avec un dépôt de 3 000 dollars ?


Pas vraiment. Le drawdown est trop important et il y en a beaucoup :)
 
720105831:
Pourriez-vous me dire, camarades, s'il est possible de signer plus d'un signal sur un même compte ?
Pourquoi ? Mieux encore, individuellement, faites un portefeuille. Par exemple, vous avez 5 000 $, répartissez 1 000 sur chaque compte. Il s'agit de 20 % de votre dépôt pour chaque fournisseur. Pensez à combien c'est pratique :)
Et abonnez-vous à mon signal :))
 
alexey frolov:
Pouvez-vous me dire, camarades, s'il est possible de signer plus d'un signal sur un même compte ?
Non, un seul signal par compte. Vous pouvez le contourner en utilisant des copieurs.
 

Bonjour. J'écris un indicateur qui utilise l'indicateur RSI intégré, j'ai rencontré ce problème...

Quand je change de période, ça sort du tableau. J'ai compris que le problème se produit parce que lorsque vous changez de timeframe une erreur dans la fonction CopyBuffer, elle ne copie pas les éléments du handle de l'indicateur. Voici une partie du code, située dans la fonction personnalisée :

int h_rsi = iRSI(symbol, period_trade, period, PRICE_CLOSE);  //возвращаем хэндл индикатора RSI
   if(CopyBuffer(h_rsi, 0, 0, bars, m_rsi)<bars)                 //заполняем массив с данными индикатора RSI
     {
      Print("Не удалось скопировать буфер индикатора!");
     }
   for(int i=0;i<=bars;i++) //цикл по барам
     {
      double rsi = m_rsi[i];
.....

Dans la première ligne de la boucle, une erreur se produit : dépassement de la zone de mémoire. Lors de l'exécution de la fonction CopyBuffer (après le changement d'heure) il y a une erreur, son code est 4806. J'ai vérifié si les données existent dans l'historique, j'ai réglé le délai (Sleep()) après avoir changé l'horizon temporel et obtenu le handle de l'indicateur, le résultat est le même. Ce qui est intéressant, c'est qu'au moment où l'erreur se produit, si je vais dans le compilateur et que je recompile le fichier, l'indicateur fonctionne (jusqu'au prochain changement d'horizon temporel).

 
ALEKSANDR TELEGUZ:

Bonjour. J'écris un indicateur qui utilise l'indicateur RSI intégré, j'ai rencontré ce problème...

Quand je change de période, ça sort du tableau. J'ai compris que le problème se produit parce que lorsque vous changez de timeframe une erreur dans la fonction CopyBuffer, elle ne copie pas les éléments du handle de l'indicateur. Voici une partie du code, située dans la fonction personnalisée :

Dans la première ligne de la boucle, une erreur se produit : dépassement de la zone de mémoire. Lors de l'exécution de la fonction CopyBuffer (après le changement d'heure), il y a une erreur, son code est 4806. J'ai vérifié si les données existent dans l'historique, j'ai réglé le délai (Sleep()) après avoir changé l'horizon temporel et obtenu le handle de l'indicateur, le résultat est le même. Ce qui est intéressant, c'est qu'au moment où l'erreur se produit, si je vais dans le compilateur et que je recompile le fichier, l'indicateur fonctionne (jusqu'au prochain changement d'horizon temporel).

Et comment obtenir la valeur des variables "bars", "symbol" et "period_trade" ?
 
Karputov Vladimir:
Comment obtenir la valeur des variables "bars", "symbol" et "period_trade" ?
input int Analyze_Bars= 300; //сколько баров в истории анализировать

ENUM_TIMEFRAMES Period_Trade; //Период графика
string Trade_Symbol;          //Символ

int OnInit()
  {
   Trade_Symbol=Symbol();
   Period_Trade=Period();

Je comprends qu'il est difficile d'aider avec des extraits de code. Je suis en train de préparer un article sur la construction de niveaux de résistance et de support. J'ai passé un accord préliminaire avec l'administrateurRashid Umarov et il m'a dit qu'il serait préférable d'écrire le code en mql5 (je programme en mql4 et l'indicateur initial a été écrit dans ce langage). Il est intéressant de noter que lorsque je lance l'indicateur pour la première fois, il fonctionne bien, ici :

Le résultat de l'indicateur

Mais lorsque je change de période, une erreur se produit. Je ne veux pas joindre un indicateur inachevé à l'article, mais le plus important est son principe de fonctionnement.

Je peux vous envoyer l'ensemble du code si vous le souhaitez. Je vous serais reconnaissant de m'aider et de m'indiquer l'erreur.

 
ALEKSANDR TELEGUZ:

Je comprends qu'il est difficile d'aider avec des extraits de code. Je suis en train de préparer un article sur la construction de niveaux de résistance et de support. J'ai passé un accord préliminaire avec l'administrateurRashid Umarov et il m'a dit qu'il serait préférable d'écrire le code en mql5 (je programme en mql4 et l'indicateur initial a été écrit dans ce langage). Il est intéressant de noter que lorsque je lance l'indicateur pour la première fois, tout se passe bien, ici :

Mais lorsque je change de période, une erreur se produit. Je ne veux pas joindre un indicateur inachevé à l'article, mais le plus important est son principe de fonctionnement.

Je peux vous envoyer l'ensemble du code si vous le souhaitez. Je vous serais reconnaissant de m'aider et de me montrer l'erreur.

Envoyez-le-moi.
 
Karputov Vladimir:
Comment obtenir la valeur des variables "bars", "symbol" et "period_trade" ?
Je récupère le handle de l'indicateur à partir de la fonction personnalisée pour une raison, j'ai écrit un EA multi-devises basé sur celui-ci dans mql4 et il passe par les symboles dans la fonction OnTick(). Je pense que ce sera plus pratique pour les lecteurs s'ils font aussi des EAs de trading sur différentes devises basées sur l'indicateur. J'ai essayé de recevoir un handle dans la fonction OnInit(), mais cela a provoqué la même erreur.