Características da linguagem mql4, sutilezas e técnicas - página 22

 

O resultado da ordenação do histórico comercial depende de ordenações anteriores.


Por exemplo, nesta animação você pode ver que a ordenação por preço de fechamento é feita de forma diferente.


 
fxsaber:

O resultado da ordenação do histórico comercial depende de ordenações anteriores.


Por exemplo, nesta animação você pode ver que a ordenação por preço de fechamento é feita de forma diferente.


Tente fazer o mesmo em Excell, você terá o mesmo resultado. Durante a triagem, se os valores forem iguais, a fila que era maior antes.

 
Comentários não relacionados a este tópico foram movidos para"Quaisquer perguntas de novatos sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos".
 
Esquematicamente, o fechamento urgente de uma posição é feito da seguinte forma
const double ClosePrice = OrderType() ? MathMin(OrderClosePrice(), Bid + MaxSpread * _Point) 
                                      : MathMax(OrderClosePrice(), Ask - MaxSpread * _Point);
    
OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), ClosePrice, 0); // StopLoss оставлен для истории
No laço, é claro. Você tem alguma outra opção?
 
fxsaber:
Esquematicamente, eu faço o fechamento urgente de uma posição desta forma No loop, é claro. Você tem alguma outra variante?

Por que você não usa OrderClose()?

E sobre "personagens exóticos", seu exemplo funcionará? - o nível de congelamento pode estar alto lá.

 
Igor Makanu:

Por que você não usa OrderClose()?

Porque você precisa fechar de forma lucrativa. Aqui está um caso real de fechamento de uma posição SL BUY.

Você pode ver que o preço próximo é muito pior do que o menor preço de Licitação. O escorregamento é de -2408 pips.

Portanto, não há necessidade de fechar através do SL (que é equivalente a um mercado). Por exemplo, em uma troca de baixa liquidez, é um ato de masoquismo.

Mas sobre "símbolos exóticos", seu exemplo vai funcionar? - O nível de congelamento lá pode ser grande.

É melhor não negociar em cozinhas.

 
fxsaber:

Porque você tem que fechar de forma lucrativa.

É melhor não negociar em cozinhas.

É melhor fazer os códigos funcionarem em todos os lugares.

 
Artyom Trishkin:

É melhor fazer os códigos funcionarem em todos os lugares.

 

fxsaber:

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

Características da linguagem mql4, sutilezas e truques

fechamento urgente de uma posição é o seguinte

const double ClosePrice = OrderType() ? MathMin(OrderClosePrice(), Bid + MaxSpread * _Point) 
                                      : MathMax(OrderClosePrice(), Ask - MaxSpread * _Point);
    
OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), ClosePrice, 0); // StopLoss оставлен для истории
No laço, é claro. Você tem alguma outra opção?

Bem, eu honestamente não entendo bem o esquema de fechamento (há algum tempo que eu não olho para quatro) - você muda o TakeProfit para que ocorra um fechamento?

 
Artyom Trishkin:

Bem, para ser honesto, eu não entendi bem o esquema de fechamento (eu não olhava para os quatro há muito tempo) - você muda o TakeProfit para que ele seja usado para fechar?

Sim. É claro, tal esquema não funcionará em um cinco. Você deve estabelecer uma ordem Limite lá e depois fechá-la.

Razão: