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

 
um pouco errado na descrição no início ...deve desenhar se fechar em 1/3
 
Rapazes, a atualização já saiu?
 
Tenho uma pergunta sobre indicadores com estocásticos nos níveis 20 e 80. Ou MACD com nível 0.
então a questão é como tomar o valor do indicador quando ele está abaixo de 20 ou acima de 80, a linha principal e a linha de sinal.Ou cruzado atrás destes níveis.Valores do indicador, acho que tenho, mas então o que fazer com eles não sei.

Stoh=iStochastic(Símbolo(),PERÍODO_H1,Kperiod,Dperiod,slowing,MODE_SMA,0,MODE_MAIN,0);
StohSignal=iStochastic(Símbolo(),PERÍODO_H1,Kperiod,Dperiod,slowing,MODE_SMA,0,MODE_SIGNAL,0)

Macd=iMACD(Symbol(),PERIOD_H4,fast_ema_period,slow_ema_period,signal_period,PRICE_CLOSE,MODE_MAIN,0);
MacdSignal=iMACD(Symbol(),PERIOD_H4,fast_ema_period,slow_ema_period,signal_period,PRICE_CLOSE,MODE_SIGNAL,0);
 
denis77515:
Cavalheiros programadores, expliquem os indicadores estocásticos de pliz têm níveis 20, 80. Ou MACD com nível 0.
Acho que tenho o valor indicador, mas não sei o que fazer com ele.

Stoh=iStochastic(Symbol(),PERÍODO_H1,Kperiod,Dperiod,slowing,MODE_SMA,0,MODE_MAIN,0);
StohSignal=iStochastic(Symbol(),PERÍODO_H1,Kperiod,Dperiod,slowing,MODE_SMA,0,MODE_SIGNAL,0);

Macd=iMACD(Symbol(),PERIOD_H4,fast_ema_period,slow_ema_period,signal_period,PRICE_CLOSE,MODE_MAIN,0);
MacdSignal=iMACD(Symbol(),PERIOD_H4,fast_ema_period,slow_ema_period,signal_period,PRICE_CLOSE,MODE_SIGNAL,0);


Guia de estudo

embora provavelmente seja tarde demais, estamos atualizando hoje.

exemplo do tutorial

//--------------------------------------------------------------------
// grafobjects.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
int start()                            // Спец. функция start
  {
//--------------------------------------------------------------- 1 --
   int Sit;
   double MACD_M_0,MACD_M_1,           // Главная линия, 0 и 1 бар
   MACD_S_0,MACD_S_1;                  // Сигнальная линия, 0 и 1 бар
   string Text[4];                     // Объявление строков. массива
   color  Color[4];                    // Объявление массива цветов

   Text[0]= "Открытие Buy";            // Текст для различных ситуаций
   Text[1]= "Открытие Sell";
   Text[2]= "Удерживаем Buy";
   Text[3]= "Удерживаем Sell";

   Color[0]= DeepSkyBlue;              // Цвет объекта ..
   Color[1]= LightPink;                // .. для различных ситуаций
   Color[2]= Yellow;
   Color[3]= Yellow;
//--------------------------------------------------------------- 2 --
   ObjectCreate("Label_Obj_MACD", OBJ_LABEL, 0, 0, 0);// Создание объ.
   ObjectSet("Label_Obj_MACD", OBJPROP_CORNER, 1);    // Привязка угол
   ObjectSet("Label_Obj_MACD", OBJPROP_XDISTANCE, 10);// Координата Х
   ObjectSet("Label_Obj_MACD", OBJPROP_YDISTANCE, 15);// Координата Y
//--------------------------------------------------------------- 3 --
   MACD_M_0 =iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);  // 0 бар
   MACD_S_0 =iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);// 0 бар
   MACD_M_1 =iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);  // 1 бар
   MACD_S_1 =iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);// 1 бар
//--------------------------------------------------------------- 4 --
   // Анализ ситуации 
   if(MACD_M_1<MACD_S_1 && MACD_M_0>=MACD_S_0)// Персеч. снизу вверх
      Sit=0;
   if(MACD_M_1>MACD_S_1 && MACD_M_0<=MACD_S_0)// Персеч. сверху вниз
      Sit=1;
   if(MACD_M_1>MACD_S_1 && MACD_M_0>MACD_S_0) // Главная выше сигн.
      Sit=2;
   if(MACD_M_1<MACD_S_1 && MACD_M_0<MACD_S_0) // Главная ниже сигн.
      Sit=3;
