Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1475

 
Aleksandr Slavskii #:

Come faccio a sapere l'ora di chiusura di una posizione nel tester?

Apro le posizioni 1, 2, 3

Chiudo le posizioni 3, 2, 1

Né nel report del tester né nel tester stesso ho capito come scoprire l'orario di chiusura di una particolare posizione.

Lo stesso vale per il report scritto dal tester, non c'è modo di scoprire l'ora di chiusura di una posizione.


Ho bisogno di scoprire l'ora di apertura e di chiusura di una posizione. Come?

fxsaber in una delle sue librerie scrive: "Grazie agli sviluppatori per aver creato le cache di Tester e per aver aiutato ad aprire i suoi formati.

Sono riuscito a trovare solo il formato dei file opt.

Se qualcuno sa dove sul forum sono stati resi noti i file tst - formato single pass, per favore mi dia un link, forse posso trovare position_ID in essi.

fxsaber se leggi, per favore rispondi.

Cerca un'operazione di uscita dal mercato

ENTRATA NEL MERCATO

Entrata nel mercato

USCITA DAL MERCATO

Uscita dal mercato

INGRESSO_NEL_MERCATO_USCITA

inversione

DEAL_ENTRY_OUT_BY

Chiudere con una posizione contraria

e cercare l'ID della posizione sul biglietto di questa operazione

BIGLIETTO_COMMERCIALE

Biglietto dell'operazione. Un numero unico che viene assegnato a ogni compravendita

lungo

ORDINE

Ordine in base al quale è stata eseguita la transazione.

lungo

ORA_COMMERCIO

Ora di esecuzione della transazione

datetime

DEAL_TIME_MSC

Tempo della transazione in millisecondi dal 01.01.1970

lungo

TIPO_DEL_ATTACCO

Tipo di transazione

ENUM_DEAL_TYPE

DIREZIONE DELLA TRANSAZIONE

Direzione dell'operazione - entrata nel mercato, uscita dal mercato o inversione di tendenza

ENUM_DEAL_ENTRY

DEAL_MAGIC

Numero magico per l'operazione (vedereORDER_MAGIC)

lungo

MOTIVO DELLA TRANSAZIONE

Motivo o fonte della transazione

ENUM_DEAL_REASON

DEAL_POSITION_ID

Identificatore della posizione, alla cui apertura, modifica o chiusura ha partecipato questo deal. Ogni posizione ha un identificatore unico, che viene assegnato a tutte le operazioni eseguite sullo strumento durante la vita della posizione.

lungo


In generale, l'ora di uscita di un'operazione dal mercato è l'ora di chiusura della posizione.

 
Alexey Viktorov #:

Cercare ...

Grazie. Ma non è affatto quello che sto cercando.

A quanto pare non ho formulato correttamente la domanda :(

Mi interessa sapere come estrarre le informazioni sulla posizione da un file ReportTester.xlsx o .tst .

Quello che hai suggerito non è presente nel report.

 
MrBrooklin #:

   //лот = процент риска от баланса / (размер стоплосса * Размер минимального изменения цены в валюте депозита / Минимальный шаг изменения цены в пунктах)
   eLot=AccountInfoDouble(ACCOUNT_BALANCE)*eRisk/100/(MathAbs(ePrice-eStopLoss)*SymbolInfoDouble(eSymbol,SYMBOL_TRADE_TICK_VALUE)/SymbolInfoDouble(eSymbol,SYMBOL_TRADE_TICK_SIZE));
 
Aleksei Stepanenko #:

Grazie, Alexey, per il codice! Domani approfondirò la tua formula.

Saluti, Vladimir.

 
Prego)
Qui il prezzo e la perdita sono prezzi. Se la vostra perdita è in pips, usate i punti.
 
Aleksei Stepanenko #:
Non c'è di che)
Qui il prezzo e la perdita sono prezzi. Se la vostra perdita è in pips, usate i punti.

Alexey, se converto lo stop loss in punti, ottengo un'assurdità. Il fatto è che nello script ho usato una formula trovata su Internet. Non ricordo dove, è stato molto tempo fa. Ho creato una tabella in Excel utilizzando questa formula e l'ho usata quando necessario. Ecco come appare:

Ecco perché mi sono rivolto alla comunità per chiarire quanto sia vera. La formula stessa nella tabella di Exel si presenta così:

лот = (баланс * риск (в %) * 0,01) / (стоп-лосс (в пунктах) * курс валюты (в моем случае в руб.))

Saluti, Vladimir.

 

Vladimir, tutto funziona

input int eLoss=2000;
input double eRisk=5.0;

double eLot=AccountInfoDouble(ACCOUNT_BALANCE)*eRisk/100/(eLoss*SymbolInfoDouble(eSymbol,SYMBOL_POINT)*SymbolInfoDouble(eSymbol,SYMBOL_TRADE_TICK_VALUE)/SymbolInfoDouble(eSymbol,SYMBOL_TRADE_TICK_SIZE));
 
Aleksei Stepanenko #:

Vladimir, tutto funziona

Alexey, mi dispiace, ma non ci siamo capiti. Il fraintendimento è stato più da parte mia. Pensavo che mi stessi consigliando di applicare un punto alla mia funzione. ))

Saluti, Vladimir.

 
Ah, capito)
 
Aleksei Stepanenko #:

Vladimir, tutto funziona

Molte divisioni senza controllare il divisore a zero. Esplosivo.