Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1096
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Ho il tempo e il prezzo dei punti A e B
Come faccio a sapere l'ora e il prezzo del punto C? È nel mezzo tra A e B.
Non riesco a trovare un esempio da nessuna parte
Ho il tempo e il prezzo dei punti A e B
Come faccio a sapere l'ora e il prezzo del punto C? È nel mezzo tra A e B.
Non riesco a trovare un esempio da nessuna parte.
Tempo C = Tempo B - ((Tempo B - Tempo A) / 2)
Prezzo al tempo C
Tempo C = Tempo B - ((Tempo B - Tempo A) / 2)
Prezzo per tempo C
Controllato, a volte ho un fine settimana)
C'è un modo per scoprire il centro nella linea stessa?
Ecco la mia linea
Come si fa a sapere il biglietto dell'ultimo ordine aperto? Non funziona così:
Cosa vuoi sapere esattamente? Dobbiamo distinguere chiaramente tra i termini ORDER, ORDER e POSITION.
Secondo: Avete subito causato confusione nominando gli oggetti della classe CTrade "order_1" " "order_2". Chiamavano gli oggetti della classe CTrade "m_trade_1" e "m_trade_2". Non influisce sull'usabilità, ma aggiunge molta confusione.
Terzo: il metodoPositionClose non funzionerà solo perché gli passate un ticket di posizione uguale a zero (e li inizializzate con zero in OnInit()) - Tali condizioni ideali, quando la prima posizione ha un biglietto "0", possono essere ottenute solo nel tester.
Quarto: Il metodoBuy
Nota
Il completamento con successo del metodo Buy(...) non significa sempre un'operazione di trading riuscita. Si dovrebbe controllare il risultato dell'esecuzione della richiesta di compravendita (codice di ritorno del server di compravendita) chiamando il metodoResultRetcode() e ilvalore restituito dal metodoResultDeal().
MetodoResultDeal()
Ottiene il biglietto READ.
Cosa vuoi sapere esattamente? È necessario distinguere chiaramente tra i termini ORDER, ORDER e POSITION.
In secondo luogo, avete immediatamente causato confusione nominando gli oggetti della classe CTrade con le parole "order_1" e "order_2". Chiamavano gli oggetti della classe CTrade "m_trade_1" e "m_trade_2". Non influisce sull'usabilità, ma aggiunge molta confusione.
Terzo: il metodoPositionClose non funziona solo perché gli passate un ticket di posizione uguale a zero (e li inizializzate con zero in OnInit()) - Tali condizioni ideali, quando la prima posizione ha un biglietto "0", possono essere ottenute solo nel tester.
Quarto: Il metodoBuy
Nota
Il completamento con successo del metodo Buy(...) non significa sempre un'operazione di trading riuscita. Si dovrebbe controllare il risultato dell'esecuzione della richiesta di compravendita ( codice di ritorno del server di compravendita) chiamando il metodo ResultRetcode() e ilvalore restituito dal metodoResultDeal().
MetodoResultDeal()
Ottiene il biglietto RECEIVED.
Grazie! L'ho già capito
in generale, il problema era dovuto all'abbondanza di informazioni, pettegolezzi e opportunità.... era sicuro che non sarei stato in grado di catturare un biglietto in Result(), perché l'evento OnTradeTransaction() viene ricordato ogni tanto ... e si comincia!
Attualmente ci sto lavorando con MT5 tester, sto solo cercando esempi riproducibili, non sto parlando del codice funzionale - solo un tester per ora
grazie ancora per il vostro aiuto!
questo codice può ottenere i biglietti degli ultimi ordini nel tester:
Grazie! L'ho già capito.
in generale il problema era dovuto all'abbondanza di informazioni, pettegolezzi e possibilità.... era sicuro che non potevo prendere il biglietto in Result(), perché l'evento OnTradeTransaction() viene ricordato ogni tanto ... e si comincia!
Attualmente ci sto lavorando con MT5 tester, sto solo cercando esempi riproducibili, non sto parlando del codice funzionale - solo un tester per ora
grazie ancora per il vostro aiuto!
Tale codice può ottenere i tick degli ultimi ordini nel tester:
Sì, usando ResultOrder si ottiene il biglietto d'ordine.
Sì, con ResultOrder possiamo ottenere un biglietto per l'ordine.
Ok, ora non ho nessun problema, ma è apparso un altro problema quando uso CTrade: ho un ordine memorizzato e posso chiuderlo usando PositionClose(m_ticket)
In MQL4, era molto facile scoprire se l'ordine è chiuso o no. L'ho selezionato usando OrderSelect() e ho controllato if(OrderCloseTime()>0) - se il tempo di chiusura non è uguale a 0, l'ordine è chiuso
Come faccio a sapere se un ordine è chiuso usando SB CTrade?
OK, ora non ho problemi, ma è apparso un altro problema quando uso CTrade: ho un ticket di ordini memorizzato e posso chiuderlo usando PositionClose(m_ticket)
In MQL4, era abbastanza semplice: selezionavo l'ordine tramite OrderSelect() e controllavo se(OrderCloseTime()>0) - se il tempo di chiusura non è uguale a 0, l'ordine viene chiuso
come faccio a sapere che l'ordine è chiuso usando SB CTrade?
Dimenticate l'ordine! C'è una posizione!
Ho chiesto specificamente che cosa volete: un ORDINE, una PRESA O una POSIZIONE? Non confondete la terminologia. Dopo l'esecuzione dell'ordine di compravendita, appare la POSIZIONE, non l'ORDINE!
Quindi, prima descrivete a parole quello che state facendo e quello che volete ottenere. Invece di un ORDINE, usate "ordine di acquisto" e "ordine di vendita". Questo si traduce in una posizione "BUY" o "SELL".
OK, ora non ho problemi, ma è apparso un altro problema quando uso CTrade: ho un ticket di ordini memorizzato e posso chiuderlo usando PositionClose(m_ticket)
In MQL4, era molto facile scoprire se l'ordine è chiuso o no. L'ho selezionato usando OrderSelect() e ho controllato if(OrderCloseTime()>0) - se il tempo di chiusura non è uguale a 0, l'ordine è chiuso
Come faccio a sapere se un ordine è chiuso usando SB CTrade?
Tralasciando il fatto che un ticket di posizione di solito corrisponde a un ticket d'ordine, ma non sempre, è possibile utilizzare la funzione PositionSelectByTicket senza SB
Posso sostituire la mia formula di calcolo in questo codice di calcolo dell'indicatore?
Per esempio open/2