Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1435

 

Renat, per favore dai una raccomandazione o qualsiasi altro commento

su questioni difficili per me, nell'ultima paginahttps://www.mql5.com/ru/forum/160683/page1434#comment_21634884

stampe del robot che posso fornire da 3 treminali, ci sono 2 passaggi in loro
 

Si prega di indicare come aggiungere fondi al suo conto e come prelevare fondi (dove si trovano i pulsanti di ricarica e di prelievo)

 
feniok83:

Potete dirmi come depositare il vostro conto di trading e come ritirarlo (dove sono i pulsanti di deposito e ritiro)?

Al conto personale sul sito web del broker.

 

Quando si impostano le proprietà del buffer mql5, c'è qualche dipendenza nell'ordine delle proprietà?

SetIndexBuffer(0,Buffer1,INDICATOR_DATA);
SetIndexBuffer(1,Buffer2,INDICATOR_CALCULATIONS);
SetIndexBuffer(2,Buffer3,INDICATOR_DATA);

O prima specificare la data, poi i calcoli?

SetIndexBuffer(0,Buffer1,INDICATOR_DATA);
SetIndexBuffer(1,Buffer2,INDICATOR_DATA);
SetIndexBuffer(2,Buffer3,INDICATOR_CALCULATIONS);

Il tipo di indicizzazione dei buffer cambierà, è chiaro, non lo consideriamo.
Quello che mi interessa è la sequenza delle proprietà stesse.
La sequenza delle proprietà influenza la correttezza o no?

La domanda nasce dalla seguente situazione.
Cerco di calcolare il secondo indicatore con i valori del primo indicatore all'interno di un programma.
Provo a visualizzare il risultato del secondo indicatore in (4 , Buffer5, INDICATOR_DATA)
Ma non può essere visualizzato, semplicemente non appare.
StampoBuffer5[] per controllare, tutto è corretto nelle stampanti. Si scopre che il problema è nella visualizzazione.
Non capisco dove scavare. #property sembrano tutte impostate correttamente.
Buffer1 e
Buffer2 vengono visualizzati, ma Buffer5 non vuole.
Ho provato a usare la proprietà dinamica PlotIndexSetInteger(), stesso risultato.
Buffer5 non viene visualizzato.
Buffer1 eBuffer2 sono impostati come serie e i valori sono registrati for(int i=limit; i>=0; i--)
Buffer5 è impostato come array regolare e i valori sono registrati for(int i=pos; i<total-1; i++)
cioè i valori di tutti i buffer sono scritti da sinistra a destra. Qui non dovrebbero esserci problemi. Nessun errore o avvertimento.
Dove dovrei scavare?

#property indicator_buffers 7
#property indicator_plots   3

//--------------------------------------------------
//indicator1
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrGoldenrod
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

#property indicator_type2   DRAW_LINE
#property indicator_color2  clrGoldenrod
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1

#property indicator_type3   DRAW_NONE
#property indicator_type4   DRAW_NONE

//indicator2
#property indicator_type5   DRAW_ARROW
#property indicator_color5  clrGoldenrod
#property indicator_style5  STYLE_DOT
#property indicator_width5  1

#property indicator_type6   DRAW_NONE
#property indicator_type7   DRAW_NONE

//--------------------------------------------------
//indicator1 buffers
SetIndexBuffer(0, Buffer1,   INDICATOR_DATA);
SetIndexBuffer(1, Buffer2,   INDICATOR_DATA);
SetIndexBuffer(2, Buffer3,   INDICATOR_CALCULATIONS);
SetIndexBuffer(3, Buffer4,   INDICATOR_CALCULATIONS);
//indicator2 buffers 
SetIndexBuffer(4, Buffer5,   INDICATOR_DATA);
SetIndexBuffer(5, Buffer6,   INDICATOR_CALCULATIONS);
SetIndexBuffer(6, Buffer7,   INDICATOR_CALCULATIONS);
 
Roman:

Quando si impostano le proprietà del buffer mql5, c'è qualche dipendenza nell'ordine delle proprietà?

O prima specificare la data, poi i calcoli?

Il tipo di indicizzazione dei buffer cambierà, è chiaro, non lo consideriamo.
Quello che mi interessa è la sequenza delle proprietà stesse.
La sequenza delle proprietà influenza la correttezza o no?

Solo la sequenza del buffer di dati e del buffer di colore influisce sulla correttezza.

In generale, se una build ha 2-3-4 buffer, dovrebbero essere in fila.

Non c'è differenza nel tuo esempio, ma è più bello avere la seconda opzione in modo da non confondere il numero di buffer con il numero di build.

 
Alexey Viktorov:

Solo la sequenza del buffer di dati e del buffer di colore è influenzata.

In generale, se una build ha 2-3-4 buffer, dovrebbero essere in fila.

Non c'è differenza nel tuo esempio, ma è più bello avere la seconda opzione in modo da non confondere il numero di buffer con il numero di build.

Ho impostato questa sequenza di proprietà del buffer

#property indicator_buffers 7
#property indicator_plots   3

//--------------------------------------------------
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrGoldenrod
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

#property indicator_type2   DRAW_LINE
#property indicator_color2  clrGoldenrod
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1

#property indicator_type3   DRAW_ARROW
#property indicator_color3  clrGoldenrod
#property indicator_style3  STYLE_DOT
#property indicator_width3  1

#property indicator_type4   DRAW_NONE
#property indicator_type5   DRAW_NONE
#property indicator_type6   DRAW_NONE
#property indicator_type7   DRAW_NONE

//--------------------------------------------------
//indicator1 buffers
SetIndexBuffer(0, Buffer1, INDICATOR_DATA);
SetIndexBuffer(1, Buffer2, INDICATOR_DATA);
SetIndexBuffer(2, Buffer5INDICATOR_DATA);
SetIndexBuffer(3, Buffer3, INDICATOR_CALCULATIONS);
SetIndexBuffer(4, Buffer4, INDICATOR_CALCULATIONS);
SetIndexBuffer(5, Buffer6, INDICATOR_CALCULATIONS);
SetIndexBuffer(6, Buffer7, INDICATOR_CALCULATIONS);

Cioè tutti gli INDICATOR_DATA visualizzati prima, poi tutti gli INDICATOR _CALCULATIONS
#property è modificato in sequenza
e oh mio Dio, tutti e tre i buffer sono visualizzati.
Si scopre che c'è una dipendenza, prima mettiamo tutta la data, poi tutti i calcoli.

 
Roman:

Ho impostato la sequenza delle proprietà del buffer come segue

cioè prima tutti gli INDICATOR_DATA visualizzati, poi tutti gli INDICATOR _CALCULATIONS
#proprietà modificata in sequenza
e oh mio Dio, tutti e tre i buffer sono visualizzati.
Si scopre che c'è una dipendenza, prima metti tutta la data, poi tutti i calcoli.

Non l'ho sperimentato, ma penso che sia possibile farlo funzionare anche con buffer di mappatura dichiarati in modo incoerente. Lo sperimenterò se mi annoio.(se non lo dimentico).

Solo queste righe

#property indicator_type4   DRAW_NONE
#property indicator_type5   DRAW_NONE
#property indicator_type6   DRAW_NONE
#property indicator_type7   DRAW_NONE
non sono necessari. I buffer 4-7 sono dichiarati come ausiliari e non sono in alcun modo legati alle costruzioni.
 
Alexey Viktorov:

Non ho sperimentato questo, ma penso che sia possibile farlo funzionare anche con buffer di mappatura dichiarati in modo incoerente. Lo sperimenterò se mi annoio.(se non lo dimentico).

Solo queste linee

Li considero inutili. I buffer 4-7 sono dichiarati come ausiliari e non hanno alcuna relazione con le costruzioni.

Ho provato a commentare

#property indicator_type4   DRAW_NONE
#property indicator_type5   DRAW_NONE
#property indicator_type6   DRAW_NONE
#property indicator_type7   DRAW_NONE

e la visualizzazione di tutte e tre le costruzioni è diventata errata.
Li ho scomposti e tutto è tornato alla normalità.
Si scopre che il compilatore ne ha bisogno.

 
Roman:

Si scopre che c'è una dipendenza, mettendo prima tutta la data, poi tutti i calcoli.

Sì, e anche la sequenza dei buffer regolari (istogrammi - frecce - linee) è importante.
Ho sprecato alcune ore di recente per cercare un "bug" - perché i buffer semplici non erano tutti visualizzati sul grafico.

Quando ci sono decine di buffer, aggiungerne uno nuovo è una seccatura.

 
Taras Slobodyanik:

Sì, e anche la consistenza dei buffer regolari (istogrammi-frecce-line) è importante.
Recentemente ho passato alcune ore a cercare un "bug" - perché i buffer semplici non venivano tutti visualizzati sul grafico.

Quando ci sono decine di buffer è una seccatura aggiungerne uno nuovo.

Sì, la logica del linguaggio con buffer di indicatori non è la migliore. Da qualche parte ho visto che i buffer indicatori in µl richiedono una descrizione completa nella sequenza corretta. E questo è corretto e non conveniente.