Erros, bugs, perguntas - página 1804
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
O sono só é necessário quando o símbolo não está no Market Watch. Para todos os símbolos que estão no Market Watch antes (e durante) o indicador, não são necessários deslizes.
1531 - os travões Metaquotes-Demo não desapareceram.
Pedido e resposta
Request.magic = 0
Request.order = 0
Request.symbol = #KO
Request.volume = 1.0
Request.price = 40.31
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_BUY (0)
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 Position
Request.position = 0
Request.position_by = 0
Result.retcode = 10009
Result.deal = 117613087
Result.order = 133997293
Result.volume = 1.0
Result.price = 40.31
Result.bid = 40.28
Result.ask = 40.31
Result.comment = Request executed 345.781 + 26.356 ms
Result.request_id = 5712
Result.retcode_external = 0
A OrderSend levou 345 ms, e foram precisos 26 ms para que a ordem e negócio correspondente ficassem disponíveis na história. Isto é, uma sincronização muito lenta que nunca tinha visto antes.
Diário de bordo padrão
2017.02.14 22:26:46.852 Trades '5122740': accepted prices for #KO 1.00
2017.02.14 22:26:46.852 Trades '5122740': answer prices for #KO 1.00 40.28 / 40.31 in 86.046 ms (0.190 ms on server)
2017.02.14 22:26:46.852 Trades '5122740': request buy 1.00 #KO at 40.31
2017.02.14 22:26:47.107 Trades '5122740': accepted request buy 1.00 #KO at 40.31
2017.02.14 22:26:47.107 Trades '5122740': deal #117613087 buy 1.00 #KO at 40.31 done (based on order #133997293)
2017.02.14 22:26:47.107 Trades '5122740': order #133997293 buy 1.00 / 1.00 #KO at 40.31 done in 345.709 ms (3.022 ms on server)
O novo tronco está agora em 1531! Por favor explique neste caso, o que é o quê.
ZZY log quase imediatamente após a desaceleração.
2017.02.14 22:26:47.503 Trades '5122740': accepted prices for #KFT 1.00
2017.02.14 22:26:47.506 Trades '5122740': answer prices for #KFT 1.00 49.17 / 49.20 in 70.980 ms (4.166 ms on server)
2017.02.14 22:26:47.506 Trades '5122740': request buy 1.00 #KFT at 49.20
2017.02.14 22:26:47.583 Trades '5122740': accepted request buy 1.00 #KFT at 49.20
2017.02.14 22:26:47.583 Trades '5122740': deal #117613092 buy 1.00 #KFT at 49.20 done (based on order #133997299)
2017.02.14 22:26:47.583 Trades '5122740': order #133997299 buy 1.00 / 1.00 #KFT at 49.20 done in 149.304 ms (3.015 ms on server)
Estes são caracteres requisitados, pelo que as ordens de mercado são mais lentas do que outras.
Os travões no TRADE_ACTION_REMOVE.
Request.magic = 0
Request.order = 134003202
Request.symbol =
Request.volume = 0.0
Request.price = 0.0
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 0
Request.type = ORDER_TYPE_BUY (0)
Request.type_filling = ORDER_FILLING_FOK (0)
Request.type_time = ORDER_TIME_GTC (0)
Request.expiration = 1970.01.01 00:00:00
Request.comment =
Request.position = 0
Request.position_by = 0
Result.retcode = 10009
Result.deal = 0
Result.order = 134003202
Result.volume = 0.0
Result.price = 0.0
Result.bid = 0.0
Result.ask = 0.0
Result.comment = Request executed 290.089 + 0.005 ms
Result.request_id = 10078
Result.retcode_external = 0
GG 0 23:02:46.849 Trades '5122740': accepted buy limit 1.00 Si-3.17 at 56288
PR 0 23:02:46.852 Trades '5122740': order #134003202 buy limit 1.00 / 1.00 Si-3.17 at market done in 54.423 ms (0.342 ms on server)
PR 0 23:02:46.854 Trades '5122740': cancel order #134003202 buy limit 1.00 Si-3.17 at 56288
LL 0 23:02:47.142 Trades '5122740': accepted cancel order #134003202 buy limit 1.00 Si-3.17 at 56288
CE 0 23:02:47.144 Trades '5122740': cancel #134003202 buy limit 1.00 Si-3.17 at market done in 290.050 ms (1.400 ms on server)
Como é que não há preço, há mesmo um preço no tronco?!
Consulta
2017.02.14 23:18:41.442 Request.magic = 0
2017.02.14 23:18:41.442 Request.order = 0
2017.02.14 23:18:41.442 Request.symbol = EURPLN
2017.02.14 23:18:41.442 Request.volume = 1.0
2017.02.14 23:18:41.442 Request.price = 4.30632
2017.02.14 23:18:41.442 Request.stoplimit = 0.0
2017.02.14 23:18:41.442 Request.sl = 0.0
2017.02.14 23:18:41.442 Request.tp = 0.0
2017.02.14 23:18:41.442 Request.deviation = 100
2017.02.14 23:18:41.442 Request.type = ORDER_TYPE_BUY (0)
2017.02.14 23:18:41.442 Request.type_filling = ORDER_FILLING_RETURN (2)
2017.02.14 23:18:41.442 Request.type_time = ORDER_TIME_GTC (0)
2017.02.14 23:18:41.442 Request.expiration = 1970.01.01 00:00:00
2017.02.14 23:18:41.442 Request.comment = My Position
2017.02.14 23:18:41.442 Request.position = 0
2017.02.14 23:18:41.442 Request.position_by = 0
2017.02.14 23:18:41.442 Result.retcode = 10021
2017.02.14 23:18:41.442 Result.deal = 0
2017.02.14 23:18:41.442 Result.order = 0
2017.02.14 23:18:41.442 Result.volume = 0.0
2017.02.14 23:18:41.442 Result.price = 0.0
2017.02.14 23:18:41.442 Result.bid = 0.0
2017.02.14 23:18:41.442 Result.ask = 0.0
2017.02.14 23:18:41.442 Result.comment = No prices 0.028 + 0.000 ms
2017.02.14 23:18:41.442 Result.request_id = 0
2017.02.14 23:18:41.442 Result.retcode_external = 0
2017.02.14 23:18:41.442
2017.02.14 23:18:41.442 SymbolInfoDouble(Symb,::SYMBOL_BID) = 4.30151
2017.02.14 23:18:41.442 SymbolInfoDouble(Symb,::SYMBOL_ASK) = 4.30632
Erro [Sem preços] no local
Como pode não haver preços, mesmo no diário de bordo?!
Estou actualmente a comunicar com o apoio técnico de uma empresa muito famosa na L... Neste momento estou a conversar com o apoio técnico de uma empresa muito conhecida L. (a nossa correspondência é confidencial, não lhe chamarei isso), eles explicam que o tempo de execução no seu servidor de negociação é o mesmo para ordens de saída do MT4 (eles têm o MT4) que foi enviado pelo FIX e é de cerca de 1-6ms. Depois, perguntei-lhes qual foi o tempo gasto em 40-50 ms. no comércio a partir do MT4, desde o momento de enviar a ordem e obter uma resposta cerca de 40-60 ms. Eles encolhem com tolerância, tal como procuram a latência da rede, eu digo-lhes o ping 1-2ms, e eles encolhem novamente. A conclusão é que a parte do servidor do MT4/5 é lenta. Agora novos registos mostram-no. Compreendo que o tempo não pode ser "limpo" como o FIX, mas pelo menos deve ser da mesma ordem.
SZY. Neste momento estou a falar com o apoio técnico de uma empresa muito famosa na L... (Não sei porque não lhes vou ligar, explicam que o tempo de execução no seu servidor de negociação é o mesmo que para as ordens que saem do MT4 (têm MT4) que são enviadas pelo FIX e é cerca de 1-6ms. Depois, perguntei-lhes qual foi o tempo gasto em 40-50 ms. no comércio a partir do MT4, desde o momento de enviar a ordem e obter uma resposta cerca de 40-60 ms. Eles encolhem com tolerância, tal como procuram a latência da rede, eu digo-lhes o ping 1-2ms, e eles encolhem novamente. A conclusão é que a parte do servidor do MT4/5 é lenta. Agora novos registos mostram-no. Compreendo que o tempo não pode ser "limpo" como o FIX, mas pelo menos deve ser da mesma ordem.
EM L... tinham em mente que quando recebem uma ordem no seu sistema, o tempo de execução no próprio sistema e o seu envio de volta é minúsculo. Podem obter a encomenda a partir do servidor MT4 ou através do FIX e do seu outro API. O próprio servidor MT4 gasta muitas dezenas de ms para o seu processamento interno, que não está ligado de forma alguma à execução.
Era uma vez o tempo mínimo em MT4 era de 150 ms. Parece que algo foi seriamente afinado, já que se tornou 40-60. Mas o MT5 é visivelmente mais rápido. Agora posso ver nos registos quanto tempo o servidor trabalhou. Tudo o que resta é compreender em que é gasto o tempo principal.
Erro de compilação: não pode aceder f() //2
#import "Test.ex5"
void f(); //1
#import
void f() {} //2
void OnStart()
{
fn g1 = Test::f; //нормально
fn g2 = f; //Error: 'f' - cannot resolve function address
}