QPile
Продолжаем разрабатывать удобную библиотеку функций для работы с датой и временем на Qpile.
В первой части статьи мы разработали формат хранения даты и времени свечей.
http://robostroy.ru/community/article.aspx?id=296
Сегодня опубликована вторая часть статьи.
http://robostroy.ru/community/Article.aspx?id=307
Тут мы разрабатываем функцию, для вычитания из даты интервала времени, которому будет равен таймфрейм искомых свечей.
В итоге с помощью библиотеки в Qpile появится возможность находить свечу с заданным тайфреймом по номеру от текущего времени. Например, если надо найти нулевую свечу, интервал - 5 минут, а время сейчас 11.43, то начало нулевой свечи 11.40, первой — 11.35, второй — 11.30 и т.д. Эта функция будет описана в третьей статье, которая сейчас пишется.
Как известно, торговый терминал QUIK имеет встроенный интерпретатор программ, написанных на языке программирования QPILE. К достоинствам создания торговых роботов на QPILE следует отнести их простота в разработке и применении, надежность в работе. Кроме того, если Вас устраивает время реакции робота на событие на рынке в пределах 0.5-5 секунд, то QPILE – позволяет это обеспечить. Создание программ на языке QPILE имеет ряд особенностей. Учет этих особенностей позволяет не только быстро создавать и отлаживать программы, но и ускорить их дальнейшее исполнение интерпретатором.
http://robostroy.ru/community/Article.aspx?id=298
- 15 марта 2012, 14:57
- |
- siva
Хочу написать программу, которая будет выводить сообщение при условии, что ПроцИзмен < -2%
То есть чтобы при потере за день более 2% депозита мне выскакивало сообщение о том, что нужно закрыть позиции.
Вот что я написал пока:
PORTFOLIO_EX RiskManage;
DESCRIPTION Риск-менеджер;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST NCXXXXX00000;
PROGRAM
MAP=GET_CLIENT_MARGINAL_PORTFOLIO_INFO («NCXXXXX00000», «XXX»)
ProfitLossPercent=GET_VALUE(MAP, «RATE_CHANGE»)
END_PROGRAM
PARAMETER ProfitLossPercent;
PARAMETER_TITLE P/L %;
PARAMETER_DESCRIPTION Прибыль %;
PARAMETER_TYPE NUMERIC(10,2);
END
Вопрос:
Почему ничего не выводится(см. рис)?
Коллеги, а кто нить знает, как на qpile написать такую функцию:
Есть открытая позиция например по сберу. Мне нужно где то выводить текущий плюс или минут по сделке в пунктах если поза держится. Например: sber: -10 ли 1
Нужно для арбитражной торговли. Спасибо
Знающие люди подскажите! Как можно сделать цикл из даты, к примеру есть две строчки которые берут данные о 5 минуткой свечке
a = get_candle( get_collection_item(code,i), get_collection_item(one,i), "",5,1,20120302,184000)
b = get_candle( get_collection_item(code,i), get_collection_item(one,i),"",5,1,20120301,184000)
где 20120302 это дата 20120301 соответсвенно на день раньше, как можно сделать в цикле, что бы можно было перебрать скажем 300 дней? ествественно на ум приходит самый тупой способ взять 20120302 как переменную и тупо на каждой иттерации отнимать 1, но уже через 2 действия получим 20120299 — а это полный бред, нужно 20120229 .
Смотрел в документации — ничего не нашел, максимум нашел как взять за прошлый день .
Гугл тоже не помогает.
Знатоки алготрейдинга, подскажите ответ на нубский вопрос, изучаю язык 3 дня
нужно вывести в таблицу список тикеров,
вот так работает:
mp = set_value(mp,«Name»,«VTBR»)
add_item(1,mp)
mp = set_value(mp,«Name»,«VTBR»)
add_item(2,mp)
mp = set_value(mp,«Name»,«SBER»)
add_item(3,mp)
хочу сделать циклом, что бы выглядело нормально, создаю коллекцию далее забиваю в нее тикеры, а потом хочу взять данные из коллекции, но нифига не выводит:
one = create_collection()
one = set_collection_item(one,0,«SBER»)
one = set_collection_item(one,1,«VTBR»)
one = set_collection_item(one,2,«LKOH»)
mp = create_map()
FOR i FROM 0 to 2
f = get_collection_item(one,i)
'MESSAGE(f,1)
mp = set_value(mp,«Name»,f)
add_item(i,mp)
END FOR
Не пойму то ли get не дает string, то ли присваивание не правильное, очень нужен совет....
Реально ли сделать работоспособную стратегию на комбинации скользящих средких (Moving Average) с профитфактором больше 1,5?
Да, считаю, что можно, но с добовлением дополнительных фильтров
Не скажу, не хочу раскрывать грааль
Всего проголосовало: 73
Я тут на всем чем можно пытаюсь написать один и тот же алгоритм, основанный на нескольких скользящих средних.Итог везде совершенно разный:
- на MQL4 профит по это системке пропал в 2010 года.. до сих по тестам у него +- в одном диапозоне. ПФ=1,22
- на Wealth Lab профит колоссальный, хотя профит фактор 1,65.
- на ATF Transaq не оттестируешь на истории,но вроде правила соблюдает.
- на Qpile сделал из другой системы собственную. Но ни тот (оригинал), ни моя редакция не открывают сделки.
«номер торгового счета»
«код клиента»
в чем их отличие? если их не прописывать в qpile, работать не будеТ?
Вообще есть кто писал своего робота на QPILE? отзовитесь пожалуйста) есть вопросы)
вот что я ищу:
Торговый робот «Ema»NEW!!!
Стратегия: отслеживается пересечение двух любых кривых (ЕМА, SMA и т.п.) с настраиваемыми параметрами напрямую в графике QUIK. И на основании пересечения определяется направление открытия позиции. После пересечения выдерживается настраиваемый период времени-пауза для проверки постоянства пересечения, и если линии не прекратили «пересекаться» то отправляется приказ. Предусмотрена возможность реверсных сделок для перехода из ЛОНГА в ШОРТ и обратно. Отключаемая опция классического тейкпрофита, реализуемая посредством постановки лимитированной заявки в прибыль. Размер этого тейкпрофита настраивается в % от цены сделки. Единая версия для ММВБ и ФОРТС, площадка определяется автоматически по коду бумаги. Отключаемые шорты.
ссылка:
http://www.hirobot.ru/
Братва, ищу утилиту — помощника для QUIK. Риск менеджер. Основные функции:
- ограничение потерь в день
- автостоп
- ограничение количества торгуемых контрактов
- серия убыточных сделок
Перерыл рунет, нашел только у
XSELIUS за 7000 рублей. Может кто посоветует аналог подешевле или готов заказать за разумную цену?
Заранее спасибо.
Коллеги, а ктонить может поделится qpile роботом со встроенной функцией выставления заявки и стопа? Без описаний условий сигналов. Хочу поизучать купал, но с нуля тяжеловато. В интернете есть несколько доступных к скачиванию, но там они сложнее чем две ма пересекаются :)