спасибо за работу, но фильтр МА не фильтрует сигналы buy и sell. просмотрите пожалуйста!
extern string фильтр_МА="если FastMA выше SlowMA то только Buy";
extern int
periodFastMA = 0 ; //Фильтр по МА Если Fast и Slow = 0 то нет фильтра
extern int
periodSlowMA = 0 ; //если Fast > Slow то разрешены только Buy иначе только Sell
и
double
FastMA = iMA(NULL,0,periodFastMA,0,MODE_EMA,PRICE_OPEN,0);
double
SlowMA = iMA(NULL,0,periodSlowMA,0,MODE_EMA,PRICE_OPEN,0);
BUYOK = (FastMA>SlowMA);
SELLOK = (FastMA<SlowMA);
здесь у него разноречивые условия...
1. если
periodFastMA >
periodSlowMA то разрешены только Buy иначе только Sell
или
2.
BUYOK = (FastMA>SlowMA);
SELLOK = (FastMA<SlowMA);
не в обиду автору - но это совершенно разные вещи...
т.е. начальное условие объявлено , что если
periodFastMA >
periodSlowMA -
(если Fast > Slow то разрешены только Buy иначе только Sell) -
но это периоды МАшек, а фактически фильтрация идёт по
2.
BUYOK = (FastMA>SlowMA);
SELLOK = (FastMA<SlowMA);
естественно Вы, устанавливая
periodFastMA >
periodSlowMA ждёте от него
только BUY, но это не так...
periodFastMA - это быстрая МАшка,
periodSlowMA - медленная и соответственно
период быстрой МАшки должен быть МЕНЬШЕ периода медленной