![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
Ou você pode combiná-lo com os botões do teclado ;)
Então é aqui que estou errado. No caso de precisarmos puxar tanto SL como TP da linha de abertura do pedido, não podemos fazer isso, porque há um problema de como saber o que puxar. Portanto, precisamos identificar o tipo de ação em um gráfico real como na direção do cursor, seja usando uma tecla de teclado ou criando um botão para definir o tipo de ação. A primeira opção é usada no gráfico real e é a melhor, na minha opinião.
Sim, é claro. O que quero dizer é o seguinte: se não houver parada, podemos puxar a linha da ordem em si e a parada será definida para onde "puxaremos" a linha. Este é o caso se não tivermos processamento de take-out. E se tivermos processamento de ambas as paradas e dedos dos pés, mas a ordem não tem nenhuma, então se traçarmos a linha de ordem, o que devemos estabelecer? Uma tomada ou uma parada?
se não houver parada e tomar
Por exemplo, para comprar: se você puxar para cima, então toque, se você puxar para baixo, então sl
se não houver parada e tomar
Por exemplo, para comprar: se você puxar para cima, então toque, se você puxar para baixo, então sl
É assim que é no terminal. E para fazer com que a Buy stop se mude para a zona de lucro - é isso que estamos discutindo.
Estou falando em torná-lo como o terminal.
A maneira como isso é feito no terminal já foi explicada. Agora se trata de como NÃO fazer isso no terminal.
Acho que escrevo em russo.
Esta manhã, com a cabeça limpa, encontrei uma solução. Além disso, eu me livrei do laço extra na função de modificação. Eu fiz uma função de modificação para duas variantes:
1) Se SL e TP não estiverem configurados para um pedido, clique no pedido e SL e TP aparecerão em 50 pontos. Se necessário, arraste-os e solte-os onde for necessário. Se o pedido já tem SL e TP, nós os arrastamos para onde quisermos.
2) Uma variante de como isso é feito em um gráfico real. Se não tivermos SL e TP, arrastá-los para fora da linha de pedido, e depois movê-los para onde quisermos.
A primeira variante:
A segunda opção:
Não devemos esquecer de declarar as variáveis globais OnSL, OnTp e OnOrd. E também, no Expert Advisor ondea TicketModifyOrder é reinicializada,acrescente a reinicialização destas variáveis. E nomes corretos de algumas variáveis e nome da função de modificação na EA.
Aguardo os aplausos do público agradecido. Vamos aplaudir e dispersar senhores).
Também pensei em uma terceira opção. Isto é para aqueles que não gostam de transportar SL e TP. O algoritmo para definir o SL e TP é o seguinte: você deve clicar uma vez no pedido, assim selecioná-lo (definimos o ticket) e depois clicar uma vez no ponto do gráfico onde você quer definir o SL (geralmente é um ponto além do preço mínimo e máximo local). Ao mesmo tempo, o SL será definido no ponto escolhido e o TP será definido em um ponto localizado a uma distância do preço do pedido que é Kt vezes maior do que a distância do SL do preço do pedido. Ktp é quantas vezes SL é maior que SL e é definido em uma variável externa. Note que TicketModifyOrder e OnOrd são agora redefinidos não no corpo OnTick(), mas na própria função. A reinicialização destas variáveis no corpo do OnTick() deve ser removida. Também é possível arrastar SL e TP nesta variante, mas eu sou preguiçoso demais para pensar nisso. Você pode simplesmente mudar para 1 variante, se precisar. E troque na forma de um botão.