Il mio approccio. Il nucleo è il motore. - pagina 75

 

Unicornis:.

...

Finestra di 10 caselle di controllo e una tabella di 12 righe|5 colonne, prima colonna e prima riga celle di valore di testo, altre celle doppie (per esempio riempimento OHLC ultime 10 barre formate riga per riga).


Codice di controllo nell'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]);
   //------------------------------------------------------------------   
   
  }

Codice della finestra nel linguaggio di markup:

//-------------------------------------------------------------------------------------------------------------------- 
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,

Primo file - Expert Advisor.

Il secondo file - installare nella cartella Incloud (non è necessario modificare o aprire).

Il terzo file - installare nella cartella inlude e riempire.

Il quarto file - il motore. Caricalo sul grafico insieme all'Expert Advisor.

 

Il tavolo funziona. Può essere usato già adesso.

Nel fileExternal Connection.mqh è necessario prescrivere cosa fare negli eventi di pressione/rifiuto delle caselle di controllo.

Questo è tutto.

 
Реter Konow:


Il codice di controllo nell'EA:

Codice della finestra nel linguaggio di markup:

Primo file - EA.

Secondo file - installare nella cartella inlude (non c'è bisogno di cambiarla o aprirla).

Il terzo file - installare nella cartella inlude e riempire.

Il quarto file - il motore. Attaccalo al grafico insieme all'Expert Advisor.

Grazie! Cercherò di aggiungerlo.

 
Unicornis:

Grazie! Cercherò di farlo funzionare.

Ok. Se hai bisogno di rinominare le caselle di controllo, scrivi i loro nomi. Dovrebbe essere fatto in 5 minuti.

 
Реter Konow:


Il codice di controllo nell'EA:

Codice della finestra nel linguaggio di markup:

Primo file - EA.

Secondo file - installare nella cartella inlude (non c'è bisogno di cambiarla o aprirla).

Il terzo file - installare nella cartella inlude e riempire.

Il quarto file - il motore. Attaccalo al grafico insieme agli Expert Advisors.

Perprima cosa, non metterli nella cartella "Include", ma nella cartella Include\DRIVE\.

In secondo luogo, i file devono essere rinominati da 'Connection_Properties.mqh' e 'External_Connection.mqh' a 'External Connection.mqh' e 'Connection Properties.mqh' (invece del trattino basso metti uno spazio)

Terzo:

Il terzo file deve essere installato nella cartella inlude e compilato.

Cosa riempire? Dove riempire? Riempirlo con cosa?

Inquarto luogo, il pannello non appare dopo aver compilato e lanciato l'Expert Advisor:


Quinto. Se pensate di mettere questo pezzo di codice alla fine di 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,
...

Ci sarà un errore

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

cioè questa macro non è definita.

Peter, risparmia il tempo e i sentimenti dei tuoi futuri utenti. State postando del codice che non funziona senza ulteriori manipolazioni. Se non hai rispetto per il tuo codice, rispetta almeno il tempo degli altri partecipanti!

 
Vasiliy Sokolov:

In primo luogo, non nella "cartella inlude" ma nella cartella Include\DRIVE\.

Insecondo luogo, i file devono essere rinominati da 'Connection_Properties.mqh' e 'External_Connection.mqh' a 'External Connection.mqh' e 'Connection Properties.mqh' (sostituire il trattino basso con uno spazio)

Terzo:

Cosa riempire? Dove riempire? Riempirlo con cosa?

Inquarto luogo, il pannello non appare dopo aver compilato e lanciato l'Expert Advisor:


Quinto. Se pensate di mettere questo pezzo di codice alla fine di Extrenal Connection.mqh:

Ci sarà un errore

cioè questa macro non è definita.

Peter, risparmia il tempo e i sentimenti dei tuoi futuri utenti. State postando del codice che non funziona senza ulteriori manipolazioni. Se non rispetti il tuo codice, rispetta almeno il tempo degli altri partecipanti!

Vasily, perché scrivere sciocchezze?

È solo un trolling?

C'è già uno spazio nel nome del file.

Fill - significa prescrivere le chiamate delle vostre funzioni sull'evento delle caselle di controllo.

Devi mettere l'EA sul grafico e poi il motore.

I file devono essere salvati esattamente nella cartella Incloud.

Non dovete mettere niente da nessuna parte. Questo è un autotest.

 
Gente, siate pratici - sono stanco di dover cancellare la vostra spazzatura. Se vuoi ravvivare la sala fumatori, possiamo mandarti al lavaggio - lì puoi sballarti.
 
Vasiliy Sokolov:


Il codice della finestra del linguaggio di markup dato è solo un esempio di come realizzarlo. Non ha bisogno di essere collocato da nessuna parte. È già nel motore.

Riempimento:

Aprite il fileExtrenal Connection.mqh e impostate le chiamate di funzione sugli eventi di controllo.

 
Реter Konow:

Salvate i file esattamente nella cartella di inclusione.

Peter, sto per iniziare a bestemmiare in malo modo. Ecco il codice che hai postato:

//+------------------------------------------------------------------+
//|                                                 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();
     
  }

Guarda cosa è evidenziato in giallo. Ok?

Konow reg:

C'è già uno spazio nei nomi dei file.

Peter, scarica i file che hai postato e vedi come si chiamano. Solo per l'interesse.

Comunque, dopo aver compilato il pannello non lo vedo. Niente affatto. Ecco come appare la finestra:

p.s. Questo non è trolling.

 
Vasiliy Sokolov:

Peter, sto per iniziare a imprecare contro di te in malo modo. Ecco il codice che hai postato:

Guarda cosa è evidenziato in giallo. Ok?

Peter, scarica i file che hai postato e vedi come si chiamano. Solo per l'interesse.

In ogni caso, dopo la compilazione, non vedo il pannello. Niente affatto. Ecco come appare la finestra:

p.s. Questo non è trolling.

Ho uno spazio nel nome dei file. Perché si scaricano con un "_" non lo so.

1. I file"External Connection.mqh" e "Connection Properties.mqh" dovrebbero essere nella cartella di inclusione.

2. Il file EA si trova nella cartella Expert. Dovrebbe essere aperto, compilato e salvato.

3. Il motore dovrebbe essere salvato nella cartella indicators.

4. Esegui il motore e l'Expert Advisor sul grafico. Questo è tutto.

Mi scuso:

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

Infatti. Ho dimenticato di rimuovere la connessione attraverso la cartellaDRIVE nell'EA

Questo deve essere sistemato.