Нда, кода конечно исчерпывающее количество))))) Предположительно
проблема в том, что несvотря на отсутсвие значков рисуемых индикаоров
его значение всегда больше 0,1, так как пустые значения равны
оооочень большому числу. Надо или проверять индикатор на неравенство
константе EMPTY_VALUE, или в ините задать величину пустого значения
SetyIndexEmptyValue(0,0.0)
проблема точно не в этом потому что функции CalcS() и CalcB() возвращают
значении 0 или в >1, но <2...
я это знаю, вот оно равно или 0 или в интервале [1;2], если 0 то нет
сигнала, больше 0.1 есть... оно не может быть большим числом... я
могу выложить полный код, но думаю ничего нового там не увидишь.
кстати пробовал проверку на пустое значение, не помогло...
а галочку пересчитать пробовал ставить?
FsShoman:
на графике сигналы отображаются нормально, а при тестировании эксперта,
сигналы практически не совпадают, то они есть то их нет то есть но не те...
С чем может быть связано такое такое различие?
Сигнал берется с 0-го бара?на графике сигналы отображаются нормально, а при тестировании эксперта,
сигналы практически не совпадают, то они есть то их нет то есть но не те...
С чем может быть связано такое такое различие?
Файлы fxt сгенерированы из той же истории, которая потом открывается в графике?
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
#property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Red #property indicator_color2 Blue double ExtHistoBuffer[]; double ExtHistoBuffer2[]; double CalcS() { ... } double CalcB() { ... } int init() { SetIndexStyle(0, DRAW_ARROW, STYLE_SOLID); SetIndexBuffer(0, ExtHistoBuffer); SetIndexLabel(0,"PatternSig_SELL"); SetIndexArrow(0,234); SetIndexStyle(1, DRAW_ARROW, STYLE_SOLID); SetIndexBuffer(1, ExtHistoBuffer2); SetIndexLabel(1,"PatternSig_BUY"); SetIndexArrow(1,233); return(0); } void start() { int shift=0; for(shift=Bars-10;shift>=0;shift--) { ExtHistoBuffer[shift]=CalcS(); ExtHistoBuffer2[shift]=CalcB(); } }потом есть его вызов из эксперта
int GetSig() { double b,s; int Sg=0; //1-buy; 2-sell s=iCustom(NULL,0,"PatternSignal",0,1); b=iCustom(NULL,0,"PatternSignal",1,1); if (b>0.1) Sg=1; if (s>0.1) Sg=2; if (!Sg==0) Print("Sg=",Sg); return(Sg); }на графике сигналы отображаются нормально, а при тестировании эксперта,
сигналы практически не совпадают, то они есть то их нет то есть но не те...
С чем может быть связано такое такое различие?