Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 387

 
alexey1979621:
Merci. Je sais pour l'appel de l'indicateur. Mais les paramètres ajustables de l'indicateur doivent être listés lorsque nous les appliquons en test ou en opération et puisque cet EA ne peut pas être testé dans le testeur (car deux paires sont impliquées dans le trading), nous ne pouvons tout simplement pas choisir ces paramètres sur l'historique.

Quelque chose me dit que vous ne comprenez pas vraiment de quoi nous parlons. Cet indicateur prend des lectures de deux paires de devises différentes, ces paires sont définies dans les paramètres externes de l'indicateur. Et si vous appliquez cet indicateur avec des paramètres par défaut dans différents Expert Advisors sur différentes paires de devises, vous obtiendrez de mauvaises valeurs. Et peu importe que vous le testiez ou l'usurpiez - vous devez prescrire le travail avec l'indicateur correctement !
alexey1979621:
Une autre petite question : nous avons dans deux instruments des trades ouverts soit à la vente soit à l'achat, mais si nous avons besoin qu'un instrument s'ouvre à la vente, et l'autre à l'achat, alors comment ?

La façon dont vous spécifiez les conditions d'ouverture, c'est la façon dont les ordres seront ouverts. Si vous ne savez pas ce que dit l'indicateur, je ne peux pas vous aider.

alexey1979621:
Il y avait 5 EAs qui travaillaient (des frères jumeaux - pour des paires différentes), bien sûr avec des Majics différents.

Dans votre version, le travail avec le Magicien n'est pas spécifié correctement. Les ordres sont ouverts avec le Magik spécifié, mais la vérification des ordres sur le marché est effectuée avec le Magik par défaut. Ça devrait être comme ça :

NumberOfPositions (/*рабочий символ*/, -1, Magic);
 

alexey1979621, pourquoi n'essayez-vous pas d'abord d'écrire un EA sur une paire sans erreur, puis sur des multidevises ?

 

J'essaie d'organiser un tic pour un expert - pas de chance. Le week-end m'a pris par surprise. Comment l'organiser correctement ? Par exemple, nous avons le conseiller expert élémentaire suivant :

int delay = 180;
datetime read_now;
int init(){
   read_now = TimeCurrent() + delay;
}
int start(){
   int how_many_remains = read_now - TimeCurrent();
   Comment(StringConcatenate(
      StringSubstr("-", (how_many_remains%60 >= 0), 0),
      StringSubstr("0", (MathAbs(how_many_remains/60) > 9), 0),
      MathAbs(how_many_remains/60),
      ":",
      StringSubstr("0", (MathAbs(how_many_remains%60) > 9), 0),
      MathAbs(how_many_remains%60)
   ));
   return(0);
}

- comment simuler des ticks et démarrer une minuterie ?

Je comprends que c'est le week-end, mais sur le marché, le calendrier des vacances ne coïncide pas avec celui de la RF, et nous devons quand même travailler...

 
gyfto:

J'essaie d'organiser un tic pour un expert - pas de chance. Le week-end m'a pris par surprise. Comment l'organiser correctement ? Par exemple, nous avons le conseiller expert élémentaire suivant :

- comment simuler des ticks et démarrer une minuterie ?

Je comprends que c'est un week-end, mais sur le marché, le calendrier des vacances ne coïncide pas avec celui de la RF, et il faut quand même travailler...


Pourquoi souffrir pour quelque chose que vous n'avez pas à faire ?

il y aura une sortie officielle des nouvelles versions autour du 20 janvier et...

Il y a un timer implémenté, avec quelle fréquence vous avez besoin avec cela et sera appelé.

Il est préférable de dépenser son énergie à étudier les 5, afin de ne pas avoir des milliers de questions stupides.

 
ALXIMIKS:


Il y a une minuterie mise en place


Il s'agit d'une indication jusqu'au prochain traitement des données. À 03:00, l'analyse est lancée depuis l'EA lui-même par un script tiers, à 00:00, les données sont affichées sur le graphique, et tout est relancé avec le taux de mise à jour des données configuré en secondes. Un affichage du compte à rebours comme celui-ci serait-il plus facile à mettre en œuvre sur un cinq ?
 
Malheureusement, je ne suis pas compétent en la matière, mais j'ai sauvegardé https://forum.mql4.com/ru/59441 pour que vous puissiez le lire à loisir, peut-être vous sera-t-il utile.
 
#property indicator_separate_window
#property indicator_buffers 3
#property  indicator_color1 Gold
#property  indicator_color2 Gold
#property  indicator_color3 Gold
//+---------------------------------------------------------------------+
extern double _N_ = 1; 
extern double _M_ = -1; 
extern int History = 10000;
//+---------------------------------------------------------------------+
int p; 
//+---------------------------------------------------------------------+
double Buf_0[];
double Buf_1[];
double Buf_2[];
double RSI;
double ADX_Main; 
double ADX_dD;
double ADX_DD;
double price;
//+---------------------------------------------------------------------+  
bool R_adx;
bool R_time;
bool R_adx_time;
bool R_rsi_time;
bool R_rrsi_time;
//+---------------------------------------------------------------------+
int init()
{
//+---------------------------------------------------------------------+  
SetIndexBuffer(0,Buf_0);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
//+---------------------------------------------------------------------+  
SetIndexBuffer(1,Buf_1);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
//+---------------------------------------------------------------------+  
SetIndexBuffer(2,Buf_2);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
//+---------------------------------------------------------------------+  
return;
}
//+---------------------------------------------------------------------+
int start()
{
//+---------------------------------------------------------------------+  
for(
p=0;
p<History;
p++)
{
//+---------------------------------------------------------------------+  
price = Bid;
//+---------------------------------------------------------------------+  
ADX_Main    = iADX(Symbol(),0,25,0,0,p);
ADX_dD      = iADX(Symbol(),0,25,0,1,p);
ADX_DD      = iADX(Symbol(),0,25,0,2,p);
RSI         = iRSI(Symbol(),0,25,0,p);
//+---------------------------------------------------------------------+  
R_adx         = (ADX_DD - ADX_dD) * ADX_Main; 
R_time        = Seconds() * Minute() * Hour(); 
//+---------------------------------------------------------------------+  
R_adx_time    = _N_ * (R_time + R_adx); 
R_rsi_time    = _N_ * (R_time + RSI);
R_rrsi_time   = _M_ * (R_time + RSI);
//+---------------------------------------------------------------------+  
Buf_0[p] = R_adx_time;
Buf_1[p] = R_rsi_time;
Buf_2[p] = R_rrsi_time;
//+---------------------------------------------------------------------+  
return; 
}
}
//+---------------------------------------------------------------------+  
Rebonjour !
Bonne année à tous !

Une autre rumeur pour de l'aide.
L'indicateur "H" ne montre aucune ligne.

Je n'arrive pas à comprendre de quoi il s'agit.

Le code pour l'indicateur "H" est indiqué ci-dessus.
 
ALXIMIKS:
J'ai sauvegardé le site https://forum.mql4.com/ru/59441 pour le lire à loisir, peut-être qu'il vous sera utile.

J'ai déjà implémenté l'analyse syntaxique elle-même, pourquoi ? Je suis intéressé par la façon d'émuler le tic-tac pour faire fonctionner cette minuterie. J'ai besoin de temps pour me recycler en mql5 que je vais perdre et le temps c'est de l'argent.
 
Link_x:
Rebonjour !
Bonne année à tous !

Une autre rumeur pour de l'aide.
L'indicateur "H" ne montre aucune ligne.

Je n'arrive pas à comprendre de quoi il s'agit.

Le code pour l'indicateur "H" est indiqué ci-dessus.

Les valeurs extrêmes sortent quelque chose à la suite du calcul...
 
evillive:

Les valeurs exceptionnelles sortent quelque chose à la suite du calcul...
L'important est qu'ils soient affichés. :)

R_adx_time    = _N_ * (R_time + R_adx) / 500; 
R_rsi_time    = _N_ * (R_time + RSI) / 50 0;
R_rrsi_time   = _M_ * (R_time + RSI) / 50 0;
Faites cela et les valeurs limites s'évaporent, mais le problème demeure.