Что все ищут? - страница 15

 
AlexEro писал(а) >>

Пожалуйста.

И от себя, и от фон Неймана....

...ну раз такое дело, тогда заодно ещё и от Эрика Наймана (я с ним не знаком, но пару человек из его окружения я знаю).


Клиника - я человка не знаю но тебе привет от него. :)
Ну спасибо за привет. :)) Ты ему тоже передавай. :))
 

Ну вот - что это за експерт -

// Эксперт 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 >>:


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

Ну, если мне скажут, что сегодня 5-е апреля, то я тоже, пожалуй, соглашусь.
А по поводу подхода к индикаторам я высказался в соседней ветке: "... По-любому, если говорить об индикаторах - стоит говорить насколько точно они отражают то, что зажелалось отследить."
Потому ничего не имею против...)))
Если же к сути ветки, то суть она такая: топиксатртеру ни нафиг не нужно чье-то мнение. Вернее, оно нужно, но только лишь затем, чтобы в очередной раз убедить себя насколько оно, любое чужое мнение, тупое. Впрочем, это касается большинства его вылазок на форум.
Участвовать в этом - ...)))
===
Пардон - это я не вам - ошибся. Отвечал на пост AlexEro:

Чё, опять медикаменты не подвезли ? Ну там реланиум говорят помогает.

Ну чтоб ты успокоился и стал добрый, я вот те чё скажу - я с тобой (а также с некоторыми другими коллегами по этому форуму) согласен в части ПЕРЕРИСОВКИ.

Лично я совсем не понимаю, почему тут почти все считают, что если индикатор перерисовывается, то он "плохой". По моему, наоборот, именно тогда он "хороший". Обстановка на рынке постоянно меняется, механические простые модели не работают, и поэтому НЕКОТОРАЯ перерисовка означает адаптацию индикатора к изменениям на рынке.



 
Svinozavr писал(а) >>

Ну, если мне скажут, что сегодня 5-е апреля, то я тоже, пожалуй, соглашусь.
А по поводу подхода к индикаторам я высказался в соседней ветке: "... По-любому, если говорить об индикаторах - стоит говорить насколько точно они отражают то, что зажелалось отследить."
Потому ничего не имею против...)))
Если же к сути ветки, то суть она такая: топиксатртеру ни нафиг не нужно чье-то мнение. Вернее, оно нужно, но только лишь затем, чтобы в очередной раз убедить себя насколько оно, любое чужое мнение, тупое. Впрочем, это касается большинства его вылазок на форум.
Участвовать в этом - ...)))




Не надо судить по себе. :)
 
Mathemat писал(а) >>

Была ветка и об этом. Фальшивая постановка задачи.

Проблема в том, что эти лампочки-сигналы будут зависимыми. И хоть их миллион поставь, а не 100, все равно надежность комплексного предсказания при заданной корреляции сигналов лампочек будет ограниченной и не будет сколь угодно близка к 1.

В Метастоке все индикаторы разделены на группы: трендовые, валонтильности, момента, объема, перекупленности-перепроданности и еще что-то - всего шесть групп. Подозрения, что это независимые индикаторы. В этом же Метастоке утверждается, что хорошая ТС должна содержать индикаторы из каждой группы. Когда-то я уже возмущался, что набор индикатор метаквотов - это от балды, мысли никакой. Кто-то из авторов любит и все. В результате все население этого кворума не знакомо с идеей ортогонального набора индикаторов.
 
faa1947 писал(а) >>


В Метастоке все индикаторы разделены на группы: трендовые, валонтильности, момента, объема е ще что-то - всего шесть групп. Подозрения, что это независимые индикаторы. В этом же Метастоке утверждается, что хорошая ТС должна содержать индикаторы из каждой группы. Когда-то я уже возмущался, что набор индикатор метаквотов - это от балды, мыысли никакой. Кто-то из авторов любит и все. В результате все население этого кворума не знакомо с идеей ортогонального набора индикаторов.


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

 



Приятно для глаз - согласитесь :)))

 
SProgrammer писал(а) >>


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


Все мы имеем один объект - ВР, но никто не ставит перед собой вопрос о количесчестве ортонортмальных параметров дли идентификации этого ВР. В действительности это и не нужно. Нужен ортонормальныйй набор индикаторов для ТС, которая обладала бы прогнозирующим свойством на достаточное число баров для снятия прибыли. Но идея ортонормальности - это просто общая культура подбора или раработки индикаторов. Все, кто работал в Метастоке имеют этот уровень, а с метаквотами этого уровня не имеет. Пишу об этом не первый раз. Прошлый раз ответил Рош, обругал и дело с концом, но мне то все равно. В MQL5 вместо ортонормальности навертели какой-то программисткой фигни и радуются.
 

Ну ВР имеет ОЧЕНЬ мало независимых свойств. Первую производную, и спектр, ну сам спектр включает в себя амплитуду на некой частоте - итого мы имеем по сути машки ( свойства спектра ) и первую производную . И все. Первая производная считается так - по средней цене ( (High(i) + Low(i))/2 ) - ( (High(i-1) + Low(i-1))/2 ) . Ну сами (Open-+-Close) это по сути наиболее вероятное значение ВР. Да и то Open и Close я бы не учитывал - это есть в сперктре.

Причина обращения: