Здравсвуйте, господа проверил 20 раз. Странно, но в некоторых работает терминалах, в некоторых нет. Следующее уравнение:
// D leveles set double Side1_High=iHigh("EURUSD",PERIOD_D1,0); double Side2_High=iHigh("EURJPY",PERIOD_D1,0); double Side3_High=iHigh("USDJPY",PERIOD_D1,0); // U levels set double Side1_Low=iLow("EURUSD",PERIOD_D1,0); double Side2_Low=iLow("EURJPY",PERIOD_D1,0); double Side3_Low=iLow("USDJPY",PERIOD_D1,0);
Возваршает цену iOpen(пара, период_д1, 0);
При этом если советника подключить на счет, то проблемы нет и он возвращает верные значения.
Jesli bar tolko sto sformirovalsia ( i ja vizu, vi isplozujete 0 bar), tak i high i low i close budut rovni open, a volume - 1
Это не при чем.
Еще раз проверил:
if(iHigh("EURJPY",PERIOD_D1,0)==iLow("EURJPY",PERIOD_D1,0)){ Print("Равенство: верно"); } else { Print("Равенство: не верно"); }
2008.04.16 17:08:00 2008.04.16 16:07 test EURUSD,M15: Равенство: врено
2008.04.16 17:08:00 2008.04.16 16:07 test EURUSD,M15: Равенство: врено
2008.04.16 17:08:00 2008.04.16 16:07 test EURUSD,M15: Равенство: врено
2008.04.16 17:08:00 2008.04.16 16:07 test EURUSD,M15: Равенство: врено
2008.04.16 17:08:00 2008.04.16 16:07 test EURUSD,M15: Равенство: врено
2008.04.16 17:08:00 2008.04.16 16:06 test EURUSD,M15: Равенство: врено
2008.04.15 13:11:29 2008.04.15 16:03 test EURUSD,M15: Равенство: врено
2008.04.15 13:11:29 2008.04.15 16:03 test EURUSD,M15: Равенство: врено
2008.04.15 13:11:28 2008.04.15 16:03 test EURUSD,M15: Равенство: врено
2008.04.15 13:11:24 2008.04.15 16:03 test EURUSD,M15: Равенство: врено
2008.04.15 13:11:24 2008.04.15 16:03 test EURUSD,M15: Равенство: врено
2008.04.15 13:11:24 2008.04.15 16:03 test EURUSD,M15: Равенство: врено
Тест проходил на евробаксе.
иХай и иЛоу возвращают значения типа double, которые нужно нормализовать перед сравнением. Прибейте это к стенке...
Игорь, ну почему бы сначала не проверить, а потом кричать: (Запишите это себе)
2008.04.16 18:05:40 2008.04.16 17:05 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:05 test EURUSD,M15: Равенство: верно160.81=160.81
2008.04.16 18:05:40 2008.04.16 17:05 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:05 test EURUSD,M15: Равенство: верно160.81=160.81
2008.04.16 18:05:40 2008.04.16 17:04 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:04 test EURUSD,M15: Равенство: верно160.81=160.81
2008.04.16 18:05:40 2008.04.16 17:04 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:04 test EURUSD,M15: Равенство: верно160.81=160.81
2008.04.16 18:05:40 2008.04.16 17:04 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:04 test EURUSD,M15: Равенство: верно160.81=160.81
2008.04.16 18:05:40 2008.04.16 17:04 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:04 test EURUSD,M15: Равенство: верно160.81=160.81
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: Равенство: верно160.81=160.81
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: Равенство: верно160.81=160.81
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: Равенство: верно160.81=160.81
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: Равенство: верно160.81=160.81
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: Равенство: верно160.81=160.81
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: Равенство: верно160.81=160.81
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: Равенство: верно160.81=160.81
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: Равенство: верно160.81=160.81
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: Равенство: верно160.81=160.81
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: Равенство: верно160.81=160.81
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:03 test EURUSD,M15: Равенство: верно160.81=160.81
2008.04.16 18:05:40 2008.04.16 17:02 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:02 test EURUSD,M15: Равенство: верно160.81=160.81
2008.04.16 18:05:40 2008.04.16 17:02 test EURUSD,M15: zero divide
2008.04.16 18:05:40 2008.04.16 17:02 test EURUSD,M15: Равенство: верно160.81=160.81
if(NormalizeDouble(iHigh("EURJPY",PERIOD_D1,0),2)==NormalizeDouble(iLow("EURJPY",PERIOD_D1,0),2)){ Print("Равенство: верно ", iHigh("EURJPY",PERIOD_D1,0), " = ", iLow("EURJPY",PERIOD_D1,0)); } else { Print("Равенство: не верно"); }
2008.04.16 18:08:46 2008.04.16 16:58 test EURUSD,M15: Равенство: верно 160.81 = 160.81
2008.04.16 18:08:46 2008.04.16 16:57 test EURUSD,M15: zero divide
2008.04.16 18:08:46 2008.04.16 16:57 test EURUSD,M15: Равенство: верно 160.81 = 160.81
2008.04.16 18:08:46 2008.04.16 16:57 test EURUSD,M15: zero divide
2008.04.16 18:08:46 2008.04.16 16:57 test EURUSD,M15: Равенство: верно 160.81 = 160.81
2008.04.16 18:08:46 2008.04.16 16:57 test EURUSD,M15: zero divide
2008.04.16 18:08:46 2008.04.16 16:57 test EURUSD,M15: Равенство: верно 160.81 = 160.81
2008.04.16 18:08:46 2008.04.16 16:57 test EURUSD,M15: zero divide
2008.04.16 18:08:46 2008.04.16 16:57 test EURUSD,M15: Равенство: верно 160.81 = 160.81
2008.04.16 18:08:46 2008.04.16 16:57 test EURUSD,M15: zero divide
2008.04.16 18:08:46 2008.04.16 16:57 test EURUSD,M15: Равенство: верно 160.81 = 160.81
2008.04.16 18:08:46 2008.04.16 16:57 test EURUSD,M15: zero divide
2008.04.16 18:08:46 2008.04.16 16:57 test EURUSD,M15: Равенство: верно 160.81 = 160.81
2008.04.16 18:08:46 2008.04.16 16:56 test EURUSD,M15: zero divide
2008.04.16 18:08:46 2008.04.16 16:56 test EURUSD,M15: Равенство: верно 160.81 = 160.81
2008.04.16 18:08:46 2008.04.16 16:56 test EURUSD,M15: zero divide
2008.04.16 18:08:46 2008.04.16 16:56 test EURUSD,M15: Равенство: верно 160.81 = 160.81
2008.04.16 18:08:46 2008.04.16 16:56 test EURUSD,M15: zero divide
2008.04.16 18:08:46 2008.04.16 16:56 test EURUSD,M15: Равенство: верно 160.81 = 160.81
иХай и иЛоу возвращают значения типа double, которые нужно нормализовать перед сравнением. Прибейте это к стенке...
Игорь, ну почему бы сначала не проверить, а потом кричать:
Я среагировал на то, что знаю. Увидел, что нет нормализации и отреагировал. Текущий Ваш вопрос это не решает, но поможет избежать проблем в будущем и в других местах. Возьмите это за правило. Перед сравнением double всегда нормализовать. А впрочем, как хотите. Не по делу я влез. Извините...
иХай и иЛоу возвращают значения типа double, которые нужно нормализовать перед сравнением. Прибейте это к стенке...
Игорь, ну почему бы сначала не проверить, а потом кричать:
Я среагировал на то, что знаю. Увидел, что нет нормализации и отреагировал. Текущий Ваш вопрос это не решает, но поможет избежать проблем в будущем и в других местах. Возьмите это за правило. Перед сравнением double всегда нормализовать. А впрочем, как хотите. Не по делу я влез. Извините...
Да и Вы простите, спасибо, учту обязательно. :)
вот я на GBPCHF проверил:
2008.04.16 20:20:46 2001.01.09 06:16 e-VisualTest GBPCHF,H1: Равенство: верно
2008.04.16 20:20:46 2001.01.09 06:16 e-VisualTest GBPCHF,H1: Равенство: верно
2008.04.16 20:20:46 2001.01.09 06:16 e-VisualTest GBPCHF,H1: Равенство: верно
2008.04.16 20:20:45 2001.01.09 06:16 e-VisualTest GBPCHF,H1: Равенство: верно
2008.04.16 20:20:45 2001.01.09 06:16 e-VisualTest GBPCHF,H1: Равенство: верно
2008.04.16 20:20:45 2001.01.09 06:16 e-VisualTest GBPCHF,H1: Равенство: верно
2008.04.16 20:20:45 2001.01.09 06:16 e-VisualTest GBPCHF,H1: Равенство: верно
а что за "zero divide" у Вас?
на EURUSD, как у Вас тоже ок:
2008.04.16 20:24:08 2007.11.23 16:12 e-VisualTest EURUSD,H1: Равенство: верно
2008.04.16 20:24:08 2007.11.23 16:12 e-VisualTest EURUSD,H1: Равенство: верно
2008.04.16 20:24:08 2007.11.23 16:12 e-VisualTest EURUSD,H1: Равенство: верно
2008.04.16 20:24:08 2007.11.23 16:12 e-VisualTest EURUSD,H1: Равенство: верно
2008.04.16 20:24:08 2007.11.23 16:11 e-VisualTest EURUSD,H1: Равенство: верно
2008.04.16 20:24:08 2007.11.23 16:11 e-VisualTest EURUSD,H1: Равенство: верно
вот код:
void start() { if (iHigh("EURJPY", PERIOD_D1, 0)==iLow("EURJPY", PERIOD_D1, 0)) { Print("Равенство: верно"); } else { Print("Равенство: не верно"); } }
вот я на GBPCHF проверил:
2008.04.16 20:20:46 2001.01.09 06:16 e-VisualTest GBPCHF,H1: Равенство: верно
2008.04.16 20:20:46 2001.01.09 06:16 e-VisualTest GBPCHF,H1: Равенство: верно
2008.04.16 20:20:46 2001.01.09 06:16 e-VisualTest GBPCHF,H1: Равенство: верно
2008.04.16 20:20:45 2001.01.09 06:16 e-VisualTest GBPCHF,H1: Равенство: верно
2008.04.16 20:20:45 2001.01.09 06:16 e-VisualTest GBPCHF,H1: Равенство: верно
2008.04.16 20:20:45 2001.01.09 06:16 e-VisualTest GBPCHF,H1: Равенство: верно
2008.04.16 20:20:45 2001.01.09 06:16 e-VisualTest GBPCHF,H1: Равенство: верно
а что за "zero divide" у Вас?
В том-то и дело, что iHigh всегда равно iLow и iHigh-iLow всегда 0. :(
В предидущей версии такого небыло. У меня это всплыло вчера при автооптимизации. Сильно поетрял я на этом. :(
у меня получается, что иХай, иЛоу на нулевом баре равны иСлоуз:
2008.04.16 20:35:11 2007.11.27 14:23 e-VisualTest EURUSD,H1: Равенство: верно 159.81 159.81 159.81
2008.04.16 20:35:11 2007.11.27 14:23 e-VisualTest EURUSD,H1: Равенство: верно 159.81 159.81 159.81
2008.04.16 20:35:11 2007.11.27 14:23 e-VisualTest EURUSD,H1: Равенство: верно 159.81 159.81 159.81
2008.04.16 20:35:11 2007.11.27 14:23 e-VisualTest EURUSD,H1: Равенство: верно 159.81 159.81 159.81
2008.04.16 20:35:11 2007.11.27 14:23 e-VisualTest EURUSD,H1: Равенство: верно 159.81 159.81 159.81
2008.04.16 20:35:11 2007.11.27 14:23 e-VisualTest EURUSD,H1: Равенство: верно 159.81 159.81 159.81
код:
void start() { if (iHigh("EURJPY", PERIOD_D1, 0)==iLow("EURJPY", PERIOD_D1, 0)) { Print("Равенство: верно", " ", iHigh("EURJPY", PERIOD_D1, 0), " ", iLow("EURJPY", PERIOD_D1, 0), " ", iClose("EURJPY", PERIOD_D1, 0)); } else { Print("Равенство: не верно", " ", iHigh("EURJPY", PERIOD_D1, 0), " ", iLow("EURJPY", PERIOD_D1, 0), " ", iClose("EURJPY", PERIOD_D1, 0)); } }
а если брать не нулевой бар, а, например, первый, то всё ОК:
2008.04.16 20:37:34 2007.11.26 13:05 e-VisualTest EURUSD,H1: Равенство: не верно 161.65 159.45 160.64
2008.04.16 20:37:34 2007.11.26 13:05 e-VisualTest EURUSD,H1: Равенство: не верно 161.65 159.45 160.64
2008.04.16 20:37:34 2007.11.26 13:05 e-VisualTest EURUSD,H1: Равенство: не верно 161.65 159.45 160.64
2008.04.16 20:37:33 2007.11.26 12:13 e-VisualTest EURUSD,H1: Равенство: не верно 161.65 159.45 160.64
код:
void start() { if (iHigh("EURJPY", PERIOD_D1, 1)==iLow("EURJPY", PERIOD_D1, 1)) { Print("Равенство: верно", " ", iHigh("EURJPY", PERIOD_D1, 1), " ", iLow("EURJPY", PERIOD_D1, 1), " ", iClose("EURJPY", PERIOD_D1, 1)); } else { Print("Равенство: не верно", " ", iHigh("EURJPY", PERIOD_D1, 1), " ", iLow("EURJPY", PERIOD_D1, 1), " ", iClose("EURJPY", PERIOD_D1, 1)); } }
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Возваршает цену iOpen(пара, период_д1, 0);
На текущей (евробакс) возвращаются верные значения, а вот кросс (евройену) возвращает криво.
При этом если советника подключить на счет, то проблемы нет и он возвращает верные значения.