Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1099

 
Igor Makanu:

Grazie!

Sì, è quello che cercavo, se non potevo scrivere in "cinque righe" con SB.

Ma quanto ho capito, che un solo SB CTrade non sarà in grado di risolvere il mio problema? E devo usare anche CPositionInfo? - Se voglio accompagnare 9 posizioni di diversi TF allo stesso tempo?

ZS: sono seduto nell'aiuto MQL5 con smart TV - funzioni commerciali abbastanza ben descritte, l'uso di SatB è sotto una domanda .... Penso che abbia senso usare SB per strategie primitive, un po' più complicate - la funzionalità è insufficiente o non è ovvio usare, forse ho bisogno di più pratica - proverò a "torcere" il SB


Grazie ancora!

Va bene per "aprire-chiudere una posizione" nel tester, o per i codici di formazione come sostituto. Altrimenti, dovreste fare il vostro codice o ereditarlo da CTrade per creare la vostra classe completa per le operazioni di trading tenendo conto di varie sfumature.
Ci sono cose molto più belle a SB - le conosci e le usi.

 
fxsaber:

Non c'è nessun errore, poiché la lista è generata attraverso HistorySelectByPosition.

Sì, ho trascurato che non è una lista completa.

 
Artyom Trishkin:

SB ha cose molto più belle - le conosci e le usi.

quindi queste sono le cose belle che sono fuorvianti! - Speravo che dopo tanti anni gli sviluppatori avessero ripulito e reso la funzionalità prevista, e che io fossi solo un utente che non era in grado di usare 2 click di SB, ma si scopre che non sono l'utente - tristezza, tristezza in generale!

SZY: MQL5 Help è scritto molto abilmente, pieno di ordini ... Ma si dice che - finché non si dimentica l'ordine delle parole, si è senza speranza!

 
Igor Makanu:

quindi queste sono le cose belle che sono fuorvianti! - Speravo che durante tanti anni gli sviluppatori di SB hanno lucidato e reso la funzionalità prevista, e io sono solo un utente che non è stato in grado di utilizzare SB in 2 clic, ma si scopre che non sono l'utente - tristezza-disperazione in generale!!!

SZY: MQL5 Help è scritto molto abilmente, pieno di ordini ... Ma si dice che - finché non si dimentica l'ordine delle parole, si è senza speranza!

Qui è abbastanza semplice. Ordine -> commercio -> posizione. Anche in MQL5 non possiamo evitare gli ordini - sono lì, e sono l'inizio di tutto. Inviamo una richiesta di compravendita al server (è un ordine), il server la accetta/riceve e restituisce il codice. A volte, se la richiesta non è corretta, l'ordine non viene affatto inviato al server - il suo invio è bloccato a livello del terminale. Una volta che l'ordine è stato inviato con successo al server e messo in coda per l'esecuzione, aspettiamo che questo ordine scatti (la sua esecuzione, in altre parole - una transazione) e come risultato di questa transazione (che si tratti di un ordine a mercato o pendente), si forma una posizione (non sempre - su netting, e se c'è una posizione nella stessa direzione, semplicemente si aggiunge volume alla posizione esistente, se la direzione opposta, allora, a seconda del volume della transazione impegnata, la posizione attuale viene o parzialmente chiusa o rollata).

Anche gli ordini hanno il loro biglietto. Così come gli scambi e le posizioni. Ma una posizione ha anche un identificatore. L'identificatore di una posizione sarà sempre uguale al biglietto del suo primo ordine - l'ordine di apertura di questa posizione.

Un ordine a mercato ha solo un biglietto. E la sua proprietà identificatore di posizione non viene riempita fino a quando l'ordine non viene attivato. Cioè solo un ordine storico ha un identificatore di posizione - è compilato al momento della negoziazione - al momento dell'attivazione di quell'ordine. Se si tratta di unordine pendente cancellato, anche il suo identificatore di posizione non è riempito - non c'è stata alcuna negoziazione o posizione rispettivamente.

Il commercio ha un biglietto (il suo ticket), c'è un identificatore dell'ordine - come risultato del quale questo commercio è stato eseguito, e c'è un identificatore di posizione - la posizione che è apparsa come risultato dell'esecuzione di questo commercio o la posizione che è stata modificata come risultato dell'esecuzione di questo commercio

La posizione ha un biglietto, che le viene assegnato quando viene aperta o modificata. Se la posizione è solo aperta, allora il suo biglietto sarà uguale al suo identificatore - un numero di posizione unico, che non cambia durante la vita della posizione. Mentre il ticket di una posizione può cambiare ripetutamente e corrisponde al ticket di un ordine - come risultato dell'attivazione di quell'ordine, appare un nuovo trade che cambia quella posizione - il ticket di quell'ordine è assegnato al ticket della posizione.

Se monitoriamo da vicino tutte queste metamorfosi in una posizione, possiamo facilmente vedere il comportamento della posizione in mql4 durante la sua chiusura parziale - il suo biglietto cambia anche lì.

 
Artyom Trishkin:

Se osservate attentamente tutte queste metamorfosi nella posizione

Grazie! Lo sto guardando per il secondo giorno, ma tutto ciò che serve è la pratica, oggi ho capito il SB...beh, l'ho capito ;)

PS: ti spieghi bene, talento di sicuro!

 
Igor Makanu:

Grazie! Lo sto guardando per il secondo giorno, ma tutto ciò che serve è la pratica, così oggi ho sistemato il SB...beh, l'ho sistemato ;)

PS: ben spiegato, sicuramente un talento!

Felice di aiutare ;)

 
Artyom Trishkin:

..................

Un ordine ha anche il suo biglietto. Così come gli scambi e le posizioni. Ma una posizione ha anche un identificatore. L'identificatore della posizione sarà sempre uguale al ticket del suo primo ordine - l'ordine di apertura di questa posizione.

Un ordine a mercato ha solo un biglietto. E la sua proprietà identificatore di posizione non viene riempita fino a quando l'ordine non viene attivato. Cioè, solo un ordine storico ha un identificatore di posizione - è compilato al momento della transazione - al momento dell'attivazione di quell'ordine. Se si tratta di un ordine pendente cancellato, anche il suo identificatore di posizione non è riempito - non c'è stata alcuna negoziazione o posizione rispettivamente.

Il commercio ha un biglietto (il suo ticket), c'è un identificatore dell'ordine - come risultato del quale questo commercio è stato eseguito, e c'è un identificatore di posizione - la posizione che è apparsa come risultato dell'esecuzione di questo commercio o la posizione che è stata modificata come risultato dell'esecuzione di questo commercio

La posizione ha un biglietto, che le viene assegnato quando viene aperta o modificata. Se la posizione è solo aperta, allora il suo biglietto sarà uguale al suo identificatore - un numero di posizione unico, che non cambia durante la vita della posizione. Mentre il ticket di una posizione può essere cambiato ripetutamente e corrisponde al ticket dell'ordine - come risultato dell'attivazione di questo ordine appare un nuovo trade che cambia questa posizione - il ticket di questo ordine è assegnato al ticket della posizione.

Se monitoriamo da vicino tutte queste metamorfosi in una posizione, possiamo facilmente vedere il comportamento della posizione in mql4 durante la sua chiusura parziale - il suo biglietto cambia anche lì.

Così si scopre che il mismatch è stato ottenuto a causa del ritardo nel trasformare l'ordine in un trade - posizione? Anche nel tester...? È incredibile.

Quindi, dopo aver piazzato l'ordine, dobbiamo ancora assicurarci che la posizione sia aperta... Quanto tempo bisogna aspettare? È per appendere il gufo fino a quando tutte le conversioni sono confermate? O com'è in generale?

 
Сергей Таболин:

Si scopre che il mismatch era dovuto al ritardo nel trasformare l'ordine in un trade - posizione? Anche nel tester...? Che mucchio di stronzate.

Quindi, dopo aver piazzato l'ordine dobbiamo ancora assicurarci che la posizione sia aperta... Quanto tempo bisogna aspettare? È per appendere il gufo fino a quando tutte le conversioni sono confermate? O com'è in generale?

Abbiamo piazzato un ordine di compravendita (abbiamo ricordato il ticket di compravendita) e sollevato il flag di attesa - non appena abbiamo ottenuto un trigger garantito in OnTradeTransaction - tipo di transazione TRADE_TRANSACTION_DEAL_ADD - controlliamo il trade ticket. Se tutto funzionasse insieme - bene.

Questa è la vita reale - gli eventi possono venire con un intervallo diverso, guasti di connessione ... Possono succedere molte cose. Questa è la realtà - non c'è una catena rigida.

 
Vladimir Karputov:

Abbiamo piazzato un ordine di compravendita (ricordato il ticket di transazione) e impostato il flag pendente - non appena OnTradeTransaction ha ricevuto un trigger garantito - tipo di transazione TRADE_TRANSACTION_DEAL_ADD - controlliamo il ticket di transazione. Se tutto funzionasse insieme - bene.

Questa è la vita reale - gli eventi possono venire con un intervallo diverso, guasti di connessione ... Possono succedere molte cose. Questa è la realtà - non esiste una catena rigida.

Beh, questo è essenzialmente l'impiccagione del consigliere... Aspettando la conferma di venire o non venire... Sono in perdita qui... Come posso fare questa attesa? Usare while() ?

 
Сергей Таболин:

Beh, è essenzialmente appendere il consigliere... Aspettando la conferma di venire o non venire... Sono in perdita qui. Come posso fare questa attesa? Usare while() ?

No. Il sonno e il riposo sono categoricamente vietati.

Motivazione: