Mon approche. Le noyau est le moteur. - page 75

 

Unicornis:.

...

Fenêtre de 10 cases à cocher et un tableau de 12 lignes|5 colonnes, première colonne et première ligne de cellules de valeur texte, autres cellules doubles (par exemple, remplissage des 10 dernières barres formées par l'OHLC ligne par ligne).


Code de contrôle dans l'EA :

void OnTick()
  {
   E_Last_10_bars_Current_symbol(Symbol());
   E_Last_10_bars_Current_timeframe(Period());
   E_Last_10_bars_Last_price(Ask);
   //------------------------------------------------------------------
   E_Last_10_bars_1_Open_price(Open[1]);  E_Last_10_bars_1_Close_price(Close[1]);
   E_Last_10_bars_2_Open_price(Open[2]);  E_Last_10_bars_2_Close_price(Close[2]);
   E_Last_10_bars_3_Open_price(Open[3]);  E_Last_10_bars_3_Close_price(Close[3]);
   E_Last_10_bars_4_Open_price(Open[4]);  E_Last_10_bars_4_Close_price(Close[4]);
   E_Last_10_bars_5_Open_price(Open[5]);  E_Last_10_bars_5_Close_price(Close[5]);
   E_Last_10_bars_6_Open_price(Open[6]);  E_Last_10_bars_6_Close_price(Close[6]);
   E_Last_10_bars_7_Open_price(Open[7]);  E_Last_10_bars_7_Close_price(Close[7]);
   E_Last_10_bars_8_Open_price(Open[8]);  E_Last_10_bars_8_Close_price(Close[8]);
   E_Last_10_bars_9_Open_price(Open[9]);  E_Last_10_bars_9_Close_price(Close[9]);
   E_Last_10_bars_10_Open_price(Open[10]);E_Last_10_bars_10_Close_price(Close[10]);
   //------------------------------------------------------------------
   E_Last_10_bars_1_High_price(High[1]);  E_Last_10_bars_1_Low_price(Low[1]);
   E_Last_10_bars_2_High_price(High[2]);  E_Last_10_bars_2_Low_price(Low[2]);
   E_Last_10_bars_3_High_price(High[3]);  E_Last_10_bars_3_Low_price(Low[3]);
   E_Last_10_bars_4_High_price(High[4]);  E_Last_10_bars_4_Low_price(Low[4]);
   E_Last_10_bars_5_High_price(High[5]);  E_Last_10_bars_5_Low_price(Low[5]);
   E_Last_10_bars_6_High_price(High[6]);  E_Last_10_bars_6_Low_price(Low[6]);
   E_Last_10_bars_7_High_price(High[7]);  E_Last_10_bars_7_Low_price(Low[7]);
   E_Last_10_bars_8_High_price(High[8]);  E_Last_10_bars_8_Low_price(Low[8]);
   E_Last_10_bars_9_High_price(High[9]);  E_Last_10_bars_9_Low_price(Low[9]);
   E_Last_10_bars_10_High_price(High[10]);E_Last_10_bars_10_Low_price(Low[10]);
   //------------------------------------------------------------------   
   
  }

Code de la fenêtre dans le langage de balisage :

//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Last 10 bars",    W_TYPE, SETTINGS,   OOI,  W_ICON,1,
//====================================================================================================================
GROUP,A,

__, BOARD, "Symbol:",  EDIT, "Current symbol",  BOARD, "Timeframe:", EDIT, "Current timeframe", W,40, BOARD, "Price:", EDIT, "Last price", 

__, H_LINE,"HL1", W,410,

END_GROUP,
//------------------------------------
i, AT, _X2X, "MF", 10, _Y2Y,"MF", 10,
//-----------
i, X_GAP,10,

i,BOARDS, H,20, END,
//-----------
"Current timeframe",READ_ONLY,  
"Last price",       READ_ONLY, 
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
//Объявляем таблицу:
//----------------------------------------------------------------------------------
GROUP,A, IS_TABLE,  


__,     T_HEADER, "Bar",     C_HEADER, "Open price", C_HEADER, "Close price",  C_HEADER, "High price", C_HEADER, "Low price",     

__,     R_HEADER, "1",  CELL, A,  CELL, A,   CELL, A,  CELL, A,         
__,     R_HEADER, "2",  CELL, A,  CELL, A,   CELL, A,  CELL, A,   
__,     R_HEADER, "3",  CELL, A,  CELL, A,   CELL, A,  CELL, A,     
__,     R_HEADER, "4",  CELL, A,  CELL, A,   CELL, A,  CELL, A,   
__,     R_HEADER, "5",  CELL, A,  CELL, A,   CELL, A,  CELL, A,         
__,     R_HEADER, "6",  CELL, A,  CELL, A,   CELL, A,  CELL, A,   
__,     R_HEADER, "7",  CELL, A,  CELL, A,   CELL, A,  CELL, A,     
__,     R_HEADER, "8",  CELL, A,  CELL, A,   CELL, A,  CELL, A,  
__,     R_HEADER, "9",  CELL, A,  CELL, A,   CELL, A,  CELL, A,         
__,     R_HEADER, "10", CELL, A,  CELL, A,   CELL, A,  CELL, A,   
 
END_GROUP,
//------------------------------------
i, AT, _X2X, "MF", 10, _Y2H,"HL1", 10,
//-----------
i, Y_GAP,-1,
i, X_GAP,-1,
//-----------
i,IS_ZEBRA_STYLE,
//----------------------------------------------------------------------------------
"Bar", W,30,
"Bar", H,30,
"Bar",N_COLOR,(int)C'235,235,0',
//----------------------------------
i,C_HEADERS,H,30,N_COLOR,(int)C'235,0,235', END,
i,R_HEADERS,H,30, N_COLOR,(int)C'0,235,0', END,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP,A,
 
__, V_LINE,"VL1", H,320,

END_GROUP,
//----------------------------------
i,AT,_X2W,"Low price", 10,  _Y2H,"HL1",10,
//----------------------------------
//----------------------------------------------------------------------------------
GROUP,A, 

__, CHECKBOX, "Checkbox 1",  
__, CHECKBOX, "Checkbox 2", 
__, CHECKBOX, "Checkbox 3",  
__, CHECKBOX, "Checkbox 4", 
__, CHECKBOX, "Checkbox 5",  
__, CHECKBOX, "Checkbox 6",  
__, CHECKBOX, "Checkbox 7", 
__, CHECKBOX, "Checkbox 8",  
__, CHECKBOX, "Checkbox 9",
__, CHECKBOX, "Checkbox 10",

END_GROUP,
//----------------------------------
i,AT,_X2W,"VL1",10,  _Y2H,"HL1",10,
//----------------------------------
i,Y_GAP,20,
i,X_GAP,20,
//----------------------------------

//====================================================================================================================
END_WINDOW,

Premier fichier - Expert Advisor.

Le deuxième fichier - installer dans le dossier Incloud (ne pas le modifier ou l'ouvrir).

Le troisième fichier - installer dans le dossier inlude et remplir.

Le quatrième fichier - le moteur. Téléchargez-le sur le graphique en même temps que le conseiller expert.

Dossiers :
 

La table fonctionne. Il peut déjà être utilisé maintenant.

Dans le fichierExternal Connection.mqh, vous devez indiquer ce qu'il faut faire en cas d'activation ou de désactivation des cases à cocher.

C'est tout.

 
Реter Konow:


Le code de contrôle dans l'EA :

Code de la fenêtre dans le langage de balisage :

Premier dossier - EA.

Deuxième fichier - installer dans le dossier inlude (pas besoin de le modifier ou de l'ouvrir).

Le troisième fichier - installer dans le dossier inlude et remplir.

Le quatrième fichier - le moteur. Attachez-le au graphique avec le conseiller expert.

Merci ! Je vais essayer de l'ajouter.

 
Unicornis:

Merci ! Je vais essayer de le faire fonctionner.

Ok. Si vous devez renommer les cases à cocher, écrivez leur nom. Ça devrait être fait en 5 minutes.

 
Реter Konow:


Le code de contrôle dans l'EA :

Code de la fenêtre dans le langage de balisage :

Premier dossier - EA.

Deuxième fichier - installer dans le dossier inlude (pas besoin de le modifier ou de l'ouvrir).

Le troisième fichier - installer dans le dossier inlude et remplir.

Le quatrième fichier - le moteur. Attachez-le au graphique avec les conseillers experts.

Tout d'abord, ne les mettez pas dans le dossier "Include", mais dans le dossier Include\DRIVE\.

Deuxièmement, les fichiers doivent être renommés de 'Connection_Properties.mqh' et 'External_Connection.mqh' en 'External Connection.mqh' et 'Connection Properties.mqh' (au lieu du trait de soulignement, mettez un espace).

Troisièmement:

Le troisième fichier consiste à l'installer dans le dossier inlude et à le remplir.

Qu'est-ce qu'il faut remplir ? Où remplir ? Le remplir avec quoi ?

Quatrièmement, le panneau n'apparaît pas après avoir compilé et lancé le conseiller expert :


Cinquièmement. Si vous deviez mettre ce morceau de code à la fin de Extrenal Connection.mqh :

//----------------------------------------------------------------------------------------------------------------

//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Last 10 bars",    W_TYPE, SETTINGS,   OOI,  W_ICON,1,
//====================================================================================================================
GROUP,A,

__, BOARD, "Symbol:",  EDIT, "Current symbol",  BOARD, "Timeframe:", EDIT, "Current timeframe", W,40, BOARD, "Price:", EDIT, "Last price", 

__, H_LINE,"HL1", W,410,

END_GROUP,
...

Il y aura une erreur

'NEW_WINDOW' - declaration without type External Connection.mqh 265     1

c'est-à-dire que cette macro n'est pas définie.

Peter, épargne le temps et les sentiments de tes futurs utilisateurs. Vous affichez un code qui ne fonctionne pas sans manipulation supplémentaire. Si vous n'avez aucun respect pour votre code, respectez au moins le temps des autres participants !

 
Vasiliy Sokolov:

Tout d'abord, pas dans le dossier "inlude", mais dans le dossier "Include-DRIVE".

Ensuite, les fichiers doivent être renommés de 'Connection_Properties.mqh' et 'External_Connection.mqh' en 'External Connection.mqh' et 'Connection Properties.mqh' (remplacez le trait de soulignement par un espace).

Troisièmement:

Qu'est-ce qu'il faut remplir ? Où remplir ? Le remplir avec quoi ?

Quatrièmement, le panneau n'apparaît pas après avoir compilé et lancé le conseiller expert :


Cinquièmement. Si vous deviez mettre ce morceau de code à la fin de Extrenal Connection.mqh :

Il y aura une erreur

C'est-à-dire que cette macro n'est pas définie.

Peter, épargne le temps et les sentiments de tes futurs utilisateurs. Vous affichez un code qui ne fonctionne pas sans manipulation supplémentaire. Si vous ne respectez pas votre code, respectez au moins le temps des autres participants !

Vasily, pourquoi écrire des bêtises ?

Est-ce que c'est juste un troll ?

Il y a déjà un espace dans le nom du fichier.

Remplir - permet de prescrire les appels de vos fonctions sur l'événement des cases à cocher.

Vous devez mettre l'EA sur la carte, puis le moteur.

Les fichiers doivent être enregistrés exactement dans le dossier inclus.

Vous n'avez pas besoin de mettre quoi que ce soit n'importe où. C'est un autotest.

 
Soyez pratiques, je suis fatigué de devoir supprimer vos déchets. Si vous voulez faire revivre le fumoir, nous pouvons vous envoyer au lavage - vous pourrez vous y défoncer.
 
Vasiliy Sokolov:


Le code de la fenêtre du langage de balisage donné n'est qu'un exemple de la manière de le réaliser. Il n'a pas besoin d'être placé n'importe où. Il est déjà dans le moteur.

Remplissage :

Ouvrez le fichierExtrenal Connection.mqh et définissez vos appels de fonction sur les événements de contrôle.

 
Реter Konow:

Enregistrez les fichiers exactement dans le dossier d'inclusion.

Peter, je suis sur le point de commencer à jurer sur toi d'une mauvaise manière. Voici le code que vous avez posté :

//+------------------------------------------------------------------+
//|                                                 TestApp v1.0.mq4 |
//|                                                      Peter Konow |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Peter Konow"
//+------------------------------------------------------------------+
#include<DRIVE\Connection  Properties.mqh>
#include<DRIVE\External  Connection.mqh> 
//---------------------------------------
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   //------------------------------------  
   EventSetMillisecondTimer(225);
   //------------------------------------
   EventChartCustom(0,INIT_GUI,0,0,NULL);  
   //------------------------------------ 
   return(INIT_SUCCEEDED);
  } 
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   EventChartCustom(0,DEST_GUI,0,0,""); 
//--- destroy timer
   EventKillTimer();
     
  }

Regardez ce qui est surligné en jaune. D'accord ?

Konow reg :

Il y a déjà un espace dans le nom des fichiers.

Peter, téléchargez les fichiers que vous avez postés et voyez comment ils s'appellent. Juste par souci d'intérêt.

Quoi qu'il en soit, après avoir compilé le panneau, je ne le vois pas. Pas du tout. C'est à ça que ressemble la fenêtre :

p.s. Ce n'est pas un trolling.

 
Vasiliy Sokolov:

Peter, je suis sur le point de commencer à te maudire d'une mauvaise manière. Voici le code que vous avez posté :

Regardez ce qui est surligné en jaune. D'accord ?

Peter, téléchargez les fichiers que vous avez postés et voyez comment ils s'appellent. Juste par souci d'intérêt.

En tout cas, après la compilation, je ne vois pas le panneau. Pas du tout. C'est à ça que ressemble la fenêtre :

p.s. Ce n'est pas un trolling.

J'ai un espace dans le nom des fichiers. Je ne sais pas pourquoi ils téléchargent avec un "_".

1. Les fichiers'External Connection.mqh' et 'Connection Properties.mqh' doivent se trouver dans le dossier d'inclusion.

2. Le fichier EA se trouve dans le dossier Expert. Il faut l'ouvrir, le compiler et le sauvegarder.

3. Le moteur doit être enregistré dans le dossier des indicateurs.

4. Faites tourner le moteur et le conseiller expert sur le graphique. C'est tout.

Je m'excuse :

#include<DRIVE\Connection  Properties.mqh>
#include<DRIVE\External  Connection.mqh> 

En effet. J'ai oublié de supprimer la connexion via le dossierDRIVE dans l'EA.

Cela doit être corrigé.