Problema con conversione implicita da 'number' a 'string' e da 'string' a 'datetime' in MQL5

 

Titolo del Post:

Problema con conversione implicita da 'number' a 'string' e da 'string' a 'datetime' in MQL5

Contenuto del Post:

cpp
Copia codice
void OnTick() { // Codice per estrarre valori massimi, minimi e di chiusura double Highs[10]; double Lows[10]; double Closes[10]; int start = 0; int count = 10; if(CopyHigh(NULL, PERIOD_D1, start, count, Highs) < count || CopyLow(NULL, PERIOD_D1, start, count, Lows) < count || CopyClose(NULL, PERIOD_D1, start, count, Closes) < count) { Print("Errore durante l'estrazione dei dati delle candele!"); return; } if (Closes[0] < Lows[1]) { double BuyStopLevel = Highs[0]; double SL_Buy = BuyStopLevel - SL_Pips * _Point; if(trade.BuyStop(0.1, BuyStopLevel, SL_Buy, 0, ORDER_TIME_DAY, 0, "BuyStop Order")) { Print("Buy Stop inserito a livello: " + BuyStopLevel + " con SL a: " + SL_Buy); } } } void ManageOpenPositions() { datetime currentTime = TimeCurrent(); datetime sessionCloseTime = TimeToString(currentTime, TIME_DATE) + " " + CloseHour; if (currentTime >= sessionCloseTime) { // Codice per chiudere le posizioni } }

Descrizione del Problema:

Sto cercando di risolvere due errori di conversione implicita nel mio codice MQL5:

  1. Conversione implicita da number a string : Si verifica durante la concatenazione di numeri con stringhe nella funzione Print .
  2. Conversione implicita da string a datetime : Si verifica quando cerco di convertire una stringa in datetime per confronti temporali.

Ho provato ad usare DoubleToString() e StringToTime() , ma continuo a ricevere errori. Qualche suggerimento su come risolvere queste conversioni nel modo corretto?

Grazie in anticipo!

 
Ciao.
Non capisco cosa intendi fare...

datetime sessionCloseTime = TimeToString(currentTime, TIME_DATE)

Assegni una stringa ad un tipo "datetime"?