Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Извини, я понятней объяснить не умею..
hs60=iCustom(NULL,60,"i_FD_Range-Sm",RSM_Period,RSM_Range,RSM_Shift,RSM_Smooth,RSM_CountBars,0,0);
ls60=iCustom(NULL,60,"i_FD_Range-Sm",RSM_Period,RSM_Range,RSM_Shift,RSM_Smooth,RSM_CountBars,1,0);
rl60=iCustom(NULL,60,"i_FD_Range-Sm",RSM_Period,RSM_Range,RSM_Shift,RSM_Smooth,RSM_CountBars,2,0);
sl60=iCustom(NULL,60,"i_FD_Range-Sm",RSM_Period,RSM_Range,RSM_Shift,RSM_Smooth,RSM_CountBars,3,0);
hs15=iCustom(NULL,15,"i_FD_Range-Sm",RSM_Period,RSM_Range,RSM_Shift,RSM_Smooth,RSM_CountBars,0,0);
ls15=iCustom(NULL,15,"i_FD_Range-Sm",RSM_Period,RSM_Range,RSM_Shift,RSM_Smooth,RSM_CountBars,1,0);
rl15=iCustom(NULL,15,"i_FD_Range-Sm",RSM_Period,RSM_Range,RSM_Shift,RSM_Smooth,RSM_CountBars,2,0);
MA=iMA(NULL,15,35,0,MODE_SMA,PRICE_MEDIAN,0);
И еще - на хрена на каждом тике вычислять всю эту прорву параметров?
Предпологается, что история по всем тайм-фреймам имеется?
Имеется.
Зачем вычислять такое количество параметров, это вопрос не принципиальный. Это экспериментальный образец эксперта, использующий индикатор предназначенный для визуальной работы. При необходимости количество буферов в индикаторе можно сократить до двух, или вообще написать совсем другой эксперт.
Проблема в другом - почему результаты тестирования разные.
Провел контрольный эксперимент - можно посмотреть прямо здесь - http://indus7.narod.ru/
Линии эквити далеко не идентичные. Только не говорите, зачем я так озаботился экспертом показывающим убытки. Вопрос то не в этом, а в том как работает тестер стратегий.
2. На хрена использовать индикаторы с 15-минутного тайм-фрейма при тестировании на часовке и 4-х часовке?
давай код индюка )
и, пожалуйста, вставляй его в тег [code]....
#property indicator_chart_window #property indicator_buffers 4 #property indicator_color1 DimGray #property indicator_color2 DimGray #property indicator_color3 DodgerBlue #property indicator_color4 Red extern int i_Period=30; extern int i_Range=3; extern int i_Shift=30; extern int i_Smooth=7; extern int i_CountBars=500; double ExtMapBuffer1[]; double ExtMapBuffer2[]; double ExtMapBuffer3[]; double ExtMapBuffer4[]; double ExtMapBuffer5[]; double ExtMapBuffer6[]; string tr; int init(){ IndicatorBuffers(6); SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,ExtMapBuffer1); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,ExtMapBuffer2); SetIndexStyle(2,DRAW_LINE); SetIndexBuffer(2,ExtMapBuffer3); SetIndexStyle(3,DRAW_LINE); SetIndexBuffer(3,ExtMapBuffer4); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(4,ExtMapBuffer5); SetIndexBuffer(5,ExtMapBuffer6); return(0); } int start(){ double hs,ls; int limit; int counted_bars=IndicatorCounted(); // определим количество просчитаных баров у индикатора if(counted_bars>0){ counted_bars--; } limit=Bars-counted_bars; // определяем границу до которой рассчитываем значения индикатора for(int i=0; i<limit; i++){ hs=0; ls=0; for(int j=0;j<i_Range;j++){ hs+=High[Highest(NULL,0,MODE_HIGH,i_Period,j*i_Period+i_Shift+i)]; ls+=Low[Lowest(NULL,0,MODE_LOW,i_Period,j*i_Period+i_Shift+i)]; } hs/=i_Range; ls/=i_Range; ExtMapBuffer5[i]=hs; ExtMapBuffer6[i]=ls; } if(limit>i_CountBars){ limit=i_CountBars; } for(i=0; i<limit; i++){ ExtMapBuffer1[i]=iMAOnArray(ExtMapBuffer5,0,i_Smooth,0,MODE_SMA,i); ExtMapBuffer2[i]=iMAOnArray(ExtMapBuffer6,0,i_Smooth,0,MODE_SMA,i); } for(i=limit-1; i>=0; i--){ if(High[i]>ExtMapBuffer1[i]){ tr="up"; } if(Low[i]<ExtMapBuffer2[i]){ tr="down"; } if(tr=="up"){ ExtMapBuffer4[i]=ExtMapBuffer2[i]; } else{ ExtMapBuffer4[i]=EMPTY_VALUE; } if(tr=="down"){ ExtMapBuffer3[i]=ExtMapBuffer1[i]; } else{ ExtMapBuffer3[i]=EMPTY_VALUE; } } return(0); }1. Я повторю - на хрена на каждом тике вычислять всю эту прорву параметров?
2. На хрена использовать индикаторы с 15-минутного тайм-фрейма при тестировании на часовке и 4-х часовке?
1. Для точности эксперимента.
2. Для точного входа.
как ты собирался вычислить iMAOnArray на незаполненных данных???