Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 539

 

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Bug, bug, domande

comp, 2016.03.23 09:49

Come faccio a conoscere il periodo del grafico per ChartID?ChartGetInteger non permette di farlo in una sola azione.

Finora ho trovato una soluzione di stampella salvando un modello e analizzando il periodo in esso.

Come scoprirlo normalmente?

UsaChartPeriod

ChartPeriod

Restituisce il valore delperiodo del grafico specificato.

ENUM_TIMEFRAMESChartPeriod(
longchart_id=0// ID del grafico
);

Parametri

chart_id=0

[ID grafico. 0 significa il grafico corrente.

Valore restituito

Valore del tipoENUM_TIMEFRAMES. Se non c'è un grafico, viene restituito 0.

 
Karputov Vladimir:

UsaChartPeriod

Grazie.
 

Buon pomeriggio!

Come si può determinare lo stato del pannello di trading con un clic (aperto o chiuso)?

 
Dimmi come cercare le domande sull'argomento giusto in questo thread per principianti. Il thread è diventato un enorme strato di domande e risposte e quindi non è più possibile cercare manualmente. Se hai già esitato a fare una domanda, potrebbe essere già stata risposta qui molto tempo fa, ma la ricerca viene fatta in tutto il sito e non in questa particolare sezione "per principianti" ?
 
Alexander:
Dimmi come cercare le domande sull'argomento giusto in questo thread per principianti. Il thread è diventato un enorme strato di domande e risposte e quindi la ricerca manuale non è più possibile. Fare una domanda già esita, forse è già stato risposto qui molto tempo fa, e la ricerca viene fatta in tutto il sito e non in questa particolare sezione "per principianti" ?

Digitare in una ricerca su google: search site:https://www.mql5.com/ru/forum/6343

"Ricercabile" è quello che stai cercando.

 
Domanda sul linguaggio µl4 - Perché la funzione"create object" non funziona durante l'ottimizzazione, quando si usa un oggetto per memorizzare i dati di diverse variabili, risulta essere 20 volte più veloce di quando si usa la funzione openfail->failride->failclose, che rallenta molto l'ottimizzazione e i test?
 

Buon pomeriggio!

Non riesco a capire come elaborare le barre per due ore, diciamo dalle 15 alle 17 ora del server, per le ultime 250 sessioni di trading.

Potresti darmi un suggerimento concettuale?

mql5

 
Stairway_2_7:

Buon pomeriggio!

Non riesco a capire come elaborare le barre per due ore, diciamo dalle 15 alle 17 ora del server, per le ultime 250 sessioni di trading.

Potresti darmi un suggerimento concettuale?

mql5

Usare le funzioni con la richiesta di tempo

int  CopyOpen( 
   string           symbol_name,     // имя символа 
   ENUM_TIMEFRAMES  timeframe,       // период 
   datetime         start_time,      // с какой даты 
   datetime         stop_time,       // по какую дату 
   double           open_array[]     // массив для копирования цен открытия 
   );
 

Sergey,

grazie per la risposta!

Per il mio compito è più conveniente

void OnStart()

{

datetime start =StringToTime("2016.03.25 15:00");

datetime stop =StringToTime("2016.03.25 15:55");

MqlRates tassi[];

ArraySetAsSeries(rates,true);

int copied=CopyRates(_Symbol,PERIOD_M5,start,stop,rates);

se(copiato>0)

{

Stampa("Barre copiate: "+copiato);

string format="open = %G, high = %G, low = %G, close = %G, volume = %d";

stringa fuori;

int size=fmin(copiato,10);

for(int i=0;i<size;i++)

{

out=i+": "+TimeToString(rates[i].time);

out=out+"+StringFormat(format,

tassi[i].open,

tassi[i].high,

tassi[i].low,

tassi[i].close,

tassi[i].tick_volume);

Stampa (out);

}

}

else Print("Failed to get historical data on symbol ",Symbol());

}

Come posso rimuovere il sabato e la domenica?

Più precisamente, fare un'operazione simile per gli ultimi, diciamo, 250 giorni di trading?

 
Stairway_2_7:

Sergey,

grazie per la risposta!

Per il mio compito è più conveniente

void OnStart()

{

datetime start =StringToTime("2016.03.25 15:00");

datetime stop =StringToTime("2016.03.25 15:55");

MqlRates tassi[];

ArraySetAsSeries(rates,true);

int copied=CopyRates(_Symbol,PERIOD_M5,start,stop,rates);

se(copiato>0)

{

Stampa("Barre copiate: "+copiato);

string format="open = %G, high = %G, low = %G, close = %G, volume = %d";

stringa fuori;

int size=fmin(copiato,10);

for(int i=0;i<size;i++)

{

out=i+": "+TimeToString(rates[i].time);

out=out+"+StringFormat(format,

tassi[i].open,

tassi[i].high,

tassi[i].low,

tassi[i].close,

tassi[i].tick_volume);

Stampa (out);

}

}

else Print("Failed to get historical data on symbol ",Symbol());

}

Come posso rimuovere il sabato e la domenica?

Per essere più precisi, come fare un'operazione simile per gli ultimi, diciamo, 250 giorni di trading?

Prova a lavorare con questa struttura

struct MqlDateTime 
  { 
   int year;           // год 
   int mon;            // месяц 
   int day;            // день 
   int hour;           // час 
   int min;            // минуты 
   int sec;            // секунды 
   int day_of_week;    // день недели (0-воскресенье, 1-понедельник, ... ,6-суббота) 
   int day_of_year;    // порядковый номер в году (1 января имеет номер 0) 
  };