Perguntas e respostas a programadores sobre MQL 4

 

Quem conhece o código ou link - por favor, compartilhe.
O código é o seguinte: Você precisa de um EA para definir um número especificado de pontos de lucro - Stop Loss quando o preço atinge um determinado
Ávido para colocar um Stop Loss quando o preço atinge um determinado número de pontos de lucro.

 
Parada normal - quando X número de pips de lucro é atingido, a parada de perda é definida em um nível que está a um número especificado de pips de distância do preço atual.
 
drknn >>:
Обычный трейлингстоп - по достижении икс пунктов прибыли стоп-лосс устанавливается на уровень, отстоящий от текущей цены на указанное количество пунктов.

Sim, eu entendo - eu preciso do código do programa MQL4 - para entender claramente a seqüência e quais valores são usados.

E eu não preciso de uma parada de trilha, preciso de um conjunto único a um nível imutável.

 

Busca de "breakeven".

 
Roger >>:

Ищи по поиску "безубыток".

Acabei de analisar os tópicos da consulta de busca - Equilíbrio.

O resultado é que eu não consegui encontrar nenhum código específico que estivesse procurando.

 
alex12 >>:

Только сейчас закончил просмотор тем по запросу в поиске - Безубыточность.

Результат - ни одного конкретного мне нужного кода я не нашел.

Em seguida, faça uma busca na palavra "breakeven", como você foi aconselhado.

 
alex12 >>:

Да это понятно-мне нужен код прграммы MQL4 - чтобы наглядно понять последовательность и какие значения используются.

И нужен мне не следящий Трэйлингстоп,а единожды выставленный на неизменяемый уровень.


Neste caso, é muito simples - embutimos um programa de arrasto padrão na EA, mas ele vai em último lugar no início da função(). Antes disso, deve haver uma construção com o seguinte algoritmo
- Declarar uma variável booleana e atribuir o valor "Falso" a ela.
- Encontre nosso pedido. Verifique se seu Stop Loss é inferior a sua posição aberta, então atribuímos a nossa variável booleana o valor "True", você sabe, a rede de arrasto é permitida. Caso contrário, executamos o retorno do comando(0);
Também passamos para a rede de arrasto o sinal em que esta ordem específica deve ser arrastrada, e não outra, e nossa variável como um interruptor.

O que acontece neste caso? Enquanto o preço não tiver atingido o nível de lucro pré-definido, a rede de arrasto não funcionará por definição. Assim que chegar a ela, a parada será puxada para cima. No próximo tick, o EA detectará que a ordem requerida tem um stop loss = sua posição aberta e não deixará a rede de arrasto operar - a variável do interruptor a colocará em falso.

Esta não é a maneira mais fácil, mas se você já tem o código da rede de arrasto pronto, é mais fácil fazer isso do que reescrever o código, depurar, testar, verificar....

 
drknn писал(а) >>


Neste caso, é muito simples - fazemos isso incorporando uma rede de arrasto padrão na EA, mas ela vai em último lugar na função start(). Antes disso, deve haver uma construção que utilize o seguinte algoritmo
- Declarar uma variável booleana e atribuir o valor "Falso" a ela.
- Encontre nosso pedido. Verifique se seu Stop Loss é inferior a sua posição aberta, então atribuímos a nossa variável booleana o valor "True", você sabe, o arrasto é permitido. Caso contrário, executamos a devolução(0);
Também passamos para a rede de arrasto o sinal em que esta ordem específica deve ser arrastrada, e não outra, e nossa variável como um interruptor.

O que acontece neste caso? Enquanto o preço não tiver atingido o nível de lucro pré-definido, a rede de arrasto não funcionará por definição. Assim que chegar a ela, a parada será puxada para cima. No próximo tick, o Expert Advisor detectará que a ordem requerida tem um stop loss = sua posição aberta e não deixará a rede de arrasto operar - a variável do interruptor a colocará em falso.

Esta não é a maneira mais fácil, mas se você já tem o código da rede de arrasto pronto, é mais fácil fazer isso do que reescrever o código, depurar, testar, verificar....


Muito obrigado por seu comentário, mas só estou aprendendo a programar, por isso ainda não escrevi nenhum Expert Advisor simples.
Quando eu quiser, definitivamente usarei sua dica - eu tenho o código de arrasto pronto.
 
alex12 >>:


Большое Вам спасибо за комментарий.Но я еще только учусь программировать и пока что не написал ни одного простого советника.
На досуге обязательно воспользуюсь Вашей подсказкой - готовый код трала у меня есть.


Criar uma nova EA no editor. Na função start() escreva o seguinte:
Alert("Bid = ",Bid);
Compilá-lo, colocá-lo na tabela. Como resultado, a cada tique vemos uma janela com a mensagem da atual Licitação.
Foi criado o Expert Advisor simples. O principal que ele nos mostra é que o código da EA é lançado de novo a cada tique.
A função OrderSend() é usada para abrir pedidos. Normalmente, antes de seu uso, o programador executa o código que analisa o fluxo das últimas velas e identifica onde a ordem deve ser aberta.
Para poder encontrar rapidamente os parâmetros das funções embutidas no idioma, coloque o cursor do mouse em algum lugar entre as letras do nome da função e pressione F1 ou Ctrl+F1 - a ajuda de contexto para a função do idioma abre-se na parte inferior da janela de código.
 
drknn писал(а) >>

Criar uma nova EA no editor. Na função start() escreva o seguinte:
Compilá-lo, colocá-lo na tabela. Como resultado, a cada tique vemos uma janela com a mensagem da atual Licitação.
Foi criado o Expert Advisor simples. O principal que ele nos mostra é que o código da EA é lançado de novo a cada tique.
A função OrderSend() é usada para abrir pedidos. Normalmente, antes de seu uso, o programador executa o código que analisa o fluxo das últimas velas e identifica onde a ordem deve ser aberta.
Para poder encontrar rapidamente os parâmetros das funções embutidas no idioma, deve-se colocar o cursor do mouse em algum lugar entre as letras do nome da função e pressionar F1 ou Ctrl+F1 - ajuda contextual para a função do idioma será aberta na parte inferior da janela do código.
Obrigado - há muito tempo eu queria escrever pelo menos algo simples, sem erros, EAs que funcionassem.
 

Olá !

Tenho uma pergunta para todos os membros do fórum e para os responsáveis pelo material contido neste site.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Neste link https://www.metatrader5.com/ru/terminal/help/indicators/trend_indicators/envelopes

no final da página há um Aviso:

Aviso: Todos os direitos sobre estes materiais são reservados pela MetaQuotes Software corp.

A reprodução no todo ou em parte é proibida.

Pergunta:Preciso usar em meu EA este indicador - Envelopes, mas depois de ler o Aviso

Eu não sei exatamente o que fazer.

No site da Meta Quotes Software corp. para Contatos há apenas um número de telefone, sem endereço para correspondência - portanto, contatá-los será um problema para mim -

- Foi por isso que eu fiz a pergunta aqui.

Para quem exatamente e sob quais condições - o Aviso acima se aplica?