А это моя функция
double iOpen( | string symbol, int timeframe, int shift) |
int timeframe, а у Вас extern string P = "PERIOD_D1"
Т.е. PERIOD_D1 etc - это не строковые переменные, а целые константы, соответственно во внешних параметрах надо указывать либо 1, 5, 15 и т.д., либо, для возможности перебора при оптимизации, целые знвчения от 0 до 9, а в советнике (в модуле init) писать case, в котором и выбирается конкретная константа.
Период графика может быть любым из следующих величин:
Константа | Значение | Описание |
---|---|---|
PERIOD_M1 | 1 | 1 минута |
PERIOD_M5 | 5 | 5 минут |
PERIOD_M15 | 15 | 15 минут |
PERIOD_M30 | 30 | 30 минут |
PERIOD_H1 | 60 | 1 час |
PERIOD_H4 | 240 | 4 часа |
PERIOD_D1 | 1440 | 1 день |
PERIOD_W1 | 10080 | 1 неделя |
PERIOD_MN1 | 43200 | 1 месяц |
0 (ноль) | 0 | Период текущего графика |
Cпасибо!!!
А как бы это использовать по эффективнее?
Cпасибо!!!
А как бы это использовать по эффективнее?
Я - как-то так
extern int iPeriod = 0; int ePeriod; ... int init() { switch(iPeriod) { case 0: ePeriod = 0; break; case 1: ePeriod = PERIOD_M1; break; case 2: ePeriod = PERIOD_M5; break; case 3: ePeriod = PERIOD_M15; break; case 4: ePeriod = PERIOD_M30; break; case 5: ePeriod = PERIOD_H1; break; case 6: ePeriod = PERIOD_H4; break; case 7: ePeriod = PERIOD_D1; break; case 8: ePeriod = PERIOD_W1; break; case 9: ePeriod = PERIOD_MN1; break; default: ePeriod = 0; break; } return(0); } int start() { ... double hb0 = iOpen(Symbol(),ePeriod,i); }
Или, чтобы минимизировать правку советника (уж больно много, причем не оправдано, вызовов iClose etc), написать вместо ePeriod - P, поменяв extern string на фрагмент выше. Но это при условии, что будут перебираться таймфреймы. Иначе - зачем выность это во внешний параметр. По этой же причине, я никогда не выношу во внешние параметры логические переменные. 1 и 0 вполне хватает.
Cпасибо!!!
А как бы это использовать по эффективнее?
Привет Лиза! давай знакомиться))
бегло просмотрел информацию, очень интересно, вот как это в торговле использовать. Неужто придется опять браться за дело
Всем привет!
Прочитала интересную инфу (прикрепляю ее). Написала функцию.
Ошибок компайлер не выдает, а запуская в терминале пишет:
"invalid integer nuvber 2 for iSeries function".
Кто- то может подсказать причину?
Посмотри тут 'Умная голова хорошо, две еще лучше'
Вообще-то у меня появилась идея написать скрипт - который будет выдавать статистику зависимости кода от предыдущей свечи. А уже по этой статистике можно было бы и что-то создать!!!
По одной последней мало, а вот по трём предыдущим - в самый раз.
Группы про три. Слева направо. Зеленый бар - вверх, красный - вниз. Куда пойдёт четвёртый? Это уже статистика.
И так далее.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем привет!
Прочитала интересную инфу (прикрепляю ее). Написала функцию.
Ошибок компайлер не выдает, а запуская в терминале пишет:
"invalid integer nuvber 2 for iSeries function".
Кто- то может подсказать причину?