Características da linguagem mql5, subtilezas e técnicas - página 20
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
Também para a cobertura.
Ao longo dos anos o meu cérebro tem sido afiado para a rede. Ordem->Transacção->Posição. Pode haver muitos negócios em uma posição(em uma cobertura há apenas um negócio, me corrija se eu estiver errado), você pode dizer o que aconteceu com a posição pelo tipo de negócio.
Em uma sebe é claro que é mais fácil de entender, mas mais difícil de acompanhar. Claro que é.
Um, desde que a posição exista no mercado. Mas quando está fechada, há uma segunda ordem e uma segunda troca.
ps; provavelmente estou errado. Veja ps no post abaixo.
E a rede de arrasto SL ? Como você vai determinar o que fechou na rede de arrasto do SL no lado positivo?
Ok, ainda não considerei isso. Então vamos verificar o preço da ordem que abriu a posição e o preço da ordem que fechou a posição.
Embora provavelmente possamos deixar as ordens em paz e operar apenas com acordos.
ps; Não... Há algo de errado aqui. Afinal, cada mudança de Take ou Stop após a abertura da posição é uma nova ordem e um novo negócio. Aparentemente, é com isto que devemos trabalhar...
Não posso verificá-lo, não tenho posições com paragens. Só alguns com takes.
Quando você encontrar a última negociação DEAL_ENTRY_OUT e selecionar todo o histórico da posição HistorySelectByPosition nesta lista há, para contas hadge 2 negociações e 2 ordens, abrindo uma posição e fechando-a. A ordem com base na qual o fechamento ocorreu contém ORDER_PRICE_OPEN. Em seguida, você verifica o tipo de posição e o tipo de ordem que foi usada para fechá-la. Se o tipo de ordem é o oposto, significa que foi um fechamento. Assim, o preço da ordem é o preço que devemos procurar, com uma pequena correcção: se o lucro da ordem é > 0, então este é o preço do TP, se for < 0, então a posição fechou no SL.
Se dependermos do comentário ao pedido, eu não o faria.
Não é assim tão simples. A última ordem em uma posição pode ser a que fechou a posição assim como a que a reverteu.
Quanto a SL e TP - a partir do comentário para determinar a maneira mais fácil e confiável. Para comparar preços para SL e TP nem sempre funcionará corretamente, porque SL e TP podem estar ambos na zona de lucros e perdas. Isso já foi discutido bastante acaloradamente no fórum, o Sr. Sergeev deu a solução apropriada para o comentário que citei.
Não é assim tão simples. A última ordem em uma posição pode ser a que fechou a negociação ou a que a reverteu.
E sobre SL e TP - a partir da cotação para determinar a maneira mais fácil e mais confiável. Comparar os preços de SL e TP nem sempre funcionará corretamente, porque tanto SL como TP podem estar na zona de lucros e perdas.
Eu não disse que era fácil. Na verdade, apenas nas contas líquidas o SL e TP são iguais ao SL e TP. E apenas em contas de compensação. Nas contas de cobertura, para inverter uma posição, ela deve ser fechada pela posição oposta com um volume maior. Não é assim?
Este tópico é interessante, mas não posso verificá-lo por causa das razões acima mencionadas. Não tenho posições com paragens e tomadas de posição, especialmente as que estão a seguir.
Uma ordem que inverte uma posição não pode ser um take ou um stop.
TP e SL não são ordens no sistema de contabilidade MT, são propriedades de posição. Portanto, não é possível trabalhar com SL/TP em encomendas/comércios (mesmo o sábio motor do site confirma isso com um link).
Alexey Viktorov:
Nas contas de cobertura para reverter uma posição deve fechá-la com uma ordem oposta de um volume maior. Não é assim?
Não, não é. Nas contas de cobertura uma posição não pode ser revertida, só pode ser fechada.
TP e SL não são ordens no sistema de contabilidade MT, são propriedades de posição. Por isso não pode trabalhar com SL/TP em encomendas/transacções (mesmo o sábio motor do site confirma com um link).
Não, não é. Em contas de cobertura uma posição não pode ser revertida, só pode ser fechada.
Fórum sobre negociação, sistemas de negociação automatizados e testes estratégicos
MQL5 Como posso saber se uma troca foi fechada com stop loss ou não?
fxsaber, 2017.02.14 19:46
Ticket a ordem que foi o motivo para fechar a posição, empurre-a aqui#define ORDER_TYPE_STOPLOSS (-2)
int GetOrderType(const ulong OrderTicket)
{
int OrderType=(int)::HistoryOrderGetInteger(OrderTicket,ORDER_TYPE);
if((OrderType==ORDER_TYPE_BUY) || (OrderType==ORDER_TYPE_SELL))
{
const string OrderComment=HistoryOrderGetString(OrderTicket,ORDER_COMMENT);
const string OrderPrice=::DoubleToString(::HistoryOrderGetDouble(OrderTicket,ORDER_PRICE_OPEN),
(int)::SymbolInfoInteger(HistoryOrderGetString(OrderTicket,ORDER_SYMBOL),SYMBOL_DIGITS));
if(OrderComment=="tp "+OrderPrice)
OrderType=ORDER_TYPE_TAKEPROFIT;
else if(OrderComment=="sl "+OrderPrice)
OrderType=ORDER_TYPE_STOPLOSS;
}
return(OrderType);
}
Dá-me um exemplo, por favor.
Um exemplo de quê? Que as propriedades de uma posição não estão disponíveis após o seu encerramento?
Exemplo de como você determina qual a posição SL ou TP fechada em ordens e negociações. Eu dei um exemplo de como você determina isso a partir do seu comentário.
Eu não estou a fazer nada. Mesmo em mql4, acho inútil olhar através da história da ordem. Ainda estou tentando analisar a direção que posso começar a cavar quando necessário. Como não há posições de tráfico em nenhum terminal, simplesmente não posso verificá-las.
Consequentemente, após fechar a posição nas minhas contas, existem apenas 2 ordens e 2 negócios referentes à posição. Usando-os, podemos obter algumas informações sobre a posição. Por exemplo, a que preço o pedido foi aberto e a que preço exactamente foi aberto. Assim, podemos facilmente determinar o deslizamento em que a posição foi aberta.
Eu trato os comentários com cautela desde a MT4 porque as corretoras sobrescrevem todos os comentários de acordo com suas próprias razões.