//--------------------------------------------------------------- 5 --
   // Изменение свойств объекта
   ObjectSetText("Label_Obj_MACD",Text[Sit],10,"Arial",Color[Sit]);
//--------------------------------------------------------------- 6 --
   return;                             // Выход из start()
  }
//--------------------------------------------------------------- 7 --
int deinit()                           // Спец. функция deinit
   {
   ObjectDelete("Label_Obj_MACD");     // Удаление объекта
   return;                             // Выход из deinit()
   }
//--------------------------------------------------------------- 8 --
 
double close_price(int nomer_bara)
{
if(nomer_bara<1)
{
Alert("нельзя анализировать текущий бар");
}
else
{
if(iClose(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara)<iHigh(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara)/3)//возвращает 1/3 если цена текущего бара закрылась ниже 1/3 его спреда 
{
return(1/3);
}
if(iClose(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara)>iHigh(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara)/3&&(iClose(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara)<iHigh(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara)*2)/3)//возвращает 2/3 если цена текущего бара закрылась ниже 2/3 и выше 1/3 его спреда 
{
return(2/3);
}

if((iClose(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara)>(iHigh(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara))*2)/3&&iClose(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara)<iHigh(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara))//возвращает 1 если цена текущего бара закрылась выше 2/3 его спреда
{
return(1);
}
}

}

 if(close_price(1)==1/3)// в случае если цена закрылась внизу то нарисовать линию на этом баре
   {
 SetVLine(Red, "", Time[1], STYLE_SOLID, 2);
   }
и так вся проблема заключается в том что линия рисуется на каждом баре не пойму какого черта... помогите пожалуйста
a linha deve ser traçada na barra onde o preço fechou no fundo, ou seja, 1/3 de barra
 

Olá! Vou reinstalar o Windows, mas quando mudo a pasta EAs para o disco rígido, os EAs escritos recentemente desaparecem! Algum conselho sobre o que fazer?

*Não posso salvar o código em um documento e depois recriá-los, porque são muitos, e não quero perder dados por causa de um possível fator humano :)

 
O programador que escreveu o Expert Advisor desapareceu... Eu mesmo tive que terminá-lo... Eu mesmo tive que reescrevê-lo, e ainda tenho uma função a implementar. Meu consultor especializado está trabalhando em quebras de suporte e níveis de resistência + níveis de Fibo como um segundo sinal, respectivamente, em Fibo. Como resultado, recebo um sinal, mas não funcionou devido a algumas restrições ou pontos insuficientes para definir o Take Profit mínimo. Por favor, ajude, aconselhe ou lance um link para o conselheiro.... Estou procurando uma restrição para entrar no comércio. Para comprar o preço tem que quebrar o nível de baixo para cima apenas, e vender de cima para baixo. Muito obrigado de antemão!!!!!
 

Pessoal, por favor, ajudem, há uma função que devolve o lote da última ordem aberta (que ainda não está fechada). Você pode modificá-lo para devolver o lote do último pedido aberto (também ainda não fechado)? Basta fazê-lo sem usar matrizes...

double FindLastLots (int otype)
{
  double oldopenprice,oldlots;
  int oldticket;
  
  ticket = 0;
  
  for (int i = OrdersTotal()-1; i>=0; i--)
  {
    if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES)) 
    {
      if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType() == otype)
      {
         oldticket = OrderTicket();
         if (oldticket>ticket)
         {
            oldlots = OrderLots();
            ticket = oldticket; 
         } 
      }  
    }
  }
  return (oldlots);
}
 
Trader7777:

Pessoal, por favor, ajudem, há uma função que devolve o lote da última ordem aberta (que ainda não está fechada). Você pode modificá-lo para devolver o lote do último pedido aberto (também ainda não fechado)? Só o faça sem usar matrizes...

Você também não tem matrizes aqui. O código não é muito confiável. Você está procurando o último da lista de pedidos em aberto. IMHO, a ligação com isto não é muito confiável. A maneira mais confiável de encontrar a última ordem aberta é por seu tempo aberto (é a mais baixa de todas)
 
Há alguma maneira complicada de chamar a linha de tendência com uma tecla de atalho?