Vitalie Postolache: Questa è la finestra dove si trovano le schede per le compravendite, la storia, le notizie, ecc. La parola inglese è "Toolbox".
Grazie, non lo sapevo, l'ho fatto. Ora, non posso vedere lo stato delle ultime posizioni. È un peccato, è davvero impossibile fare in modo che l'ultima riga non vada giù?
Yousufkhodja Sultonov: Grazie, non lo sapevo, l'ho implementato. Ora, non posso vedere lo stato degli ultimi articoli. Peccato, non posso programmaticamente fare in modo che l'ultima linea non vada giù?
È possibile, esattamente programmaticamente. Scrivi un indicatore che visualizzi questa linea su tutti i grafici, per esempio.
Gli sviluppatori potrebbero fare in modo che queste informazioni siano duplicate nella barra di stato, o nella barra del titolo della finestra, ma probabilmente non sono interessati.
Grave bug, in quanto riguarda il commercio stesso.
FIBOGroup-MT5 Server, demo, valuta base USD, Netting, build 1525.
Per prima cosa, uno screenshot di "Ordini, compravendite".
Una posizione è stata aperta di 1 lotto e chiusa (non invertita!) di 1,5 lotti.
Il fatto che si tratti di una posizione è confermato dalla schermata "Posizioni".
Ho evidenziato in rosso che c'era anche un errore nel calcolo dello swap (posizione vissuta 1 secondo) e qualche perdita enorme.
Il registro si presenta così
2017.02.09 08:39:14.285 Trades '1013175': exchange buy 1.00 EURUSD at market 2017.02.09 08:39:15.352 Trades '1013175': deal #1542796 buy 1.00 EURUSD at 1.06763 done (based on order #2246162) 2017.02.09 08:39:15.354 Trades '1013175': order #2246162 buy 1.00 / 1.00 EURUSD at 1.06763 done in 1069.212 ms 2017.02.09 08:39:15.354 Trades '1013175': failed modify #2156238 buy 1.50 EURUSD sl: 0.00000, tp: 0.00000 -> sl: 1.06990, tp: 1.07190 [Invalid stops] 2017.02.09 08:39:15.355 Trades '1013175': exchange sell 1.50 EURUSD at market, close #2156238 buy 1.50 EURUSD 1.07090333 2017.02.09 08:39:16.421 Trades '1013175': deal #1542797 sell 1.50 EURUSD at 1.06761 done (based on order #2246163) 2017.02.09 08:39:16.422 Trades '1013175': order #2246163 sell 1.50 / 1.50 EURUSD at 1.06761 done in 1066.734 ms
PositionGetDouble(POSITION_VOLUME) ha restituito 1,5 lotti, invece di 1,0. Si è verificato un errore di arresto non valido, anche se SYMBOL_TRADE_STOPS_LEVEL == 0.
Probabilmente dovrei aggiungere che la posizione è stata chiusa con Request.position = PositionTicket. Cioè, questo parametro non era zero.
Tutto sommato, una BASE che riguarda direttamente il denaro!
Ho capito bene che in questo caso OrderSend ha restituito true quasi istantaneamente, ma sono stati osservati 65 secondi(ENUM_ORDER_STATE)::OrderGetInteger(ORDER_STATE) == ORDER_STATE_STARTED?
A proposito, perché quando piazzo un ordine in sospeso tramite OrderSend, restituisce true immediatamente dopo che lo stato dell'ordine diventa ORDER_STATE_STARTED, invece di aspettare ORDER_STATE_PLACED?
A proposito, perché restituisce true immediatamente quando lo stato dell'ordine diventa ORDER_STATE_STARTED invece di aspettare ORDER_STATE_PLACED quando si piazza un ordine pendente tramite OrderSend?
Non è asincrono OrderSendAsync.
Probabilmente perché è il risultato dell'esecuzione di OrderSend e non il risultato dell'impostazione dell'ordine?
Questa è la finestra dove si trovano le schede per le compravendite, la storia, le notizie, ecc. La parola inglese è "Toolbox".
Grazie, non lo sapevo, l'ho implementato. Ora, non posso vedere lo stato degli ultimi articoli. Peccato, non posso programmaticamente fare in modo che l'ultima linea non vada giù?
È possibile, esattamente programmaticamente. Scrivi un indicatore che visualizzi questa linea su tutti i grafici, per esempio.
Gli sviluppatori potrebbero fare in modo che queste informazioni siano duplicate nella barra di stato, o nella barra del titolo della finestra, ma probabilmente non sono interessati.
OrderSend(NULL,OP_BUYLIMIT,1,SymbolInfoDouble(Symbol(),SYMBOL_ASK)-100*_Point,100,0,0,My Order)
Request.action = TRADE_ACTION_PENDING (5)
Request.magic = 0
Request.order = 0
Request.symbol = Si-3.17
Request.volume = 1.0
Request.price = 59647.0
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_BUY_LIMIT (2)
Request.type_filling = ORDER_FILLING_RETURN (2)
Request.type_time = ORDER_TIME_GTC (0)
Request.expiration = 1970.01.01 00:00:00
Request.comment = My Order
Request.position = 0
Request.position_by = 0
Result.retcode = 10022
Result.deal = 0
Result.order = 0
Result.volume = 0.0
Result.price = 0.0
Result.bid = 0.0
Result.ask = 0.0
Result.comment = Invalid expiration
Result.request_id = 0
Result.retcode_external = 0
Qual è l'errore?
ORDER_TIME_GTC sul simbolo non è supportato
Grave bug, in quanto riguarda il commercio stesso.
FIBOGroup-MT5 Server, demo, valuta base USD, Netting, build 1525.
Per prima cosa, uno screenshot di "Ordini, compravendite".
Una posizione è stata aperta di 1 lotto e chiusa (non invertita!) di 1,5 lotti.
Il fatto che si tratti di una posizione è confermato dalla schermata "Posizioni".
Ho evidenziato in rosso che c'era anche un errore nel calcolo dello swap (posizione vissuta 1 secondo) e qualche perdita enorme.
Il registro si presenta così
2017.02.09 08:39:15.352 Trades '1013175': deal #1542796 buy 1.00 EURUSD at 1.06763 done (based on order #2246162)
2017.02.09 08:39:15.354 Trades '1013175': order #2246162 buy 1.00 / 1.00 EURUSD at 1.06763 done in 1069.212 ms
2017.02.09 08:39:15.354 Trades '1013175': failed modify #2156238 buy 1.50 EURUSD sl: 0.00000, tp: 0.00000 -> sl: 1.06990, tp: 1.07190 [Invalid stops]
2017.02.09 08:39:15.355 Trades '1013175': exchange sell 1.50 EURUSD at market, close #2156238 buy 1.50 EURUSD 1.07090333
2017.02.09 08:39:16.421 Trades '1013175': deal #1542797 sell 1.50 EURUSD at 1.06761 done (based on order #2246163)
2017.02.09 08:39:16.422 Trades '1013175': order #2246163 sell 1.50 / 1.50 EURUSD at 1.06761 done in 1066.734 ms
PositionGetDouble(POSITION_VOLUME) ha restituito 1,5 lotti, invece di 1,0. Si è verificato un errore di arresto non valido, anche se SYMBOL_TRADE_STOPS_LEVEL == 0.
Probabilmente dovrei aggiungere che la posizione è stata chiusa con Request.position = PositionTicket. Cioè, questo parametro non era zero.
Tutto sommato, una BASE che riguarda direttamente il denaro!
Forum sul trading, sistemi di trading automatico e test di strategie di trading
FORTI. Domande sull'esecuzione
fxsaber, 2017.02.09 08:56
Ho capito bene che in questo caso OrderSend ha restituito true quasi istantaneamente, ma sono stati osservati 65 secondi(ENUM_ORDER_STATE)::OrderGetInteger(ORDER_STATE) == ORDER_STATE_STARTED?
A proposito, perché quando piazzo un ordine in sospeso tramite OrderSend, restituisce true immediatamente dopo che lo stato dell'ordine diventa ORDER_STATE_STARTED, invece di aspettare ORDER_STATE_PLACED?
Non è asincrono OrderSendAsync.
A proposito, perché restituisce true immediatamente quando lo stato dell'ordine diventa ORDER_STATE_STARTED invece di aspettare ORDER_STATE_PLACED quando si piazza un ordine pendente tramite OrderSend?
Non è asincrono OrderSendAsync.
Probabilmente perché questo è il risultato di un OrderSend riuscito e non il risultato di un'impostazione dell'ordine riuscita?
ORDER_STATE_STARTED è il risultato di un OrderCheck riuscito.