mql5 - linea verticale dopo un certo tempo dall'ultimo scambio - pagina 6

 
Penso di averlo trovato - ho allegato il file :)
La linea si sposta secondo l'algoritmo specificato per il numero di ore specificato dalla chiusura dell'ultimo scambio. L'ho spostato non di 1/2/24 ore ma di 1/2/12 ore, perché la giornata intera è troppo per una tregua. In ogni caso, queste variabili saranno spostate in parametri esterni per comodità. Glitch ho annunciato prima con ACID_NW nemmeno guardato, più tardi nel processo di test e possibile rilevamento di nuovi glitch sarà già capire
 
Poi visualizzerò in Comment il tempo di chiusura dell'ultimo trade e il tempo di cui la linea è spostata, cioè quando posso riprendere il trading dopo una pausa. Sembra che dovrebbe essere abbastanza semplice, considerando che le variabili con i dati necessari sono già state create e calcolate - basta convertire il formato da secondi a data, ma per qualche motivo non ha funzionato subito :(
 
renatmt5:
Poi visualizzerò in Comment il tempo di chiusura dell'ultimo trade e il tempo di cui la linea è spostata, cioè quando posso riprendere il trading dopo una pausa. Sembra che dovrebbe essere abbastanza semplice, considerando che le variabili con i dati necessari sono già state create e calcolate - basta convertire il formato da secondi a data, ma per qualche motivo non ha funzionato subito :(
TimeToString()
 

Sergey, grazie! Questo è esattamente quello che ho provato, ma per qualche motivo ho finito con zero. Non mi ci è voluto molto per capire dove ho sbagliato - non credo che sarà un gran problema

 
Ho letto un'altra spiegazione del forum su ACID_NW: "Se alla fine della giornata di trading l'importo dei fondi bonus nel tuo conto supera il limite consentito, l'importo in eccesso sarà automaticamente trasferito al tuo conto bonus. Durante il trasferimento, vedrete le seguenti abbreviazioni nel commento della transazione del saldo: _ACID_NW, dove ACID sta per Automatic Adjustment e NW per Bonus Funds".
Dato che ho un problema con l'indicatore a causa di questo - l'indicatore resetta i dati sull'ultimo trade e sul risultato dell'ultimo giorno, l'opzione più semplice che vedo è semplicemente rimuovere del tutto il denaro bonus dal conto. Ho capito bene, allora per definizione questo _ACID_NW non si verifica? Nel processo di trading, i nuovi fondi bonus non saranno accreditati sul conto trading, ma saranno accreditati sul conto bonus?
 
renatmt5:
Ho anche letto su ACID_NW nella spiegazione del forum"Se alla fine di una giornata di trading l'importo dei fondi bonus nel tuo conto supera il limite consentito, l'importo in eccesso sarà automaticamente trasferito al tuo conto bonus. Durante il trasferimento, vedrete le seguenti abbreviazioni nel commento della transazione del saldo: _ACID_NW, dove ACID sta per Automatic Adjustment e NW per Bonus Funds".
Dato che ho un problema con l'indicatore a causa di questo - l'indicatore resetta i dati sull'ultimo trade e sul risultato dell'ultimo giorno, l'opzione più semplice che vedo è semplicemente rimuovere del tutto il denaro bonus dal conto. Ho capito bene, allora per definizione questo _ACID_NW non si verifica? Nel processo di trading, i nuovi fondi bonus non saranno accreditati sul conto trading, ma saranno accreditati sul conto bonus?

Prenditi il tuo tempo. Esegui lo scriptHistory Deals and Orders.

Inserisci le date From date e To date. Lasciare Information output come predefinito (sarà emesso su File name).

Dopo di che, per vedere e aprire il file di testo, è necessario

  • Passo 1: seleziona il menu File e seleziona "Open Data Folder";
  • Passo 2: Nell'explorer che si apre, vai successivamente alla cartella "MQL5\Files".

Incolla tutte le informazioni dal file nel post come codice (premi Alt+S).

 
Fatto output per un giorno - non può metterlo in codice, troppi caratteri. Fare il backup con un file o restringere l'intervallo a qualche ora per catturare una transazione e il successivoACID_NW?
 

Corretto il glitch, a causa del quale l'indicatore non calcolava il profitto dell' ultima operazione e il giorno dell'ultima operazione in un nuovo giorno. Si scopre che il problema non era nell'operazione_ACID_NW, ma nel fatto che il valore della variabile from_date (data iniziale, da cui è stato caricato lo storico delle offerte) era impostato in modo errato. Nel codice, era descritto come "from_date=iTime(Symbol(),PERIOD_D1,0)", cioè, come ho capito il punto di partenza - inizio del giorno corrente. E dovrebbe essere scaricata la storia per 24 ore, altrimenti i risultati di ieri non sono stati inclusi. Per semplicità, non l'ho fatto per le ultime 24 ore, ma dall'inizio di ieri. 24 ore, e dall'inizio di ieri, cioèfrom_date = iTime(Symbol(),PERIOD_D1,1) - tutto è stato calcolato correttamente!

 

Ragazzi, vi prego di consigliarmi su come emettere il valore della variabile datatime.

Ho una variabile con una stringa datetime last_deal_day=time[rates_total-1]-fromlastdeal_seconds;

Quando emetto il valore di questa variabile Comment("last_deal_day = ",last_deal_day) emetto data e ora come "2019.03.21 02:48:19"
Come posso dividere questo valore in due variabili per emettere data e ora separatamente?

 
renatmt5:

Ragazzi, vi prego di consigliarmi su come emettere il valore della variabile datatime.

La mia variabile è impostata da datetime last_deal_day=time[rates_total-1]-fromlastdeal_seconds;

Quando emetto il valore di questa variabile Comment("last_deal_day = ",last_deal_day) la data e l'ora come "2019.03.21 02:48:19" viene emessa
Come posso dividere questo valore in due variabili per emettere la data e l'ora separatamente?

TimeToString


    Comment(TimeToString(last_deal_day,TIME_DATE)+" "+TimeToString(last_deal_day,TIME_SECONDS)