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

 

Bonjour, il y a une question dans le code. Cet événement apparaît sur chaque nouvelle barre de la TF de travail. TF - cela devrait-il être comme ça ou y a-t-il une erreur dans le code ?

//+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   ResetLastError();   
   datetime Arr[];
   if(CopyTime(NULL,PERIOD_M5,10,1,Arr)<=0) 
   {
      int error=GetLastError();
      Print("Ошибка 4401 возникает на новом баре раб.ТФ, который должен быть ниже М5 в данном случае ",error);
      Print("Почему запрошенная история не найдена ведь я обращаюсь всего лишь к 10-му бару старшего ТФ М5");
      return(0);
      }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
novichok2018:

Il existe également la fonctionbool ExistPositions() d'Igor Kim, qui renvoie le drapeau d'existence de la position, ce qui est un peu compliqué pour moi d'adapter à mes conditions spécifiques. Mais je ne pense pas non plus qu'il sera testé dans l'histoire.

Si personne n'a un code, réellement testé dans le monde réel, à me montrer, je l'essaierai scientifiquement. Merci.

Mes connaissances font à nouveau défaut ! Une simple substitution dans iOpen(NULL,0,0) pour EURUSD produit des erreurs : identifiant non déclaré et conversion implicite de 'number' en 'string'. Même chose lorsque l'on change le symbole() dansOrderSend(Symbol(),OP_BUY,LOT,Ask,slippage,0,TP,"",magic,0,Blue) ; Comment puis-je le corriger ?

 
novichok2018:

Encore une fois, mes connaissances sont insuffisantes ! Le simple remplacement de NULL dans iOpen(NULL,0,0) par EURUSD donne des erreurs : identifiant non déclaré et conversion implicite de 'nombre' en 'chaîne'. Même chose lorsque l'on change le symbole() dans OrderSend(Symbol(),OP_BUY,LOT,Ask,slippage,0,TP,"",magic,0,Blue) ; Comment puis-je le corriger ?

Tu n'as pas oublié de mettre des guillemets ?

 
novichok2018:

Oui, c'est ainsi que je l'ai imaginé, mais je ne peux pas vérifier si cela fonctionne sur l'historique, car l'ouverture d'une position sur l'euro devrait avoir lieu par la condition pour la livre et n'est pas reflétée dans le code pour l'euro, alors que l'historique est affiché sur l'euro. D'où l'incertitude quant à la justesse de la décision.

Ensuite, je devrai apprendre MQL5 et tester la variante multi-devises.

 
Alexey Viktorov:

Ensuite, je devrai apprendre MQL5 et tester la variante multi-devises.

Oh non, merci ! Je n'ai pas l'intention d'étudier à fond le MKL4 ou le MKL5. Mon objectif est d'écrire des Expert Advisors simples qui sont rentables dans 95% des positions ouvertes, et d'éviter de tirer tout le solde avant de décider de fermer une position avec une perte. J'ai plusieurs conseillers experts de ce type qui fonctionnent sur des comptes de démonstration, mais chaque fois que de nouvelles idées apparaissent, je veux les tester immédiatement. Je m'en tiens à l'opinion selon laquelle plus le code est simple, mieux c'est, je ne veux pas me plonger dans le langage. Pas encore en tout cas ! Une étude approfondie de la langue ne se justifie que dans le but de gagner de l'argent en rédigeant des experts sur commande, IMHO.

Merci pour les citations. Je ne l'ai pas encore essayé, un peu plus tard.

 
novichok2018:

....... Mon objectif est d'écrire des conseillers experts simples pour moi-même, qui sont rentables dans 95 % des positions ouvertes, et qu'un moins suspendu ne draine pas tout mon solde jusqu'à ce que je décide de fermer une position à perte. .....

Vous avez décrit le rêve de 95% des traders dans le monde. Mais vous ne voulez même pas vous soucier de l'orthographe et de la syntaxe de la langue. Une confiance en soi enviable, j'aimerais ça. IMHO bien sûr.

 
novichok2018:

Oh non, merci ! Je n'ai pas l'intention d'étudier à fond le MKL4 ou le MKL5. Mon objectif est d'écrire des Expert Advisors simples qui sont rentables dans 95% des positions ouvertes, et d'éviter de tirer tout le solde avant de décider de fermer une position avec une perte. J'ai plusieurs conseillers experts de ce type qui fonctionnent sur des comptes de démonstration, mais chaque fois que de nouvelles idées apparaissent, je veux les tester immédiatement. Je m'en tiens à l'opinion selon laquelle plus le code est simple, mieux c'est, je ne veux pas me plonger dans le langage. Pas encore en tout cas ! Une étude approfondie de la langue n'est justifiée que dans le but de gagner de l'argent en écrivant des experts personnalisés, IMHO.

Merci pour les citations. Je ne l'ai pas encore essayé, je le ferai un peu plus tard.

MQL5 n'est pas plus compliqué que MQL4. Dans certains cas, c'est même plus simple et plus rapide. La POO est juste un problème pour les débutants. Pour écrire un simple conseiller expert auquel vous faites référence, vous n'avez pas besoin de connaître la POO.

Dis-moi à quel point c'est plus difficile d'écrire

// MQL4

OrderSend(_Symbol, OP_BUY, lot, price, Slip, sl, tp, "", Magic);
// MQL5

#include <Trade\\Trade.mqh>
CTrade trade;

trade.Buy(lot);
 
Sergey Voytsekhovsky:

Vous avez décrit le rêve de 95% des commerçants du monde. Mais vous ne voulez même pas vous soucier de l'orthographe et de la syntaxe de la langue. Une confiance en soi enviable, j'aimerais ça. IMHO, bien sûr.

Je ne comprends pas ce que vous entendez par "orthographe", mais cela n'a pas d'importance, car mes robots fonctionnent, et exactement de la manière que j'ai décrite.

 
Alexey Viktorov:

MQL5 n'est pas plus compliqué que MQL4. Et dans certains cas, c'est même plus simple et plus rapide. La POO n'est qu'une histoire d'horreur pour les débutants. Pour écrire un simple conseiller expert comme celui dont vous parlez, vous n'avez pas besoin de connaître la POO.

Dis-moi à quel point c'est plus difficile d'écrire

OH, MON DIEU ! Tu m'as tué. Je ne comprends rien, bien que mécaniquement il n'est pas plus difficile d'écrire la deuxième version ;)).

 

Bonjour, combien de temps MT4 va-t-il encore exister ? un an ou deux ?

Désolé pour la question, elle est un peu hors sujet (mais très importante pour moi).

Raison: