Questo è il motivo per cui le modalità sincrona e asincrona sono state eseguite in un tempo uguale (il che è logicamente supposto) e il log del terminale riporta che la modalità asincrona è due volte più veloce. Questa è una bugia/errore!
Possiamo concludere.
In modalità asincrona il registro non è completo ed è fuorviante.
prostotrader: Sì, ma questo purtroppo non risolve il problema della latenza....
Non è ancora possibile fare riferimento al registro della modalità asincrona - dovete misurarlo voi stessi. Ed è bene che tu scriva alla SD a questo proposito.
I problemi di frenata sono stati risolti da qualche giorno nella SD. Lo script per la riproduzione veloce è stato pubblicato nel pubblico dominio. Ovviamente gli sviluppatori raggiungeranno una situazione in cui lo script non mostrerà alcun lag prima sul loro banco di prova (che è veloce), poi sui terminali utente (che è lento). Quindi tutto è abbastanza ottimista.
Non è ancora possibile fare riferimento al registro della modalità asincrona - dovete misurarlo voi stessi. Ed è bene che tu scriva alla SD a questo proposito.
I problemi di frenata sono stati risolti da qualche giorno nella SD. Lo script per la riproduzione veloce è stato pubblicato nel pubblico dominio. Ovviamente gli sviluppatori raggiungeranno una situazione in cui lo script non mostrerà alcun lag prima sul loro banco di prova (che è veloce), poi sui terminali utente (che è lento). Quindi tutto è abbastanza ottimista.
Colleghi, consigli su questo punto. Ho sempre usato la politica ORDER_FILLING_RETURN su FORTS, qui ho avuto un compito di testare ORDER_FILLING_FOK.
Ma a volte FOK non funziona, scrive l'errore 4756. Sto usando SB, in particolare per gli acquisti:
bool CTrade::BuyLimit( 1.0, // объем позиции текущий аск, // цена исполнения NULL, // символ 0.0, // цена Stop Loss 0.0, // цена Take Profit ORDER_TIME_DAY, // тип истечения 0, // время истечения ""// комментарий )
Dennis Kirichenko: Colleghi, per favore consigliatevi su questo punto. Ho sempre usato la politica ORDER_FILLING_RETURN su FORTS e ora ho il compito di testare ORDER_FILLING_FOK.
Ma a volte FOK non funziona, scrive l'errore 4756. Sto usando SB, in particolare per gli acquisti:
bool CTrade::BuyLimit( 1.0, // объем позиции текущий аск, // цена исполнения NULL, // символ 0.0, // цена Stop Loss 0.0, // цена Take Profit ORDER_TIME_DAY, // тип истечения 0, // время истечения ""// комментарий )
Grazie per il suggerimento.
4756
Fallito l'invio della richiesta di scambio
Non ha niente a che fare con il riempimento degli ordini.
Traccia il SB, forse vedrai dove si verifica l'errore.
Controllare se il broker supporta il versamento di FOK
//---Filing mode int filling_mode = int(SymbolInfoInteger(a_symbol, SYMBOL_FILLING_MODE));
if((SYMBOL_FILLING_IOC & filling_mode) != SYMBOL_FILLING_IOC) { MessageBox("Символ " + a_symbol + " не поддерживает filling IOC режим исполнения ордеров!", "Ошибка", MB_OK | MB_ICONHAND); return(false); }
if((SYMBOL_FILLING_FOK & filling_mode) != SYMBOL_FILLING_FOK) { MessageBox("Символ " + a_symbol + " не поддерживает filling FOK режим исполнения ордеров!", "Ошибка", MB_OK | MB_ICONHAND); return(false); }
Aggiunto
E guarda nella funzione SB bool CTrade::FillingCheck(const string symbol)
Ora ha senso!
Con l'asincrono, viene scritta solo una riga
corrispondente a questo.
E non c'è nessun'altra riga nel diario di bordo! Quindi corrisponderebbe a questo.
Il registro non è ovviamente completo con l'elaborazione asincrona.
Ma con l'elaborazione sincrona ci sono due linee nel log
2017.02.17 16:20:47.323 Trades '1007932': order #54042531 sell limit 1.00 / 1.00 RTS-3.17 at 121520 done in 15.978 ms
Questo è il motivo per cui le modalità sincrona e asincrona sono state eseguite in un tempo uguale (il che è logicamente supposto) e il log del terminale riporta che la modalità asincrona è due volte più veloce. Questa è una bugia/errore!
Possiamo concludere.
In modalità asincrona il registro non è completo ed è fuorviante.
Si può trarre la conclusione.
In modalità asincrona, il registro non è completo ed è fuorviante.
Sì, ma questo purtroppo non risolve il problema della latenza....
In SD ha scritto molto tempo fa.
Anch'io sono ottimista :)
Ho scritto alla SR molto tempo fa
Le mie domande ricevono una risposta molto rapida. Forse il linguaggio che uso io è più comprensibile per gli sviluppatori rispetto al vostro.
A volte mi è difficile capire cosa intendi.
Ma a volte FOK non funziona, scrive l'errore 4756.
Sto usando SB, in particolare per gli acquisti:
1.0, // объем позиции
текущий аск, // цена исполнения
NULL, // символ
0.0, // цена Stop Loss
0.0, // цена Take Profit
ORDER_TIME_DAY, // тип истечения
0, // время истечения
"" // комментарий
)
Colleghi, per favore consigliatevi su questo punto. Ho sempre usato la politica ORDER_FILLING_RETURN su FORTS e ora ho il compito di testare ORDER_FILLING_FOK.
Ma a volte FOK non funziona, scrive l'errore 4756.
Sto usando SB, in particolare per gli acquisti:
1.0, // объем позиции
текущий аск, // цена исполнения
NULL, // символ
0.0, // цена Stop Loss
0.0, // цена Take Profit
ORDER_TIME_DAY, // тип истечения
0, // время истечения
"" // комментарий
)
4756
Fallito l'invio della richiesta di scambio
Non ha niente a che fare con il riempimento degli ordini.
Traccia il SB, forse vedrai dove si verifica l'errore.
4756
Fallito l'invio della richiesta di scambio
Non ha niente a che fare con il riempimento degli ordini.
Traceroute SB, vedi se puoi vedere dove si verifica l'errore.
Ecco un estratto della cronologia degli ordini e delle transazioni:
Controllare se il broker supporta il versamento di FOK
int filling_mode = int(SymbolInfoInteger(a_symbol, SYMBOL_FILLING_MODE));
if((SYMBOL_FILLING_IOC & filling_mode) != SYMBOL_FILLING_IOC)
{
MessageBox("Символ " + a_symbol + " не поддерживает filling IOC режим исполнения ордеров!", "Ошибка", MB_OK | MB_ICONHAND);
return(false);
}
if((SYMBOL_FILLING_FOK & filling_mode) != SYMBOL_FILLING_FOK)
{
MessageBox("Символ " + a_symbol + " не поддерживает filling FOK режим исполнения ордеров!", "Ошибка", MB_OK | MB_ICONHAND);
return(false);
}
Aggiunto
E guarda nella funzione SB bool CTrade::FillingCheck(const string symbol)
Ecco un estratto della cronologia degli ordini e delle transazioni:
Un limitatore può essere FOK?
Sul forum hanno postato una funzione di selezione automatica del tipo di riempimento.