Errori, bug, domande - pagina 1789

 
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.

 
Cosa c'è che non va?
AccountInfoString(ACCOUNT_SERVER) = MetaQuotes-Demo

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
 
fxsaber:
Qual è l'errore?
ORDER_TIME_GTC sul simbolo non è supportato
 
A100:
ORDER_TIME_GTC sul simbolo non è supportato
Grazie!
 

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!

 

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.

 
fxsaber:

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?
 
Artyom Trishkin:
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.
 
fxsaber:
ORDER_STATE_STARTED è il risultato di un OrderCheck riuscito.
E quando un ordine è già stato fatto, qualcosa viene restituito?
Motivazione: