[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 947

 

Pessoal, por favor avisem, estou tendo problemas para implementar o TrailingStop.... (tentando escrever um EA)

Estou usando uma plataforma Alpari MT4 com função Trailing Stop (ou seja, posso colocar um Trailing Stop de 18 pips). Pergunta para esclarecimento, é possível usar a funcionalidade da plataforma ao abrir um pedido (por exemplo, programar um tick TrailingStop)?

 
001:

Parece funcionar, mas por alguma razão abre duas posições opostas.


Então você está confuso com alguma coisa - estes são recortes do meu código de "avalanche" - para você com pequenas mudanças. Tudo funciona bem para mim. Veja também aqui (trecho semelhante) - tudo funciona bem, procure pelo seu erro, está tudo bem... Esta é a versão básica da Avalanche - está tudo detalhado aqui - para você mesmo (como você precisa) Tenho certeza de que é especial

Não seria difícil refazer, há um fragmento semelhante.

Arquivos anexados:
av02.mq4  17 kb
 
artmedia70:
A lógica é tão simples quanto 2x2:
1. Primeiro você determina que a pose anterior é fechada no pé.
2. Então verifique a ausência do já abre a posição oposta
E então, depois que você tiver determinado que ainda não está lá - você o abre (a posição oposta que fechou em parada).

Há aqui uma pequena omissão. Quando a posição oposta se abre, e depois fecha na parada ou tomada, as condições de abertura ocorrerão novamente. E eu preciso de UM tempo.
 

Estou obtendo os dados corretos? Estou perguntando porque não está funcionando. Não há erros durante a compilação. É por isso que eu acho que há algo de errado com a lógica. Verifique.

A foto mostra apenas duas barras, embora haja mais.

Indicador de peixe FX. Preciso de sinais de compra - na primeira barra o histograma é mais alto que o nível de compra e o histograma na primeira barra é mais alto que a segunda.

na venda - na primeira barra, o histograma é menor que o nível de venda e o histograma na primeira barra é menor que o histograma na segunda barra

Eu escrevi o código desta maneira

      double fx_fishUp1=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,0,1);
      double fx_fishUp2=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,0,2);
      double fx_fishDn1=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,1,1);
      double fx_fishDn2=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,1,2);
      
      if(fx_fishUp1-UpLevel>0 && fx_fishUp1-fx_fishUp2>0){fx_fUp=true; fx_fDown=false;}
      if(DnLevel-fx_fishDn1<0 && fx_fishDn2-fx_fishDn1<0){fx_fDown=true; fx_fDown=false;}


      if(fx_fUp) res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Blue);    
        
      if(fx_fDown) res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Red);
                 
Arquivos anexados:
fxdfish.mq4  5 kb
 
Uma pergunta a mais. Anexei o arquivo FX Fish. ele tem o mesmo nome na pasta de indicadores, mas após anexá-lo, o novo nome FXdFish.mq4 apareceu.
 
Roman.:


Então você está confuso sobre algo - são recortes do meu código de "avalanche" - para você com pequenas modificações. Tudo isso funciona bem para mim. Veja também aqui (trecho semelhante) - tudo funciona bem, procure pelo seu erro, tudo está bem... Esta é a versão básica da Avalanche - aqui tudo é detalhado - para você mesmo (como você precisa) Tenho certeza, uma versão especial

difícil de refazer, tal fragmento está presente...


Aqui está o que eu tenho. Eu removi:

1.lots = NormalizeLots(lotes); coloque um fixo 0.1

2.I fixo se (lastType == OP_SELL) OrderSend(Symbol(), OP_BUY, lots,...); já que estou testando por muito tempo primeiro.

Isso é tudo.

Arquivos anexados:
2.mq4  3 kb
 
001:

Há aqui uma pequena omissão. Quando a postura oposta se abre e depois se fecha na parada ou tomada, as condições de abertura surgirão novamente. E eu preciso de UM tempo.


Anote as condições normais de abertura, o que significa UM tempo - por dia, por segundo, em geral nas negociações...

Formule as condições de abertura NORMAL e escreva, por exemplo - insira um limite de tempo, digamos que se uma ordem já foi aberta dentro de um dia, então as ordens subseqüentes não abrirão - isto é, negociar uma vez por dia - um limite de tempo para a EA - já postado neste tópico, use a busca, por exemplo, formule o código abaixo na condição de abertura, ou seja, se neste intervalo de tempo já tiver sido negociado, então as ordens subseqüentes não abrirão, etc. Formule especificamente o que você precisa, não incompreensível como "UM tempo", que é uma vez na vida? Formule condições comerciais normais, não foda seus cérebros. Sem mencionar o site - este tópico já tem tudo...

2. Подскажите, пожалуйста, как сделать, чтобы советник прекращал торговать в 21 ч00 мин и потом начинал только в 01 ч00 мин следующего дня. 

int start()
  { 

   if (Hour()>20 && Hour<2) return(0);

.....

  }
 
Roman.:


Anote as condições normais de abertura, o que significa UM tempo - por dia, por segundo, em geral nas negociações...

Formule as condições de abertura NORMAL e escreva, por exemplo - insira um limite de tempo, digamos que se uma ordem já foi aberta dentro de um dia, então as ordens subseqüentes não abrirão - isto é, negociando uma vez por dia - o limite de tempo para a EA - já publicado neste tópico, use a busca, por exemplo, formule o código abaixo na condição de abertura, ou seja, se neste intervalo de tempo já estava negociando, então as ordens subseqüentes não abrirão, etc... Formule especificamente o que você precisa, não incompreensível como "UM tempo", que uma vez na vida é uma vez na vida? Formule condições comerciais normais, não foda seus cérebros. Sem mencionar o site - este tópico já tem tudo...

001:

Tentando implementar uma simples mudança de direção. Quando uma posição de parada é alcançada --> abra a posição oposta. Não consigo fazer com que abra uma posição oposta uma vez e não abrir mais nada. Por favor, informe.

Quando uma posição chega a uma parada . Há uma posição, ela tem uma parada. Quando o preço atingir a parada, abra a posição oposta. Não abrir mais nada na primeira posição.
 
001:
Quando uma posição chega a uma parada . Há uma posição, ela tem uma parada. Quando o preço atingir a parada, abra a posição oposta. Não abrir mais nada na primeira posição.

O site https://www.mql5.com/go?link=http://www.kimiv.ru// tem uma função que define exatamente como uma ordem deve ser fechada por um stop loss. Isto é, quando você conectar esta função, você deve prescrever a condição se a posição estiver fechada após atingir a perda de parada, se estiver, você deve abrir a posição oposta e adicionar a condição de sua única abertura à condição de sua posição básica...
 
Existe alguma documentação adicional sobre os nomes de todos os elementos utilizados no programa? Por exemplo: case, switch, os, bool, ++, ==, Tendo algum conhecimento você começa a inventar uma roda, e então acontece que existe uma função especial que resolve este problema. Como entendi no tutorial não tudo, e como procurar por algo que você nem consegue adivinhar?
Razão: