[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 235

 
Como posso encontrar o menor máximo de uma vela em um determinado período de bar?
 
savage_pinguin:
Como posso encontrar o menor máximo de uma vela em um determinado período de bar?


Tente isto

bar=iLowest(NULL,0,MODE_HIGH,10,10);

 
alsu:

Por favor, observe.

1) A condição "linha1[1]>line2[1]" não é suficiente para o sinal de "passagem de duas linhas". Надо "линия1[1]>линия2[1]&&линия1[2]<линия2[2]"

2) O parabólico não deve ser comparado com o Aberto, mas com o Alto e o Baixo. Por favor, note que você o calcula na barra zero e toma Aberto[1] a partir da primeira barra.

Obrigado por sua atenção às minhas perguntas. Eu fiz o que você aconselhou. Mas agora a EA parou completamente de negociar. Talvez eu o tenha entendido mal e feito algo errado, ou há outros erros no código?

No momento, o código se parece com isto:

//+-------------------------------------------------------------------------------------+
//| Расчет значений технических индикаторов с формированием сигналов для позиций        |
//+-------------------------------------------------------------------------------------+
void GetSignal()
{
 Signal = 0;
// - 1 - == Получение значений индикаторов ==============================================
 double SAR = iSAR(Symbol(), 0, SARStep, SARMaximum, 0);
 double EnvUp = iEnvelopes(Symbol(), 0, EnvPeriod, EnvMethod, EnvShift, EnvPrice,
 EnvDeviation, MODE_UPPER, 1);
 double EnvDn = iEnvelopes(Symbol(), 0, EnvPeriod, EnvMethod, EnvShift, EnvPrice,
 EnvDeviation, MODE_LOWER, 1);
 double StochM = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_MAIN, 1);
 double StochS = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_SIGNAL, 1);
// - 1 - == Окончание блока =============================================================

// - 2 - == Генерация сигнала ===========================================================
 if (SAR < Low[1])
   {
    Signal = 3;                                                          // Закрытие SELL
    if (StochM > StochS && StochM < StochS && StochM >= 80 &&
    StochS >= 80 && High[1] >= EnvUp && SAR < High[1])
      Signal = 1;                                                         // Открытие BUY
   }   
 
 if (SAR > High[1])
   {
    Signal = 4;                                                           // Закрытие BUY
    if (StochM < StochS && StochM > StochS &&  StochM <= 20 &&
    StochS <= 20 && Low[1] <= EnvDn && SAR > Low[1])
      Signal = 2;                                                        // Открытие SELL
   }   
// - 2 - == Окончание блока =============================================================
}

Por favor, ajude-me a compreendê-lo, eu realmente quero fazer este comércio de EA.

Edit: Um grande pedido: se for possível, por favor, formule sua resposta na forma de código.
Não esqueça que ainda sou um completo "boneco" na programação... Não quero ter que lhe perguntar novamente.
 

Alguém que me explique o código Ilan 1.4. Quero dizer, quero mudá-lo um pouco para mim, mas o código das outras pessoas não entende nada. Alguém pode me explicar, pelo menos bloco por bloco, o que é feito?

Não tenho cérebro suficiente para a realização - estou familiarizado com a MQL4 há apenas uma semana.

Se alguém puder me ajudar, eu ficaria muito grato, se você puder escrever para delit-0202@rambler.ru

E então, como determinar a tendência em uma EA? Pelo menos um geral, talvez até um de atraso. Como se faria isso?

 
daytrader19:

Obrigado por sua atenção às minhas perguntas. Eu fiz o que você aconselhou. Mas agora a EA parou completamente de operar. Talvez eu o tenha entendido mal e feito algo errado, ou há alguns outros erros no código?

No momento, o código se parece com isto:

Por favor, ajude-me a compreendê-lo, eu realmente quero fazer este comércio de EA.

Edit: Uma grande solicitação: se for possível, por favor, formule sua resposta em forma de código.
Não esqueça que ainda sou um completo "boneco" na programação... Não quero ter que lhe perguntar novamente.

Como ele pode negociar se isto

 StochM < StochS && StochM > StochS

É uma condição obviamente impossível de ser preenchida? É preciso calcular os valores estocásticos na primeira e segunda barras.

 double StochM1 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_MAIN, 1);
 double StochS1 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_SIGNAL, 1);
 double StochM2 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_MAIN, 2);
 double StochS2 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_SIGNAL, 2);

if( StochM1 < StochS1 && StochM2 > StochS2 ...
 

Se você não se importa, gostaria de esclarecer mais uma coisa. Eu entendi meu erro com Stochastic, mas e quanto a outros indicadores? Nenhum erro no uso de Envelope e Parabólico? Eu deveria ter algum)). Por favor, olhe tanto a abertura quanto o fechamento.

E obrigado pela última construção do MT5, eu já fiz o download.

 

Alguém aqui acabou de perguntar como alterar o conteúdo do texto. O correio desapareceu enquanto eu o respondia. Só para o caso de alguém precisar.

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start(){

   ObjectCreate("1",OBJ_TEXT,0,Time[0],Open[0]);
   ObjectSet("1",OBJPROP_FONTSIZE,16);
   ObjectSet("1",OBJPROP_COLOR,Red);
   if(!ObjectSetText("1","Пример создания нового текста",16,"Verdana",Red)){
    Alert("Ошибка № ",GetLastError()," при изменении описания текста");
   }

  return(0);
}
//+------------------------------------------------------------------+ 
 

Não estou recebendo um texto...

ObjectSetText(name,buf1[i]/buf2[i]*100,6,"Arial",C'0,33,0');
ошибка 4062
 
eddy:

Não estou recebendo um texto...


buf1[i]/buf2[i]*100 - o segundo parâmetro desta função deve ser string. Ler parâmetros aqui - bool ObjectSetText( nome dastring, texto da string, int font_size, string font_name=NULL, cor do texto_color=CLR_NONE)
 
Como faço para transformar uma int em uma string, além de escrever um texto de string=int_peremennaya