[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 378

 
Mais uma vez, quero me repetir.
(Low[2]==Low[1])||(Close[2]==Low[1])||(Low[2]==Open[1])
Você não pode estabelecer condições como essa. Estes são eventos improváveis.
 
atguard:

Pergunta: Como obter o valor de "turno"? (ao chamar o indicador com um turno, ele usa os mesmos valores que sem ele, ou sejaiCustom(NULL, 0, "nome",pam1,0,1)= iCustom(NULL, 0, "nome",pam1,0,100), mas se eu chamar o indicador 100 barras atrás, ele terá um valor diferente do iCustom(NULL, 0, "nome",pam1,0,100). O indicador é simples, ele usa 5 valores fechados anteriores e toma sua média.



duplo iCustom ( símbolo de corda, int timeframe, nome da corda, ..., modo int, int shift)

shift é o número da barra da qual se obtém os dados indicadores, zero barra é a barra atual que ainda não foi fechada. O parâmetro é chamado shift porque mostra o offset dos dados recebidos da barra zero em barras.

 
silhouette:

Eu uso a função Terminal() do tutorial ao fechar posições, desde que Mas_Ord_New[0][0]!=0. Mas aqui temos outra tarefa: precisamos fazer uma bandeira proibindo o comércio no sinal atual, se uma ordem já foi aberta sobre ele. Estou tentando usar bandeiras, mas cometi um erro.

Penso que seria melhor colocar um número mágico apropriado na ordem e verificar se tal posição está na lista. Se houver = flag-true, não = flag-false. Então, na condição de abrir uma posição em seu sinal, insira uma bandeira, por exemplo

bool flag_1=true;
int MagNum_1=555;

int start()
{
// ...

if (OrdersTotal()>0)
{  for (int i=OrdersTotal()-1; i>=0; i--)
   {  if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {  if (OrderMagicNumber()==MagNum_1)
              flag_1=true;
         else flag_1=false;
}  }  }

if (flag_1==false && /*данное условие открытия позиции*/)
{ OrderSend(..., MagNum_1, ...);
}
//...
}
 
paladin80:

Acho melhor colocar o número mágico apropriado na ordem e verificar se essa posição está na lista. Se houver uma bandeira verdadeira, nenhuma bandeira falsa. Então, se uma posição for aberta pelo seu sinal, insira uma bandeira, por exemplo


Isto é, se eu entendi corretamente, você propõe usar vários magiks correspondentes a cada tipo de sinal?
 
Você pode me dizer por que o otimista pode contar mas não produzir resultados? Não há erros no registro. O algoritmo genético está desativado. O intervalo de otimização é de 5 dias, o modo é todo ticks, o período é qualquer m1, m5, m15, m30. E somente a partir do período H1 é que os resultados aparecem.
 
Desead:
Você pode me dizer por que o otimista pode contar mas não produzir resultados? Não há erros no registro. O algoritmo genético está desativado. O intervalo de otimização é de 5 dias, o modo é todo ticks, o período é qualquer m1, m5, m15, m30. Os resultados só aparecem a partir do período H1.

Em períodos menores que H1, o algoritmo falha.
 
Vinin:

Em períodos mais curtos que o H1, os despencões.
Exatamente! Há até mesmo uma caixa de seleção para isso, como é que eu não sabia disso ). Obrigado.
 
Desead:
Você pode me dizer por que o otimista pode contar mas não produzir resultados? Não há erros no registro. O algoritmo genético está desativado. O intervalo de otimização é de 5 dias, o modo é todo ticks, o período é qualquer m1, m5, m15, m30. E os resultados só aparecem a partir do período H1.

Se os ganhos são negativos com esta combinação de parâmetros, os resultados não são mostrados. Geralmente, 5 dias é um período muito curto, fixado em pelo menos um mês.
 

Boa tarde. Por favor, você pode me aconselhar, eu preciso que o indicador seja exibido não em toda a história, mas apenas na borda em um determinado número de barras. Código:

//+------------------------------------------------------------------+
//| Индикатор арбитражной ситуации для спреда, состоящего            |
//| из 4-х инструментов                                             |
//| Copyright © 2010, leonid553, Son_Of_Earth                        |
//+------------------------------------------------------------------+
#property copyright "leonid553 & Son_Of_Earth"
#property link      "leonid553@ya.ru,sonofearth.ua@gmail.com"

#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Blue
#property indicator_color2 Red
#property indicator_color3 Yellow
#property indicator_color4 Black
#property indicator_width1 1
#property indicator_width2 1
#property indicator_width3 1
#property indicator_width4 1


extern string Symbol1.Name = "EURUSD";     // Название инструмента 1
extern bool   Symbol1.Reverse = false;     
extern string Symbol2.Name = "";           // Название инструмента 2
extern bool   Symbol2.Reverse = false;     
extern string Symbol3.Name = "";           // Название инструмента 3
extern bool   Symbol3.Reverse = false;     
extern string Symbol4.Name = "";           // Название инструмента 4
extern bool   Symbol4.Reverse = false;     

extern string  ___MISC___ = " == Прочие настройки ==========";




extern string  ___MA___   = " == Параметры МА ценовых линий ====";

extern int MA.Slow = 50;                   // Период медленной МА


// Буферы для отображения данных
double Buf1[];    // Первый инструмент
double Buf2[];    // Второй инструмент
double Buf3[];    // Третий инструмент
double Buf4[];    // Четрертый инструмент



//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init() {
  // Делаем нечувствительными к регистру ввода наименования инструментов
  Symbol1.Name=StringUpper(Symbol1.Name);
  Symbol2.Name=StringUpper(Symbol2.Name);
  Symbol3.Name=StringUpper(Symbol3.Name);
  Symbol4.Name=StringUpper(Symbol4.Name);

  // Определяем балансовые коэффициенты каждого инструмента
  kVol1=1;
  kVol2=1;
  kVol3=1;
  kVol4=1;
  
  // Задаем имена графическим объектам
  oSymb1=Symbol1.Name;
  oSymb2=Symbol2.Name;
  oSymb3=Symbol3.Name;
  oSymb4=Symbol4.Name;


  // Формируем свойства графиков индикатора
  IndicatorBuffers(4);
  
  SetIndexStyle(0,DRAW_LINE);
  SetIndexBuffer(0,Buf1);
  SetIndexLabel(0, Symbol1.Name); 

  SetIndexStyle(1,DRAW_LINE);
  SetIndexBuffer(1,Buf2);
  SetIndexLabel(1,Symbol2.Name); 

  SetIndexStyle(2,DRAW_LINE);
  SetIndexBuffer(2,Buf3);
  SetIndexLabel(2,Symbol3.Name);

  SetIndexStyle(3,DRAW_LINE);
  SetIndexBuffer(3,Buf4);
  SetIndexLabel(3,Symbol4.Name);

  soundCount=0; // Максимально к-во повторов звукового сигнала

  return(0);
}

//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()  {
  // Удаляем все графические объекты
  DeleteObject(oSymb1);
  DeleteObject(oSymb2); 
  DeleteObject(oSymb3);
  DeleteObject(oSymb4);

  return(0);  
}

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start() {
  // Подсчет количества баров для построения индикатора
  int limit; int counted_bars=IndicatorCounted();
  if(counted_bars<0) return(-1);
  if(counted_bars>0) counted_bars--; 
  limit=Bars-counted_bars;
  
  // Определяем параметры окна индикатора
  wndNum=WindowFind(WindowExpertName());
  wndName=WindowExpertName()+wndNum; 


  
 
  //------------------------------------------------------------------ 
  // Отрисовка ценовых линий: рисуем и синхронизируем по наличию баров
  for(int i=0; i<limit; i++) { 
    // Первый ценовой график
    Buf1[i]= iClose(Symbol1.Name,0,i);
    // Второй ценовой график
    Buf2[i]= iClose(Symbol2.Name,0,i);
    // Третий ценовой график
    Buf3[i]= iClose(Symbol3.Name,0,i);
    // Четвертый ценовой график
    Buf4[i]= iClose(Symbol4.Name,0,i);

 
  } // Конец блока отрисовки ценовых линий

E também, como saber o preço de um instrumento para um determinado número de barras ao contrário?
 
A tarefa é exibir valores indicadores e porcentagem de mudança de preço desde o início do dia para diferentes instrumentos em uma janela. Tudo isso pode ser exibido em uma janela sem um gráfico? É possível exibir valores indicadores a partir de diferentes períodos de tempo? Eu também ficaria muito grato por exemplos de algo semelhante. Obrigado!