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

 
Tout le monde le sait. DANS MT4. Il existe un testeur de stratégie. Il est possible de pousser l'énumération des paramètres, par l'optimisation.

La question est la suivante.

Peut-on faire passer cette optimisation, la recherche de paramètres, dans le conseiller expert ? Si le conseiller expert optimise les paramètres de temps en temps, il sélectionne ceux qui sont rentables et travaille avec eux ? Disons que, tous les 7 jours, le conseiller expert optimise pour 7 jours. Et des paramètres sélectionnés sur la rentabilité. Et les hiboux, qui travaillent déjà plus de 7 jours ?

Je veux entendre la réponse, quelqu'un qui comprend ça. Disons la quantité de travail. La gravité du travail. etcetera. Ce dont il s'agit.

 
Aleksey Radzisheuski:
Tout le monde le sait. DANS MT4. Il existe un testeur de stratégie. Il est possible de pousser l'énumération des paramètres, par l'optimisation.
La question est la suivante.
Peut-on faire passer cette optimisation, la recherche de paramètres, dans le conseiller expert ? Si le conseiller expert optimise les paramètres de temps en temps, il sélectionne ceux qui sont rentables et travaille avec eux ? Disons que, tous les 7 jours, le conseiller expert optimise pour 7 jours. Et des paramètres sélectionnés sur la rentabilité. Et les hiboux, qui travaillent déjà plus de 7 jours ?

Je veux entendre la réponse, quelqu'un qui comprend ça. Disons la quantité de travail. La gravité du travail. etcetera. Ce dont il s'agit.

Voici l'article https://www. mql5.com/ru/articles/1467 ...

Автоматическая оптимизация торгового робота в процессе реальной торговли
Автоматическая оптимизация торгового робота в процессе реальной торговли
  • 2007.04.16
  • Igor Malcev
  • www.mql5.com
В статье описана и представлена библиотека функций, позволяющая проводить оптимизацию входных параметров советника, запуская оптимизацию непосредственно из советника.
 
Alekseu Fedotov:


Avez-vous uneligne de tendance?

Et passe visuellement au-dessus(en dessous) de la barre 0, non, cochez la case dans les propriétés, faisceau.


La ligne est une ligne de tendance. Modification des propriétés d'un rayon. Cela n'a pas aidé. Idéalement, je souhaite que le prix soit affiché quelle que soit la position de la barre de zéro (haut, bas).

Ce code ne fonctionne pas non plus.

int start() {

double pr=ObjectGetValueByShift("line",0) ;

Si (Bid==pr){

Alerte (pr);}

return(0);}

 
Valerius:

Bonjour à tous !

Question, sur insta, lorsque vous essayez d'envoyer un ordre, il est dit que les arrêts sont faux.

Voici la ligne elle-même :

OrderSend(Symbol(),OP_BUYSTOP,Lots,HiP,3,0,0,NULL,111,0,clrBlue) ;

Stop Loss et Take Points ont 0. Si je fixe un nombre dans Stop Loss, tout est normal.

Je n'ai pas besoin de Stop Loss. Que dois-je faire ?

Ce n'est pas un problème de StopLoss, mais de prix d'ouverture d'un ordre en attente. Si le prix de l'ordre en attente est erroné, l'erreur 130 survient.
 
Kot:


La ligne est en tendance. J'ai changé les propriétés en un rayon. Cela n'a pas aidé. Idéalement, le prix devrait être affiché quelle que soit la position de la barre de zéro (haut, bas).

Ce code ne fonctionne pas non plus.

int start() {

double pr=ObjectGetValueByShift("line",0) ;

Si (Bid==pr){

Alerte (pr);}

return(0);}


Avez-vous tapé le nom de la ligne correctement ?

Essayez ce script, et montrez ce qu'il dit dans les logs.

void OnStart()
  {
     double pr;
     int obj_total=ObjectsTotal(); 
     string name;
     int i; 
     
   for(i=0;i<obj_total;i++) 
     { 
      name=ObjectName(i); 
      if(ObjectType(name)!=OBJ_TREND) continue; 
      PrintFormat("Объект %d:     Имя объекта - %s",i,name); 
      pr=ObjectGetValueByShift(name,0);
      PrintFormat("Объект %d:     Цена - %.5f",i,pr);
      
     } 
  }
 

Nous avons une tâche à accomplir. Les données des indicateurs sur les échelles de temps supérieures sont appelées dans le iCustom Expert Advisor. Appelons-les lignes de soutien et de résistance.

Supposons les trois figures x1 x2 x3. Veuillez m'aider à écrire un code qui dessine des lignes avec ces trois chiffres directement dans EA.

J'ai essayé ObjCreate (je veux qu'ils soient dessinés sur un graphique comme des points à chaque tick, mais rien n'a fonctionné).

Pour clarifier, 3 lignes distinctes. Veuillez ne pas vous référer au tutoriel mql4. Partagez simplement le code de travail

Основы тестирования в MetaTrader 5
Основы тестирования в MetaTrader 5
  • 2011.03.28
  • MetaQuotes Software Corp.
  • www.mql5.com
В чем различия между тремя режимами тестирования в MetaTrader 5 и на что обратить внимание? Как происходит тестирование эксперта, торгующего одновременно на нескольких инструментах? Когда и как вычисляются значения индикаторов при тестировании и как обрабатываются события? Как синхронизировать бары с разных инструментов при тестировании в режиме "Только цены открытия"? Статья призвана дать ответы на эти и многие другие вопросы.
 
Artyom Trishkin:

Dans ce fil de discussion, je veux commencer à aider ceux qui veulent vraiment comprendre et apprendre la programmation dans le nouveau MQL4 et qui veulent passer facilement à MQL5 - les langages sont très similaires.

Ce sera un bon endroit pour discuter des tâches, des algorithmes de leur solution et de toute autre question concernant la programmation MT.

J'espère que d'autres participants expérimentés de notre forum se joindront à la discussion sur cette question et que la branche sera intéressante pour tout le monde.


Voici la tâche à accomplir. Pour le conseiller expert iCustom, nous appellerons les données des indicateurs qui se trouvent sur les échelles de temps supérieures. Appelons-les lignes de support et de résistance.

Supposons que les trois figures x1 x2 x3. Veuillez m'aider à écrire un code qui dessine des lignes avec ces trois chiffres directement dans EA.

J'ai essayé ObjCreate (je veux qu'ils soient dessinés sur un graphique comme des points àchaque tick, mais rien n'a fonctionné).

Pour clarifier, 3 lignes distinctes. Veuillez ne pas vous référer au tutoriel mql4. Partagez simplement le code de travail

Основы тестирования в MetaTrader 5
Основы тестирования в MetaTrader 5
  • 2011.03.28
  • MetaQuotes Software Corp.
  • www.mql5.com
В чем различия между тремя режимами тестирования в MetaTrader 5 и на что обратить внимание? Как происходит тестирование эксперта, торгующего одновременно на нескольких инструментах? Когда и как вычисляются значения индикаторов при тестировании и как обрабатываются события? Как синхронизировать бары с разных инструментов при тестировании в режиме "Только цены открытия"? Статья призвана дать ответы на эти и многие другие вопросы.
 
BoBoforex:

Nous avons une tâche à accomplir. Les données des indicateurs sur les échelles de temps supérieures sont appelées dans le iCustom Expert Advisor. Appelons-les lignes de soutien et de résistance.

Supposons les trois figures x1 x2 x3. Veuillez m'aider à écrire un code qui dessine des lignes avec ces trois chiffres directement dans EA.

J'ai essayé ObjCreate (je veux qu'ils soient dessinés sur un graphique comme des points àchaque tick, mais rien n'a fonctionné).

Pour clarifier, 3 lignes distinctes. Je ne ferais pas de lien avec l'amorce mql4. Il suffit de partager le code qui fonctionne.


La fonction

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 30.03.2008                                                     |
//|  Описание : Установка объекта OBJ_HLINE горизонтальная линия               |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    cl - цвет линии                                                         |
//|    nm - наименование               ("" - время открытия текущего бара)     |
//|    p1 - ценовой уровень            (0  - Bid)                              |
//|    st - стиль линии                (0  - простая линия)                    |
//|    wd - ширина линии               (1  - по умолчанию)                     |
//+----------------------------------------------------------------------------+
void SetHLine(color cl, string nm="", double p1=0, int st=0, int wd=1) {
  if (nm=="") nm=DoubleToStr(Time[0], 0);
  if (p1<=0) p1=Bid;
  if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_HLINE, 0, 0,0);
  ObjectSet(nm, OBJPROP_PRICE1, p1);
  ObjectSet(nm, OBJPROP_COLOR , cl);
  ObjectSet(nm, OBJPROP_STYLE , st);
  ObjectSet(nm, OBJPROP_WIDTH , wd);
}

Placez-le en dehors de la fonction void OnTick()

Et ceci est à l'intérieur de void OnTick()

  SetHLine(clrRed,"x1",x1); 
  SetHLine(clrRed,"x2",x2);
  SetHLine(clrRed,"x3",x3);  
 

Aidez-moi, je ne comprends pas pourquoi j'obtiens zéro lors du calcul du tableau VesMass pour les valeurs i>0 ?

   int NumberTotal=3;
   int VesTotal=NumberTotal;//всего веслов в массиве
   double VesMass[];//массив с весами
   ArrayResize(VesMass,VesTotal);



   for(int i=0;i<VesTotal;i++)
     {
      if(i==0)
        {
         VesMass[i]=1;
         Print("VesMass ",i,"=",VesMass[i]);
        }
      if(i>0)
        {
         VesMass[i]=VesMass[i-1]*(4/5);
         Print("VesMass ",i-1,"=",VesMass[i-1]);
         Print("VesMass ",i,"=",VesMass[i]);
        }
     }
 
Alexey Viktorov:
Ce n'est pas un problème de Stop Loss mais de prix ouvert de l'ordre en attente. Si le prix de l'ordre en attente est incorrect, l'erreur est de 130.


J'ai essayé de placer l'ordre en attente dans la double fourchette du prix. Ce n'est qu'alors que l'erreur disparaît. Je ne comprends pas si c'est correct ?

Par exemple, l'ordre BUYSTOP est fixé à 60 points de Bida. Le TakeProfit ne permet pas non plus d'être inférieur à la valeur du spread.

Je ne comprends pas pourquoi il en est ainsi. Il ne fonctionne pas sur le compte réel mais fonctionne en mode démo.

Raison: