- За 7 лет млн.$
- [Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2.
- Подвисание терминала... билд 218
Т.е если советник работает в реале и мы меняем параметры советника - то как мы можем в программе это отследить.
extern int TP = 100; int C_TPSLl(string sSymbol,int iBend) { double HL; HL = 0; for ( int iB = 1; iB < iBend; iB++) { HL = HL + (iHigh(sSymbol,PERIOD_D1,iB ) - iLow( sSymbol,PERIOD_D1,iB )) / MarketInfo(sSymbol,MODE_POINT); } return( HL / iBend ); } static datetime saveTimeD1 = 0; void init() { saveTimeD1 = iTime( Symbol() , PERIOD_D1,0); TP = TPSLl ( Symbol() , 50 ); // меняем EXTERN } void start () { int sTP; if ( saveTimeD1 != iTime( Symbol() ,PERIOD_D1,0) ) { if ( sTP <> TPSLl ( Symbol() , 50 ) ) TP = sTP; // вот мы и отследили смену ТП который задавался как EXTERN saveTimeD1 = iTime( Symbol() , PERIOD_D1,0); } }
Вы немного меня не поняли. Я имел ввиду смену параметров из интерфейса MT.
Можно конечно каждый раз в функции start их сравнивать.
Ваш пост меня натолкнул на мысль, что это можно делать каждый час, чтобы не грузить советника или поставить
булеву переменную, которую нужно будет менять на true.
Вы немного меня не поняли. Я имел ввиду смену параметров из интерфейса MT.
Можно конечно каждый раз в функции start их сравнивать.
Ваш пост меня натолкнул на мысль, что это можно делать каждый час, чтобы не грузить советника или поставить
булеву переменную, которую нужно будет менять на true.
т е Вы имеете ввиду ситуацию
у ВАС есть параметры
а при пуске из интерфейса КТО ТО зачем то поменял их! ?
---
и эксперт при пуске что бы это как то решил?
---
каждый час или 4 часа или еще как то
а можно проверять еще истинность параметров при ПРИНЯТИИ торгового решения!
---
хотя а вдруг те параметры человек ВЫСТРАДАЛ и они более правильные
У меня давно витает МЫСЛЬ практически с самого начала ПАРАМЕТРЫ НАДО МЕНЯТЬ по рыночной ситуации
они не могут быть статичны
самый идеальный случай это ПОДБОР ПАРАМЕТРОВ по ситуации на рынке!
я привел код расчета параметра ТЕЙКА - в зависимости от средне дневного хода по рыночной ситуации
т е Вы имеете ввиду ситуацию
у ВАС есть параметры
а при пуске из интерфейса КТО ТО зачем то поменял их! ?
---
и эксперт при пуске что бы это как то решил?
---
каждый час или 4 часа или еще как то
а можно проверять еще истинность параметров при ПРИНЯТИИ торгового решения!
---
хотя а вдруг те параметры человек ВЫСТРАДАЛ и они более правильные
У меня давно витает МЫСЛЬ практически с самого начала ПАРАМЕТРЫ НАДО МЕНЯТЬ по рыночной ситуации
они не могут быть статичны
самый идеальный случай это ПОДБОР ПАРАМЕТРОВ по ситуации на рынке!
я привел код расчета параметра ТЕЙКА - в зависимости от средне дневного хода по рыночной ситуации
Не при пуске интерфейса, а в момент работы советника(вы же в своей функции в процессе работы меняете параметр TP, только програмно)
Я может быть плохо сформулировал вопрос. Скажем по другому.
Что произойдет если сменить параметры из интерфейс во время работы советника?:
вызовется ли функция init(), т.е произойдет ли перезапуск советника?
Не при пуске интерфейса, а в момент работы советника(вы же в своей функции в процессе работы меняете параметр TP, только програмно)
Я может быть плохо сформулировал вопрос. Скажем по другому.
Что произойдет если сменить параметры из интерфейс во время работы советника?:
вызовется ли функция init(), т.е произойдет ли перезапуск советника?
нет конечно не произойдет,
потом если ваш робот меняет параметры то выже его писали, не сам же он решил их поменять
обрабатывайте такую ситауцию,
только как было замечено в окне задания параметров значения будут старые, которые были выставлены при запуске
В приложенном файле находится мини советник, который нужно повесить на демо реал.
У вас должен будет появиться алерт с надписью "Init: a=10". Также каждый тик будет появляться новый алерт
в котором будет выводится "Start: a=10".
Теперь если мы сменим из интерфейса приложения какой нибудь параметр произойдет сначала деинициализация, а потом
инициализация советника.
Меням параметр -> Порождаем вызов функций deinit(), init().
В документация я по этому поводу ничего не нашел.
Никто так развернуто и не ответил на мой вопрос.
В приложенном файле находится мини советник, который нужно повесить на демо реал.
У вас должен будет появиться алерт с надписью "Init: a=10". Также каждый тик будет появляться новый алерт
в котором будет выводится "Start: a=10".
Теперь если мы сменим из интерфейса приложения какой нибудь параметр произойдет сначала деинициализация, а потом
инициализация советника.
Меням параметр -> Порождаем вызов функций deinit(), init().
В документация я по этому поводу ничего не нашел.
1. деинициализация и инициализация - функции написанные Вами.
2. изменение переменных extern - изменяет только их значение, новые значения будут использоваться дальше в теле эксперта.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования