[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 65

 
sergey_r:

Olá a todos. Pessoal eu tenho uma condição para encontrar o máximo: mas dentro de um corredor.

para (int max=1; max<1000; max+++)
if (Alto[max+1] < Alto[max] && Alto[max] > Alto[max-1] && Baixo[max+1] < Baixo[max] && Baixo[max] > Baixo[max-1] &&
Alto[max] > intervalo_de_baixo_nível && Alto[max] < intervalo_de_alto_nível_s);

não funciona.
se eu remover o corredor Tudo está bem:

para (int max=1; max<1000; max+++)
if (Alto[max+1] < Alto[max] && Alto[max] > Alto[max-1] && Baixo[max+1] < Baixo[max] && Baixo[max] > Baixo[max-1] ) quebra;

Qual poderia ser o problema...?

Sugiro o roteiro "max_sergey_r".
O script está na pasta "scripts" do terminal (por exemplo, C:\Program Files\ FX Trader\experts\scripts).
O roteiro pode ser colocado no gráfico de qualquer instrumento, em qualquer período de tempo.
Arquivos anexados:
 
Roger:
Abra o indicador em duas janelas e defina a linha indesejada para a cor de fundo.
Se os valores das linhas tiverem uma ordem diferente, a metade da subjanela será um ponto em branco quando exibida desta forma. No momento eu tenho que exibir cada valor do indicador principal através de um indicador adicional com sua própria sub-janela. Portanto, o principal é carregado no fundo para TODAS as subjanelas abertas do indicador adicional, daí a carga extra no processador. Não é crítico, mas eu queria "perfeição" :)
 

5º fórum // Sou o único que recebe um erro?

 
abolk:

5º fórum // Sou o único que recebe um erro?


Provavelmente sim.
 

pessoal, ajudem-me a descobrir o que diabos é isto! Minha EA é projetada para apagar uma chanfradura, e se o preço não chegar a ela, mas se inverter para o nível de sua parada, a chanfradura deve ser apagada. mas no testador, às vezes uma chanfradura é apagada e imediatamente apagada antes mesmo de chegar à parada. Qual é o problema? Aqui está uma captura de tela e um código de exclusão.

Aqui está o código:

     if (Bid>SL)                                                              // Если Bid>уровня стопа
      {
      for (k = OrdersTotal()-1; k >= 0; k--)
         {
         OrderSelect(k,SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
            {
            if (OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)
               {
               if(OrderDelete(OrderTicket())==true)
                  {
                  Iterration--;
                  Alert ("Ордер SellStop удален.");
                  }
                }
             }
          }
       }

Qual é o erro aqui?

 
vovan-gogan:

E aqui está o código:

Qual é o erro aqui?

Não há erro no código, apenas lógica. Bid>SL é verificado e todas as ordens pendentes são excluídas (de onde SL é tirado não está claro no código). Se algo mais for necessário, então o objetivo é declarado passo a passo em linguagem compreensível.
 

Quero construir um Expert Advisor para diferentes prazos.

Quero construir um EA para diferentes prazos, me envie um "peixe".

Com os melhores cumprimentos

 
splxgf:
Sem erros no código, apenas erros lógicos. Bid>SL é verificado e todas as ordens pendentes são excluídas (de onde SL é tirado não está claro no código). Se algo mais for necessário, então o objetivo é declarado passo a passo em linguagem compreensível.

SL é fixado no nível de MA20 com 3 velas para trás.
 
vovan-gogan:

pessoal, ajudem-me a descobrir o que diabos é isto! Meu Conselheiro Especialista é projetado para colocar um oplot, e se o preço não chegar a ele, mas se inverter para o nível de sua parada, o oplot deve ser apagado. mas no testador, às vezes um oplot é colocado para fora e imediatamente apagado antes mesmo de chegar à parada. Qual é o problema? Aqui está uma captura de tela e um código de exclusão.

Aqui está o código:

Qual é o erro aqui?


substituir

if (Bid>SL)
{

em

if (Bid>SL)
{
   Print("Bid=",Bid," SL=",SL);

e veja o que diz o diário de bordo.

 
PapaYozh:


substituir

para

e veja o que diz o diário de bordo.


Qual é o objetivo? O nível SL está correto. Quando eu defino a variável SL para MA20 com um deslocamento de 3, eu saio o nível SL através do Alerta e ele está sempre no nível correto. Não sei por que o pedido é excluído antes de atingir o nível SL.
Razão: