Когда я только учился программированию, я думал, что все функции будут выполняться 1 раз.
Вот
была у меня такая программа "если цена станет больше 1.3000, то открыть
сделку". И я думал, что сделка откроется на этой отметке и всё, она
будет ждать стоплосса или тейкпрофита.
Но нет, сделки начали открываться на каждом тике.
и тогда я понял что нужно использовать флаг и снимать его когда сделка уже откроется.
теперь
у меня в программе полно флагов.
flag1
flag2
flag3
и для построения линий флаг и для
открытия сделок и для взятия времени первого тика и для всего.
правильно ли я поступаю? или можно всё организовать как-то более умно?)
всё, вообще всё в мк4 упирается в цикл перебора ордеров/объектов/глобпеременных/чего угодно, флаги практически никогда не использую потому как их нужно на глобальный уровень выводить чтоб не обнулялись при переинициализации, если хочешь чтото программно сделать то сначала спроси у сервера - например а есть ли открытая сделка, если есть то по какой цене открыта, каким объёмом и в каком направлении итд итп, и если цена открытия "примерно" равна текущей +- отклонение то будет считать что по текущей цене сделка уже открыта и новую открывать не надо и так на каждом тике переспрашиваешь сервер, он от этого не лопнет
igrok333: правильно ли я поступаю? или можно всё организовать как-то более умно?)
При перезагрузке терминала все флаги обнуляются (если конечно вы их не храните в особых местах)Правильнее все условия проверять "на лету", по текущей ситуации на текущий момент.
Допустим перед открытием ордера проверять, открыт ли уже ордер.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь