Erros, bugs, perguntas - página 1789

 
Vitalie Postolache:
Esta é a janela onde se encontram os separadores para o comércio, história, notícias, etc. A palavra inglesa é "Toolbox" (Caixa de ferramentas).
Obrigado, eu não sabia, eu fi-lo. Agora, não consigo ver o estado das últimas posições. É uma pena, será realmente impossível fazer com que a última linha simplesmente não desça?
 
Yousufkhodja Sultonov:
Obrigado, não sabia, implementou-o. Agora, não consigo ver o estado dos últimos artigos. É pena, não posso programá-lo de forma a que a última linha não desça?

É possível, exactamente programático. Escrever um indicador que exibe esta linha em todos os gráficos, por exemplo.

Os programadores poderiam fazer esta informação duplicar na barra de estado, ou na barra de título da janela, mas provavelmente não estão interessados nisso.

 
O que é que está errado?
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:
O que é o erro?
O ORDER_TIME_GTC sobre o símbolo não é suportado
 
A100:
O ORDER_TIME_GTC sobre o símbolo não é suportado
Obrigado!
 

Insecto grave, uma vez que diz respeito ao próprio comércio.

Servidor FIBOGroup-MT5, demo, moeda base USD, Netting, construir 1525.

Primeiro, um screenshot de "Ordens, Acordos".

Uma posição foi aberta por 1 lote e fechada (não invertida!) por 1,5 lotes.

O facto de ser uma posição é confirmado pelo ecrã "Posições".

Salientei a vermelho que também houve um erro no cálculo de swap (posição viveu 1 segundo) e algumas enormes perdas.

O tronco tem este aspecto

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) devolveu 1,5 lotes, em vez de 1,0. O erro de paragem inválido ocorreu, embora SYMBOL_TRADE_STOPS_LEVEL == 0.

Devo provavelmente acrescentar que a posição foi fechada com Request.position = PositionTicket. Ou seja, este parâmetro não era zero.

Tudo em suma, uma BASE que diz directamente respeito ao dinheiro!

 

Fórum sobre comércio, sistemas comerciais automatizados e teste de estratégias comerciais

FORTES. Perguntas sobre a execução

fxsaber, 2017.02.09 08:56

Compreendo correctamente que, neste caso, OrderSend retornou verdadeiro quase instantaneamente, mas 65 segundos observados(ENUM_ORDER_STATE)::OrderGetInteger(ORDER_STATE) == ORDER_STATE_STARTED?

A propósito, porque é que quando coloco uma encomenda pendente através de OrderSend, esta volta a ser verdadeira imediatamente após o estado da encomenda se tornar ORDER_STATE_STARTED, em vez de esperar pelo ORDER_STATE_PLACED?

Não é assíncrono OrderSendAsync.

 
fxsaber:

A propósito, porque é que regressa imediatamente quando o estado da encomenda se torna ORDER_STATE_STARTED em vez de esperar pelo ORDER_STATE_PLACED ao colocar uma encomenda pendente através de OrderSend?

Não é assíncrono OrderSendAsync.

Provavelmente porque é o resultado da execução bem sucedida da OrderSend e não o resultado de uma encomenda bem sucedida?
 
Artyom Trishkin:
Provavelmente porque é o resultado de uma encomenda bem sucedida e não o resultado de uma encomenda bem sucedida?
ORDER_STATE_STARTED é o resultado de um OrderCheck bem sucedido.
 
fxsaber:
ORDER_STATE_STARTED é o resultado de um OrderCheck bem sucedido.
E quando uma encomenda já é feita, algo é devolvido?
Razão: