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

 
LuckyTrader:
L'errore è sparito, con la stessa dicitura, ora è andato in un'altra parte. Appena sopra ho scritto a Igor

inserisci le stampe dove si verifica l'errore, forse puoi risolvere il tuo problema in questo modo.

Non c'è altro modo, ho già spiegato la ragione del tuo errore

 

Ciao, ho deciso di riscrivere l'indicatore da MQL4 a MQL5 e mi sono bloccato in indicatore buffer... Penso di aver inserito tutto ciò di cui avevo bisogno, ma la linea dell'indicatore non è ancora visualizzata!

Ecco un esempio, voglio visualizzare il prezzo di chiusura delle ultime 30 barre, ho anche messo un commento sul buffer, per vedere se è pieno di qualcosa ...

Il buffer si riempie ma il grafico è vuoto e non vedo nessuna immagine (((

Forse le barre sono al contrario in MQL5?)


//+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//|                                                                . |
//|                                                                . |
//+------------------------------------------------------------------+
#property copyright "."
#property link      "."
#property version   "1.00"
#property indicator_chart_window
#property indicator_buffers 8         // Количество буферов индикатора
#property indicator_plots   8         // Количество графических серий

#property indicator_label1 "TestLine" 
#property indicator_type1 DRAW_LINE  
#property indicator_style1 STYLE_SOLID 
#property indicator_width1 1  
#property indicator_color1 Red  
//+------------------------------------------------------------------+
//|                        БУФЕРЫ                                    |
//+------------------------------------------------------------------+
double Buffer1[];
double Buffer2[];
double Buffer3[];
double Buffer4[];
double Buffer5[];
double Buffer6[];
double Buffer7[];
double Buffer8[];
//+------------------------------------------------------------------+
//|                     ПАРАМЕТРЫ БУфЕРА                             |
//+------------------------------------------------------------------+
int OnInit(){                   

SetIndexBuffer(0,Buffer1,INDICATOR_DATA);
PlotIndexSetInteger(0,PLOT_DRAW_TYPE,DRAW_LINE);  
PlotIndexSetInteger(0,PLOT_LINE_WIDTH,1);         
PlotIndexSetInteger(0,PLOT_LINE_COLOR,Blue);   

return(INIT_SUCCEEDED);}
//+------------------------------------------------------------------+
//| Деинициализация                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason){
Comment("");}
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[]){
                
                
for(int Z = 30; Z>=0; Z--) {
Buffer1[Z] = iClose(NULL,0,Z);} 
Comment(Buffer1[0]);               

return(rates_total);}
//+------------------------------------------------------------------+

 
Nikita Zubarov:

Ciao, ho deciso di riscrivere l'indicatore da MQL4 a MQL5 e mi sono bloccato in indicatore buffer... Penso di aver inserito tutto ciò di cui avevo bisogno, ma la linea dell'indicatore non è ancora visualizzata!

Ecco un esempio, voglio visualizzare il prezzo di chiusura delle ultime 30 barre, ho anche messo un commento sul buffer, per vedere se è pieno di qualcosa ...

Il buffer si riempie ma il grafico è vuoto e non vedo nessuna immagine (((

Forse le barre sono al contrario in MQL5?)


La numerazione delle barre in MQL5 è invertita

for(int Z = rates_total-50; Z<rates_total; Z++)


l'indicizzazione può essere cambiata conhttps://www.mql5.com/ru/docs/array/arraysetasseries
Документация по MQL5: Операции с массивами / ArraySetAsSeries
Документация по MQL5: Операции с массивами / ArraySetAsSeries
  • www.mql5.com
//| Custom indicator initialization function                         | //| Custom indicator iteration function                              |
 
Igor Makanu:

La numerazione delle barre in MQL6 è invertita


potete cambiare l'indicizzazione usandohttps://www.mql5.com/ru/docs/array/arraysetasseries

Grazie, ho aggiunto una linea e ha iniziato a mostrarsi normalmente!

ArraySetAsSeries(Buffer1,true); 
ma credo che la numerazione delle barre sia la stessa da destra a sinistra, solo i buffer vanno all'indietro....
 
Nikita Zubarov:

Grazie, ho aggiunto una linea e sta iniziando ad apparire correttamente!

ma mi sembra che la numerazione delle barre sia la stessa da destra a sinistra, solo i buffer vanno all'indietro....

In 4, la barra numero 0 è la barra più a destra.

In 5, la barra #0 è la barra più a sinistra.

per impostazione predefinita, l'indicizzazione dei buffer degli indicatori è la stessa delle serie temporali

se usate ArraySetAsSeries(), sarà applicato solo a un array - nel vostro esempio all'array buffer dell'indicatore Buffer1, per un calcolo corretto dovreste applicarlo anche alla chiusura

ArraySetAsSeries(Buffer1,true); 
ArraySetAsSeries(close,true); 
for(int Z = 30; Z>=0; Z--) 
{
Buffer1[Z] = сlose[i];
} 

o cambiare il ciclo come descritto sopra

 
Salve, potete per favore consigliarmi se voglio che il mio EA apra una posizione su un simbolo diverso dal grafico corrente.
OrderSend(MarketInfo("EURUSD",MODE_ASK), OP_BUY, Lots, Ask, Slip, 0, 0, "", Magic, 0, Blue)
Ho ragione? Correggetemi se non è così
 
Averman:
Salve, potete per favore consigliarmi se voglio che il mio EA apra una posizione su un simbolo diverso dal grafico corrente.
OrderSend(MarketInfo("EURUSD",MODE_ASK), OP_BUY, Lots, Ask, Slip, 0, 0, "", Magic, 0, Blue)
Ho ragione? Correggetemi se non è così

Certo che non è giusto.

OrderSend("EURUSD", OP_BUY, Lots, MarketInfo("EURUSD",MODE_ASK), Slip, 0, 0, "", Magic, 0, Blue) 
Se io non ho fatto un errore da qualche parte, l'avete fatto voi. Ma in ogni caso, il significato dovrebbe essere comprensibile.
 
MQL6 è già apparso, qualcuno ha testato questa shell?
 
Seric29:
MQL6 è già apparso, qualcuno ha testato questa shell?

Oggi è il 1° aprile?

 
Alexey Viktorov:

Non è il 1° aprile?

E ho iniziato a cercare su Google)).

... ha trovato un sito web mql6 di una pagina e un link a un forum su mql5.com

Motivazione: