Perguntas de um "boneco" - página 15

 
Yedelkin:
Pergunta adicional: existe alguma forma elegante de guardar informação ao passar o dobro <-> longo?
Cópia de estruturas simples https://www.mql5.com/ru/docs/basis/types/casting#casting_structure
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5
 
stringo:

Todos os 64. De facto. Não se agarrar a um tipo assinado ou não assinado.

O melhor é ver com os seus próprios olhos. Depois a questão é encerrada de uma vez por todas.

Sim. Já escrevi que me tinha esquecido da conversão do tipo.

e já verificou tudo. O sinal não está perdido. está tudo bem.

 
Oops! A mesma coisa que o segundo exemplo de Metadriver! ...É o quão importante é a ênfase no que aparentemente já se lê.
 
sergeev:

Verificar PositionClose na classe CTrade.
Tenho a certeza de que será o mesmo que o seu. A única conclusão é que não há outra forma.

Mas eu apoio o seu pedido. Peço aos programadores que considerem esta variante.

Adicionar TRADE_ACTION_CLOSE tipo de operação - fecho de uma posição para um símbolo especificado no seu volume ao preço actual.

Isso seria o ideal! Destacado.

Para o resto do fórum, voltarei a esboçar brevemente o problema.

Com o sistema existente de contabilidade das transacções/ordens e métodos de fecho na MQL5, há sempre uma probabilidade não nula de que a posição SL/TP fechada do mercado não feche realmente, e a posição oposta seja aberta.

Quanto mais próximo o mercado estiver da posição SL/TP, maior é esta probabilidade, tornando impossível um fecho do mercado com um SL/TP fechado (uma vez que um SL/TP fechado pode ocorrer durante o envio de uma nova ordem de mercado para fechar)

As soluções existentes não são satisfatórias

a) a remoção do SL/TP antes do encerramento da ordem leva tempo e, em caso de falha de ligação, a posição permanecerá no mercado sem uma paragem, etc.

b) esperar pelo desencadeamento do SL/TP também não é uma opção, porque podemos ter de sair mais cedo.

Compreendo que a introdução do novo sistema contabilístico impõe certas restrições, mas quando a usabilidade de um produto é totalmente sacrificada por causa do conceito, as massas dificilmente se interessarão por ele :(

Caros programadores, o que aconselham a utilizar para uma saída GARANTIDA do mercado (o preço não é importante) ? Ao pedir para fechar na MQL4, posso ter a certeza de que a posição será fechada, ou o Expert Advisor receberá um código de erro e continuará a tentar.

 
Yedelkin:

Feito! Na cifra, substituir a linha 14 por L.l = 4548887299649496524

............

Pontuação! ;)

 
A partir da referência:
PositionClose
...
Примечание

Успешное окончание работы метода PositionClose(...)
не всегда означает успешное совершение торговой операции.
Необходимо проверять результат выполнения торгового запроса
(код возврата торгового сервера) вызовом метода ResultRetcode().

Aviso justo.

***

Não foi possível encontrar tal aviso no fecho manual de posições, mas no Comércio no momento do fecho de um balcão ...

Para que uma posição seja garantida para fechar, o deslizamento irá aumentar em função da volatilidade? Ou o quê? Será um tal "olá aos comerciantes de pip"?

Apoio a pergunta aos criadores.

 

Silencioso, não se trata de escorregamento e verificação do código de retorno.

O problema é que, para fechar uma posição, é necessário enviar explicitamente um pedido para abrir uma nova posição, mas na direcção oposta.

O servidor de comércio vê este pedido exactamente como uma abertura de uma nova posição. Não está treinado para compreender que queremos realmente fechar uma posição existente.

Do ponto de vista da rede é mais ou menos correcto, mas depois é impossível GARANTIDAMENTE fechar uma posição com SL/TP do mercado. Por muito distante que este SL/TP esteja, não podemos ter a certeza de que enquanto preparamos uma nova encomenda (para o fechar) o preço apanhe o nosso SL/TP e a posição se feche por si só. E a nossa nova encomenda vai funcionar e abrir uma posição oposta.

Creio que a única saída, como Sergeev sugeriu, é ensinar o servidor a distinguir um pedido para abrir uma nova posição do fecho de uma já existente, implementando uma nova caixa de verificação do tipo de operação"TRADE_ACTION_CLOSE".

Mas talvez os criadores tenham a sua própria variante?

 
Será que ninguém tem uma solução?
 
Cron:
Será que ninguém tem uma solução?
Há soluções, mas dificilmente o satisfarão... Por exemplo, remover SL/TP e depois, de acordo com o algoritmo... Você mesmo o disse:"Em termos de netting parece correcto, mas depois é impossível GARANTIDAMENTE fechar uma posição do mercado...".
 
Yedelkin:
Existem algumas soluções, mas não lhe convêm. Por exemplo, remover SL/TP e assim por diante de acordo com o algoritmo... Você mesmo afirmou:"Do ponto de vista da rede parece correcto, mas então é impossível GARANTIDAMENTE fechar a posição do mercado...".

Sim, remover o SL/TP é uma perda de tempo mais o risco de ser deixado no mercado sem uma paragem em caso de problemas de conectividade.

Penso, no entanto, que"TRADE_ACTION_CLOSE" poderia ser acrescentado para conveniência de muitos utilizadores que trabalham em DC. [ E, por exemplo, desactivar este tipo de operação em que a rede é importante? (FORTS, RTS)].

Sem alguns passos em direcção ao utilizador não faz sentido que muitos clientes de empresas de corretagem mudem para o MT5. Tendo alguma experiência em programação, ainda enfrentei algumas dificuldades ao portar uma EA de MQL4 para MQL5. Mas todos eles foram resolvidos de uma forma ou de outra, excepto este problema SL/TP e o encerramento do mercado.

Não quero ensinar aos criadores o que sabem melhor do que eu, mas quero mencionar que perseguir um produto universal para as bolsas e empresas de corretagem em detrimento da facilidade de utilização levará a uma menor procura do produto e muitas pessoas ficarão no MT4 :(