Auto-aprendizagem da linguagem MQL5 a partir do zero - página 55

 
MrBrooklin:

Vasily, há mais uma coisa que eu preciso esclarecer. No ponto 2 do algoritmo do Expert Advisor escrevi: "No Expert Advisor, criar um bloco de parâmetros de entrada com dois parâmetros: definir "nível de trilha" e definir "etapa de trilha". O que você quer dizer com definir o parâmetro "nível de trilha"? Este é um nível "positivo" do preço atual em relação ao preço de abertura de uma posição na qual a perda do trailing stop seria movida para o nível do preço de abertura, ou seja, para o Breakeven.

Atenciosamente, Vladimir.

Para comprar, se o preço subisse a partir do nível de trilha atual, da etapa de trilha mais o nível de trilha, nós o moveríamos para o novo nível. O algoritmo de Kovalev não tem nenhum passo atrás. Lá, em cada tick, o preço é comparado com o nível de trilha, e se for mais alto, então o nível SL é modificado.

O nível é por quantos pontos o SL fica atrás do preço. Quando o preço ultrapassa esta etapa, ele move SL para um novo nível.

 
Valeriy Yastremskiy:

Para comprar, se o preço subiu acima, a partir do nível de trilha atual, a etapa de trilha mais o nível de trilha, nós o movemos para o novo nível. O algoritmo de Kovalev não tem nenhum passo atrás. Lá, em cada tick, o preço é comparado com o nível de trilha, e se for mais alto, então o nível SL é modificado.

O nível é por quantos pontos o SL fica atrás do preço. O parâmetro de etapa é introduzido a cada tick e quando o preço excede esta etapa, ele move SL para um novo nível.

Valery, eu entendo como você vê o caminho, e mais tarde tentarei desenhar minha idéia. Talvez então todas as perguntas desapareçam. Muito provavelmente no momento, ainda estou confuso com a terminologia comumente usada.

Cumprimentos, Vladimir.

 
MrBrooklin:

Vasily, há mais uma coisa que eu preciso esclarecer. No ponto 2 do algoritmo do Expert Advisor ele escreveu: "No Expert Advisor, crie um bloco de parâmetros de entrada com dois parâmetros: defina "nível de trilha" e defina "etapa de trilha". O que você quer dizer com definir o parâmetro "nível de trilha"? É um nível "positivo" do preço atual em relação ao preço de abertura de uma posição na qual a perda do trailing stop seria movida para o nível do preço de abertura, ou seja, para o Breakeven.

Atenciosamente, Vladimir.

Foi assim que eu entendi. Você tem duas funções para deslocar a parada de trilha. A primeira move a parada de perda móvel para o Breakeven, guiada pelo parâmetro "Trailing Stop Level". A segunda função puxa a parada de perda mais atrás do preço, guiada pelo parâmetro "Trailing Stop Step". Imho, eu chamaria o primeiro parâmetro de "Trailing Stop Loss Level" porque não é um stop stop loss mas sim uma stop loss transfer.

 
MrBrooklin:

Olá Alexey, eu ficaria muito grato por qualquer ajuda que você possa me dar.

Atenciosamente, Vladimir.


Existem problemas locais com o fornecimento de energia ... :-)

Vou postar a biblioteca de arrasto com link do telefone talvez hoje, se eu escrever mais informações do PC, amanhã à noite, horário de Moscou.
É tudo elementar, loop on open, se símbolo é necessário e magik também, então verifique a condição da função de arrasto, se a condição de modificação é cumprida, então modifique. É isso aí.
A propósito, aqui está a simples função de arrasto de Igor Vladimirovich Kim - você também pode desmontá-la.
https://www.mql5.com/ru/code/11693

Aqui você pode encontrar muitos tipos de redes de arrasto em forma de biblioteca de funções. Usei funções específicas para mim mesmo e ainda as utilizo em minha conta ao vivo, sem fazer perguntas, esta é de Yuri Dzyuban
https://www.mql5.com/ru/code/7108

Há muitas coisas interessantes e diferentes opções para ambos os tipos de arrasto e para a própria rede de arrasto, por exemplo, arrasto apenas com fins lucrativos, etc.

 
Aleksey Masterov:

Ninguém aqui está interessado em seus rabiscos. É costume publicá-lo como um anexo, se o fizer, não significa que mais pessoas queiram lê-lo...

Ela interfere na leitura do tópico e na resposta à pergunta.

Você feriu meus sentimentos esta manhã - mas pode não entender que um homem estuda MT5 e você lhe oferece uma rede de arrasto de MT4.

- Não sei como fazê-lo e não tenho certeza do que fazer com ele. Eu só queria compartilhar o que aprendi. E ouvir minha própria bagunça - passei muitas noites tentando entender cada função.

Arquivos anexados:
8ix5cw.PNG  140 kb
 
SanAlex:

Você me ofendeu desde a manhã - mas não consegue entender que um homem estuda MT5 e você lhe oferece uma rede de arrasto para MT4.

- Não sei se foi você quem o sugeriu para comprar o mt5, mas foi você quem lhe ofereceu uma rede de arrasto para o mt4. Eu só queria compartilhar o que aprendi. Quero ouvir meu próprio feedback, passei muitas noites tentando entender cada função.


Lamento muito.
Eu não o fiz de propósito.
Quanto ao mt4 e mt5, o fórum é o mesmo. Tenho a mesma abordagem para o arrasto... Não sei, talvez alguém queira converter os tipos de redes de arrasto de MT4 para MT5 para o código como um treinamento ... :-)
Na verdade, tudo é muito simples. Basta selecionar a função em que está interessado e traduzi-la. E no código MT5 há muitas funções e exposições de tipos de arrasto.
 
MrBrooklin:

Valery, eu entendo como você imagina o caminho, então mais tarde tentarei desenhar o que eu tinha em mente. Talvez então todas as perguntas desapareçam. Muito provavelmente no momento, ainda estou confuso com a terminologia comumente usada.

Cumprimentos, Vladimir.

Valery, como prometido, estou postando a foto.

Atenciosamente, Vladimir.


 
MrBrooklin:

Valery, como prometido, estou afixando o desenho.

Atenciosamente, Vladimir.


Pergunta filosófica: se o passo de arrasto é múltiplo de menos do que o nível de Breakeven menos o preço da posição aberta, faz sentido mover o SL várias vezes?

 
Valeriy Yastremskiy:

Se a etapa de arrasto for múltipla do nível de equilíbrio menos o preço da posição aberta, faz sentido mover o SL várias vezes?

Valery, para ser honesto, eu não entendo o que você queria me explicar, então vamos tentar entender mais uma vez. O que eu desenhei na figura acima refere-se apenas ao que foi chamado no algoritmo do Expert Advisor para definir o "nível de trilha ". Quando Vasiliy fez mudanças no algoritmo ele mudou a palavra trailing para break-even. Basicamente, ele o fez corretamente, porque os parâmetros de entrada deveriam definir o nível de RIGHT NOW, no qual Stop Loss seria definido para Breakeven. O breakeven é o nível de preço em que a posição foi aberta.

Exemplo: Digamos que há uma posição de compra aberta a 1.10 000. Se o nível de Stop Loss foi fixado em 200 pips (cinco dígitos), o Stop Loss será movido para 1.10200 quando o preço atual atingir 1.10000.

Tudo isso não tem nada a ver com a etapa de trilha até agora. Então, se o preço atual foi movido acima de (marcado com uma linha vermelha curta no gráfico), no qual Stop Loss foi movido para Breakeven, pelo valor igual ao parâmetro de entrada "Trailing Stop", então naquele momento Stop Loss deve ser movido para cima pelo valor igual ao parâmetro de entrada "Trailing Stop ".

Exemplo: Suponhamos que o preço atual tenha continuado a avançar na direção que desejamos. Se o "Trailing Stop Loss" tiver sido definido em 10 pontos (cinco dígitos) nos parâmetros de entrada, quando o preço atual atingir 1.10210, o Stop Loss será movido para 1.10010.

E isto acontecerá até que o Take Profit ou o Stop Loss seja acionado.

Espero que minha visão do algoritmo de parada de trilha esteja agora clara? Se estiver fundamentalmente errado, peço também que explique meu erro.

Com todo o respeito, Vladimir.

 
MrBrooklin:

Valery, para ser honesto, eu não entendo o que você queria me explicar, então vamos tentar entendê-lo novamente. O que eu desenhei na figura se refere apenas ao que foi chamado no algoritmo do Expert Advisor para definir o "nível de trilha ". Quando Vasiliy fez mudanças no algoritmo ele mudou a palavra trailing para break-even. Na verdade ele o fez corretamente, porque os parâmetros de entrada devem definir o nível de PREÇO CORRENTE no qual o Stop Loss é movido para o Breakeven, no nível de preço no qual a posição é aberta.

Exemplo: Digamos que temos uma posição de compra aberta a 1.10 000. Se o nível de Breakeven na Plataforma de Comércio for definido para 200 pips (cinco dígitos), então quando o preço atual atingir 1.10200, o Stop Loss é movido para 1.10000.

Tudo isso não tem nada a ver com a etapa de trilha até agora. Então, se o preço atual foi movido acima de (marcado com uma linha vermelha curta no gráfico), no qual Stop Loss foi movido para Breakeven, pelo valor igual ao parâmetro de entrada "Trailing Stop", então naquele momento Stop Loss deve ser movido para cima pelo valor igual ao parâmetro de entrada "Trailing Stop".E isto acontecerá até que se obtenha lucro ou se interrompa o prejuízo.

Espero que minha visão do algoritmo de parada de trilha esteja agora clara? Se estiver fundamentalmente errado, peço também que explique meu erro.

Atenciosamente, Vladimir.

Suponha que tenhamos um passo de 50 e puxemos o SL após o breakeven.

A questão é por que o preço deve passar de 200 pontos para o Breakeven e depois arrastá-lo em 50 pontos? Talvez fosse melhor puxá-lo até 50 pontos ao mesmo tempo. Afinal, se o puxarmos duas vezes, o SL será de 100 pips e se o preço se inverter, a perda será de 100 pips. Em seu caso a perda será de 200 pips, pois o preço não atingirá o breakeven.

De modo geral, há duas motivações com efeito oposto. Perto do SL reduz a perda e aumenta a probabilidade de fechamento no SL. Se o SL estiver próximo em relação à volatilidade, então é claro que sua variante é melhor, se a um nível normal e puxando o SL não afetará a freqüência de acionamento, então mina.