Errori, bug, domande - pagina 2598

 
I commenti non relativi a questo argomento sono stati spostati in "Tutte le domande dei neofiti su MQL4 e MQL5, aiuto e discussione su algoritmi e codici".
 
Andrey Khatimlianskii:

Perché una posizione i-di per tutto questo? Non riesco proprio a capire come usarlo.

È sufficiente per analizzare i mestieri.

Uso la compensazione interna degli algoritmi. Di conseguenza, ci sono diverse posizioni virtuali, e devono essere regolarmente controllate rispetto alla posizione reale, in modo che non ci siano discrepanze. Inoltre, il commercio viene effettuato su diversi simboli, quindi ci sono diverse posizioni reali.

 
Francuz:

Uso la compensazione interna degli algoritmi. Pertanto, ci sono diverse posizioni virtuali, e devono essere regolarmente controllate rispetto alla posizione reale per evitare discrepanze. Inoltre, il commercio viene effettuato su diversi simboli, quindi ci sono diverse posizioni reali.

Perché la posizione i-di? Con cosa lo controllate?

Gestisci le tue posizioni virtuali? Ottimo, basta calcolare il volume e assicurarsi che sia uguale al volume reale.

A quanto pare, non vedo il compito nel suo insieme.

 
Andrey Khatimlianskii:

Perché una posizione i-d? Con che cosa lo controllate?

Mantenere le vostre posizioni virtuali? Ottimo, basta calcolare il volume e assicurarsi che sia uguale al volume reale.

A quanto pare, non vedo il compito nel suo insieme.

Questo durante il funzionamento normale. Ma quando il terminale si spegne improvvisamente, tutto è perduto. Per questo motivo, ho fatto una protezione contro i fallimenti usando le variabili globali del terminale. Non posso mettere Symbol lì. Così uso invece PositionID. È ancora più conveniente.

Ma abbiamo deviato dall'argomento in questione. L'errore nelle transazioni è stato rilevato. Ma nessuno degli sviluppatori si è preoccupato di rispondere. Le informazioni sono state prese in considerazione o non le hanno nemmeno lette?

 
Francuz:

Questo durante il funzionamento normale. Ma quando il terminale è improvvisamente spento, tutto è perso. Ecco perché l'ho protetto con le variabili globali del terminale. E non si può mettere Symbol lì. Così uso invece PositionID. È ancora più conveniente.

Ma abbiamo deviato dall'argomento in questione. L'errore nelle transazioni è stato rilevato. Ma nessuno degli sviluppatori si è preoccupato di rispondere. Le informazioni sono state prese in considerazione o non le hanno nemmeno lette?

Qual è l'errore?

 
Artyom Trishkin:

Quale errore?

Questo errore:

https://www.mql5.com/ru/forum/1111/page2596#comment_13707304

Accuratamente stabilito che non funziona come indicato nella descrizione ufficiale della struttura:

https://www.mql5.com/ru/docs/constants/structures/mqltradetransaction

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2019.10.29
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
Francuz:

Questo errore:

https://www.mql5.com/ru/forum/1111/page2596#comment_13707304

Accuratamente stabilito che non funziona come indicato nella descrizione ufficiale della struttura:

https://www.mql5.com/ru/docs/constants/structures/mqltradetransaction

posizione

Biglietto della posizione interessata dalla transazione.


Cosa c'è che non va? Ti viene mostrato un biglietto di posizione. Questo è l'ID della posizione. Hai un conto di compensazione - c'è solo una posizione su di esso finché non viene chiuso. Ribaltare una posizione non significa chiuderla.

 
Artyom Trishkin:

posizione

Biglietto della posizione interessata dalla transazione.


Cosa c'è che non va? Il biglietto di posizione vi viene mostrato. Questo è l'ID della posizione. Avete un conto di tipo netting; c'è solo una posizione su di esso finché non viene chiuso. Ribaltare una posizione non significa chiuderla.

Vi sbagliate. Il biglietto di posizione e l'id di posizione sono entità diverse. Sono molto simili, quindi non c'è motivo di confonderli. Nell'enumerazioneENUM_POSITION_PROPERTY_INTEGER, sono chiaramente separati come entità diverse.

 

Il tester MT5 non vede la storia:






storia disponibile nel terminale :



Potete vedere tutti i dettagli del lancio negli screenshot. Grazie a tutti.

 
Francuz:

Vi sbagliate. Il position ticket e il position id sono entità diverse. Sono molto simili, quindi non c'è motivo di confonderli. Nell'enumerazioneENUM_POSITION_PROPERTY_INTEGER, sono chiaramente separati come entità diverse.

Non mi sbaglio nel dire che l'ID della posizione vi viene mostrato. Questo è quello che ho detto per l'ultima volta.

Идентификатор позиции - это уникальное число, которое присваивается каждой вновь открытой позиции и не изменяется в течение всей ее жизни. Соответствует тикету ордера, которым была открыта позиция.

 Идентификатор позиции указывается в каждом ордере (ORDER_POSITION_ID) и сделке (DEAL_POSITION_ID), которая ее открыла, изменила или закрыла. Используйте это свойство для поиска ордеров и сделок, связанных с позицией.

 При развороте позиции в режиме неттинга (единой сделкой in/out) идентификатор позиции POSITION_IDENTIFIER не изменяется. Однако при этом POSITION_TICKET изменяется на тикет ордера, в результате которого произошел разворот. В режиме хеджинга разворот позиции не предусмотрен

Usa solo la tua logica.
Se il numero mostrato non cambia quando la posizione è invertita e rimane lo stesso, può significare solo una cosa - questo numero è un ID di posizione. Guardate l'ordine che ha generato la transazione - non è lo stesso del numero di posizione, il che significa che la posizione è l'ID della posizione.

Questa è la base dalla quale dovreste procedere. Non è un errore nella transazione, ma piuttosto un errore nell'aiuto allora.

E riguardo a questa tua affermazione posso dire - per favore guarda i miei articoli e immagina come potrei scriverli senza uno studio approfondito e una comprensione del soggetto? Capisco perfettamente e conosco la differenza - vi sto solo mostrando esattamente quello che si vede nella rivista.