Делаю советник...Мне нужно открыть сделку ровно например в 9 утра на открытие свечи (М30). где реализовывать эту функцию сравнеия времени ? ведь функция Start() срабатывает каждый ТИК, но тик бывает с задержкой больше секунды, а значит и время нужное может не сработать, если его высчитывать в теле Start()...если мне нужно открыть сделку в 9.00.00. Или может можно реализовать открытие сделки без функции Start()?
- Посоветуйте а? Как в советнике обратиться к открытию свечи в 9.30 например. на м30
- [АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3.
- Основные вопросы ...
А смысл? Неужели 1 тик может ТАК критично повлиять на ТС?!
maximvip:
Делаю советник...Мне нужно открыть сделку ровно например в 9 утра на открытие свечи (М30). где реализовывать эту функцию сравнеия времени ? ведь функция Start() срабатывает каждый ТИК, но тик бывает с задержкой больше секунды, а значит и время нужное может не сработать, если его высчитывать в теле Start()...если мне нужно открыть сделку в 9.00.00. Или может можно реализовать открытие сделки без функции Start()?
Делаю советник...Мне нужно открыть сделку ровно например в 9 утра на открытие свечи (М30). где реализовывать эту функцию сравнеия времени ? ведь функция Start() срабатывает каждый ТИК, но тик бывает с задержкой больше секунды, а значит и время нужное может не сработать, если его высчитывать в теле Start()...если мне нужно открыть сделку в 9.00.00. Или может можно реализовать открытие сделки без функции Start()?
Да есть варианты, но опять же в 9:00:00 вы только пошлете приказ на открытие сделки, а когда она откроется в 9:00:15 или 9:01 ? Смысл городить такой огород с этой точностью? Трейдинг это отнюдь не математика
в целом мне надо открыть сделку чем точнее тем лучше...но видимо я чего то не понимаю и так как задержка в тиках может быть больше секунды, я дал диапозон в 5 секунд...то есть если от 9.00.00 до 9.00.05 был тик, то срабатывает Start() и открывается сделка...НО если за эти 5 сек будет больше одного тика то столько же сделок и откроется...а функция Sleep на тестере не работает почему то....и открывает на тестере он по 5 сделок....а мне бы одну...Может надо проверку делать на отрытые ордера но ордера то открываются не сразу а запросов за это время молжет послаться много.
extern double Th=09;
extern double Tm=0;
extern double Ts=0;
extern double Ts2=5;
//--------------------------------------------------------------- 2 --
int start()
{
int Ch=Hour();
double Cm =Minute();
double Cc = Seconds();
if (Ch==Th && Cm==Tm && Cc>=Ts && Cc<=Ts2)
{
Executor();
Sleep(500000);
}
return;
}
extern double Tm=0;
extern double Ts=0;
extern double Ts2=5;
//--------------------------------------------------------------- 2 --
int start()
{
int Ch=Hour();
double Cm =Minute();
double Cc = Seconds();
if (Ch==Th && Cm==Tm && Cc>=Ts && Cc<=Ts2)
{
Executor();
Sleep(500000);
}
return;
}
в функции Executor(); прописаны критерии открытия ордеров
Я бы сделел так:
extern double Th=9; int D; //--------------------------------------------------------------- 2 -- int start() { if (OrdersTotal()==0) {if (D!=Day()) {if (Hour()==Th) {Executor(); D=Day(); } } } return; }
вооо if (OrdersTotal()==0) вот этой то строчки и не хватало...Спасибо большое.. Выручил.
maximvip:
вооо if (OrdersTotal()==0) вот этой то строчки и не хватало...Спасибо большое.. Выручил.
На секунды и минуты тебе тоже нет смысла проверять - 9 часов наступает с первой секундой. :)
вооо if (OrdersTotal()==0) вот этой то строчки и не хватало...Спасибо большое.. Выручил.
Cmu4:
На секунды и минуты тебе тоже нет смысла проверять - 9 часов наступает с первой секундой. :)
На секунды и минуты тебе тоже нет смысла проверять - 9 часов наступает с первой секундой. :)
Да, если в 9:00:00 будет тик.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь