O que todos estão procurando? - página 15

 
AlexEro писал(а) >>

Por favor.

Tanto de mim mesmo como de von Neumann....

...bem, se for esse o caso, então também de Eric Nyman (não o conheço, mas conheço algumas pessoas do seu círculo).


Clinique - Não conheço o homem, mas ele lhe envia seus cumprimentos. :)
Bem, obrigado por dizer oi. :)) Diga a ele que eu também disse oi. :))
 

Aí está - que especialista isto é -

// Эксперт SUPPER-SMART-1 --  "SS1" :)
int init(){ return(0); }
int deinit()  {   return(0);  }

int sti=-1;
int bti=-1;

int start(){
  
   double sell_sig = iCustom ( 0, 0, "ideal", 60,15,60, 0, 0 );
   double buy_sig  = iCustom ( 0, 0, "ideal", 60,15,60, 1, 0 );
    
   if ( sell_sig != EMPTY_VALUE ){
      if ( bti > 0 ){
         OrderClose ( bti, 0.1, Bid, 0  );
         bti=-1;
      }  
      if ( sti < 0 )
         sti=OrderSend( Symbol(), OP_SELL, 0.1, Bid, 0, 0,0 );
   }
   if (  buy_sig != EMPTY_VALUE ){
      if ( sti > 0 ){
         OrderClose ( sti, 0.1, Ask, 0  );
         sti=-1;
      }
      if ( bti < 0 )       
         bti=OrderSend( Symbol(), OP_BUY, 0.1, Ask, 0, 0,0 ); 
   }  
   return(0);
}
 
#property indicator_chart_window

#property  indicator_buffers 2
#property  indicator_color1  Yellow
#property  indicator_color2  Red

extern int p1=60,p2=15,p3=60;

double Sales_buffer[];
double Buys_buffer[];

datetime times[];
double   signals[];
#define SALE_SIGNAL 1
#define BUY_SIGNAL 2

/*

некий абстрактный идеальный индикатор - который знает будущее и всегда показывает идеальные входы и выходы. 

Служит только для сравнения с рельными индикторами как единица отсчета. Все не совпадения с этим индикатором ухудшают 
показатели реального. Входные параметры теже что и у стандартоного зигзага.

Использовать надо так. 

1) На графике, не в тестере добавляем этот индикатор, который при своем первом запуске создаст файл данных и именем ideal_data.dat
2) Этот файл надо перенести в файлы тестера 
3) При тестировании из советника надо обратится к этому индикатору таким образом  

  double sell_sig = iCustom ( 0, 0, "ideal", 60,15,60, 0, 0 );
  double buy_sig  = iCustom ( 0, 0, "ideal", 60,15,60, 1, 0 );
  
4) Наличие сигнала на продажу или покупку определяется как не равенство пустому значению значения в соответствующем буфере .


Пример эксперта использующего этот псевдо-индикатор 


int init(){ return(0); }
int deinit()  {   return(0);  }

int sti=-1;
int bti=-1;

int start(){
  
   double sell_sig = iCustom ( 0, 0, "ideal", 60,15,60, 0, 0 );
   double buy_sig  = iCustom ( 0, 0, "ideal", 60,15,60, 1, 0 );
    
   if ( sell_sig != EMPTY_VALUE ){
      if ( bti > 0 ){
         OrderClose ( bti, 0.1, Bid, 0  );
         bti=-1;
      }  
      if ( sti < 0 )
         sti=OrderSend( Symbol(), OP_SELL, 0.1, Bid, 0, 0,0 );
   }
   if (  buy_sig != EMPTY_VALUE ){
      if ( sti > 0 ){
         OrderClose ( sti, 0.1, Ask, 0  );
         sti=-1;
      }
      if ( bti < 0 )       
         bti=OrderSend( Symbol(), OP_BUY, 0.1, Ask, 0, 0,0 ); 
   }  
   return(0);
}



*/

int init()
{
   SetIndexBuffer(0,Sales_buffer);
   SetIndexBuffer(1,Buys_buffer);
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(0,SYMBOL_STOPSIGN);
   SetIndexArrow(1,SYMBOL_STOPSIGN);
   
   int i;
   int h=FileOpen ( "ideal_data.dat", FILE_BIN | FILE_READ );
   if ( h >= 1 ){
      
      
      int s = FileSize(h) / (LONG_VALUE+LONG_VALUE);
      
      ArrayResize(times, s);
      ArrayResize(signals,s);
      
      for( i=0;i<s;i++){
         if (  FileIsEnding(h) ){
            Print("Err22");
            break;
         }
         
         times[i] = FileReadInteger(h,LONG_VALUE);
         signals[i]= FileReadInteger(h,LONG_VALUE );
   //      Print("i=",i,"t=",times[i],"s=",signals[i]);

      }
      
      FileClose(h);
      Print("Ok Read");
      
   }
   else{
      h=FileOpen ( "ideal_data.dat", FILE_BIN | FILE_WRITE ); 
      if ( h < 1 ){
         Print("Err");
         return;
      }
      int j=0;
      
      ArrayResize(times, Bars);
      ArrayResize(signals,Bars);
      
      for (  i=0;i<Bars;i++){
          double pr0=iCustom(0,0,"Zigzag",p1,p2,p3,0,i);
          double pr1=iCustom(0,0,"Zigzag",p1,p2,p3,1,i);
          double pr2=iCustom(0,0,"Zigzag",p1,p2,p3,2,i);
          
          if ( pr0 != 0.0 ){
            times[j]=Time[i];
            
            FileWriteInteger(h,Time[i],LONG_VALUE);
            if ( pr1 != 0.0 ){
               FileWriteInteger(h,SALE_SIGNAL,LONG_VALUE);
               signals[j]=SALE_SIGNAL;
            }
            else{
               FileWriteInteger(h,BUY_SIGNAL,LONG_VALUE);
               signals[j]=BUY_SIGNAL;
            }
            
//            Print("j=",j,",t=",times[j],",p=",signals[j],",p1=",pr1,",p2=",pr1,",p3=",pr2);
            j++;   
          }
      } 
      
      ArrayResize(times, j);
      ArrayResize(signals,j);
      
      FileClose(h);  
      Print("Ok write");
   }
   

   return(0);
}
int deinit()
{
   return(0);
}

int start()
{

   int j=0;
   
   int limit;

   int counted_bars = IndicatorCounted();

   if(counted_bars>0) 
      counted_bars--;
  
  limit = Bars-counted_bars;

  for(int i=0; i<limit; i++){
      
      while ( Time[i] < times[j] )
         j++;     
    
    //  Print("i=",i,",j=",j,",T[i]=",Time[i],",T[j]=",times[j],",s=",signals[j]);
      if ( times[j] == Time[i] ){
         if ( signals[j] == BUY_SIGNAL ){
            Buys_buffer [i]= Low[i];
            Sales_buffer[i]=EMPTY_VALUE;
         }
         else{
            Sales_buffer[i]= High[i];
            Buys_buffer [i]= EMPTY_VALUE;
         }
      }
      else{
         Sales_buffer[i]=EMPTY_VALUE;
         Buys_buffer[i]= EMPTY_VALUE;
      }            
   }
      
   return(0);
}
 
SProgrammer >>:


Уважаемый - я уже все сказал для тебя, Ты меня утомил, причем тут все эти твои сентенции про перерисовку и прочую ахинею. Твое мнение уже озвученно, спасибо - все прочитали. Думаю впечатление сложилось правильное. Мне же нечего тебе ответить - просто успокойся и не переживай - все хорошо.

Bem, se me disserem que hoje é 5 de abril, acho que também vou concordar.
E em relação à abordagem dos indicadores, eu disse no próximo tópico: ".... Em qualquer caso, se estamos falando de indicadores, devemos falar sobre a precisão com que eles refletem o que queremos rastrear.
É por isso que eu não tenho nada contra isso...)))
Mas para a essência do ramo, a essência é a seguinte: o redator do tópico não precisa da opinião de alguém. Ou melhor, ele precisa dela, mas apenas com o único propósito de convencer-se mais uma vez de como ela é burra, a opinião de qualquer outra pessoa. Isso é verdade para a maioria de suas incursões no fórum, no entanto.
Para participar disto é ...))))
===
Desculpe - eu não estou falando com você - meu erro. Estava respondendo ao posto de AlexEro:

Os remédios não estão chegando de novo? Bem, diz-se que o Relenium ajuda.

Bem, para acalmá-lo e ser gentil, vou lhe dizer isto - concordo com você (e alguns outros colegas neste fórum) sobre a parte da REFERÊNCIA.

Pessoalmente, não entendo por que quase todos aqui pensam que se um indicador se sobrepõe, é "ruim". Pelo contrário, é "bom". O ambiente de mercado está em constante mudança, os modelos mecânicos simples não funcionam e, portanto, o REABORAÇÃO significa que o indicador está se adaptando às mudanças no mercado.



 
Svinozavr писал(а) >>

Bem, se me disserem que hoje é 5 de abril, acho que eu também concordaria.
Quanto à abordagem dos indicadores, eu disse no próximo tópico: "... Em qualquer caso, se estamos falando de indicadores, devemos falar sobre a precisão com que eles refletem o que queremos rastrear.
É por isso que eu não tenho nada contra isso...)))
Mas para a essência do ramo, a essência é a seguinte: o topiksaturter não precisa da opinião de alguém. Ou melhor, ele precisa dela, mas apenas com o único propósito de convencer-se mais uma vez de como ela é burra, a opinião de qualquer outra pessoa. Isso é verdade para a maioria de suas incursões no fórum, no entanto.
Para participar disto é ...))))




Não julgue por si mesmo. :)
 
Mathemat писал(а) >>

Havia também um fio condutor sobre isto. Uma falsa declaração de problema.

O problema é que estas lâmpadas-sinais estarão dependentes. E mesmo se você colocar um milhão deles, não 100, a confiabilidade de uma previsão complexa para uma determinada correlação de sinais de lâmpadas será limitada e não será tão próxima de 1.

Em Metastock todos os indicadores estão divididos em grupos: tendência, volatilidade, dinâmica, volume, sobre-compra/sobre-venda e algo mais - um total de seis grupos. Suspeita-se que estes são indicadores independentes. O mesmo Metastock afirma que um bom TS deve conter indicadores de cada grupo. Há algum tempo atrás eu já me ressentia de que um conjunto de indicadores de metaquotas estivesse fora do estádio, sem pensar. Um dos autores gosta e é isso. Como resultado, toda a população deste quorum não está familiarizada com a idéia de um conjunto ortogonal de indicadores.
 
faa1947 писал(а) >>


Em Metastock todos os indicadores estão divididos em grupos: tendência, volatilidade, momentum, volume e assim por diante - seis grupos no total. Suspeita-se que estes são indicadores independentes. O mesmo Metastock afirma que o bom TS deve conter indicadores de cada grupo. Há algum tempo atrás eu já me ressentia de que um conjunto de indicadores de metaquotas estivesse fora da caixa, sem pensar. Um dos autores gosta e é isso. Como resultado, toda a população deste quorum não está familiarizada com a idéia de um conjunto ortogonal de indicadores.


A questão é que devemos entender que se tivermos algum objeto e ele tiver apenas duas propriedades, em princípio apenas quatro indicadores são possíveis e todos os demais são excedentes. Para o olho - sim, eles podem ser úteis - mas para o computador não importa, então você precisa entender quantas propriedades temos em nosso objeto.

 



Bom para os olhos - concordar :)))

 
SProgrammer писал(а) >>


A questão é que precisamos entender que se tivermos um objeto e ele tiver apenas duas propriedades, então em princípio apenas quatro indicadores são possíveis, o resto será redundante. Portanto, devemos pensar em quantas propriedades temos para nosso objeto.


Todos nós temos um objeto - BP, mas ninguém faz a pergunta sobre o número de parâmetros orto-normais para a identificação desta BP. Na verdade, isso não é necessário. Precisamos de um conjunto orthonormal de indicadores para o TS que teria uma propriedade de previsão para o número suficiente de barras para a retirada de lucro. Mas a idéia de orthonormalidade é apenas uma cultura comum de seleção ou elaboração de indicadores. Todos que trabalharam em Metastock têm este nível, mas com metaquotas este nível não tem. Esta não é a primeira vez que escrevo sobre isto. Minha resposta anterior foi da Roche, ele me repreendeu e pronto, mas eu realmente não me importo. Na MQL5, em vez de orthonormality, eles adicionaram algumas porcarias de programadores e estão felizes.
 

Bem, a BP tem MUITO poucas propriedades independentes. A primeira derivada, e o espectro, bem, o próprio espectro inclui a amplitude em uma certa freqüência - portanto, temos essencialmente mashups (propriedades do espectro) e a primeira derivada. E é isso aí. A primeira derivada é calculada como segue: pelo preço médio ((Alto(i) + Baixo(i))/2) - ((Alto(i-1) + Baixo(i-1))/2). Bem, (Aberto + Fechado) é na verdade o valor mais provável da BP. E eu não levaria em conta a Abertura e a Fechamento - está no spanktrap.