Избранное трейдера Anest
//=== Регистрация реализованных в dll функций, чтобы они стали "видимы" для Lua ================================//
static struct luaL_reg ls_lib[] = {
{ "TestFunc", forLua_TestFunc }, // из скрипта Lua эту функцию можно будет вызывать так: QluaCSharpConnector.TestFunc(); здесь можно указать любое другое название
{ NULL, NULL }
};
//=== Регистрация названия библиотеки, видимого в скрипте Lua ==================================================//
//extern "C" LUALIB_API int luaopen_connector(lua_State *L) {
// luaL_openlibs(L, "connector", ls_lib, 0);
// return 0;
//}
extern "C" LUALIB_API int luaopen_connector(lua_State *L) {
lua_newtable(L);
luaL_setfuncs(L, ls_lib, 0);
lua_pushvalue(L, -1);
lua_setglobal(L, "connector");
return 0;
}


Рассказываю о полезных инструментах, которые используют долгосрочные инвесторы. Эти инструменты дают дополнительную информацию и помогают прогнозировать рынок.
Purchasing Managers' Index (PMI)
PMI — это индекс деловой активности, который рассчитывается на основе опроса менеджеров по закупкам из различных компаний. Ежемесячно сотрудников снабжения спрашивают про экономическую ситуацию в стране, а ответы обрабатывают специальным алгоритмом.
Затем формируется «индекс оптимизма». Если большинство менеджеров считают, что все хорошо, и экономика улучшается, то индекс растет. Если они говорят, что все плохо, то индекс падает. При этом обычно формируются два индекса — один для сферы промышленности (основной), а другой — для сферы услуг (дополнительный).
Нейтральное значение индекса составляет 50 пунктов. Значения выше говорят о росте деловой активности. Значения ниже предупреждают о падении. Если индекс опускается ниже 40 пунктов, то наступает рецессия.
PMI опережает максимумы и минимумы деловой активности на 2-6 месяцев. Рыночные экстремумы он опережает не всегда, но тоже часто. В целом, PMI хорошо подходит, чтобы прогнозировать окончания крупных кризисов и рецессий.
Индикатор удобно смотреть на площадке TradingView. Для этого нужно:
del alltrade.dat curr_data.log info.logПосле команды не забудьте нажать Enter, чтобы последней в файле была пустая строка.
4 года и 4 месяца прошло с выхода поста «Торговый робот на LUA для QUIK» (https://smart-lab.ru/blog/200767.php) про конструктор Lbot. За это время он повзрослел, лишился графического интерфейса и… превратился в младшего брата для Lbot3D. И если раньше для Lbot была пробная версия (с одним инструментом и одним лотом), то теперь, фактически, сам превратился в пробную версию для Lbot3D и, с этого дня, предоставляется в свободное пользование с полным функционалом:

Скачать Lbot180.zip можно тут: drive.google.com/open?id=1DL9jGEBm2Uhk89PcQdlK-ObaOe2zihnx
INI-файл написан для демо-QUIK на 3 инструмента — Сбербанк, Газпром и Лукойл. Стратегия на Газпроме — безиндикаторная, на Сбербанке — на скользящих средних, на Лукойле — на пересечениях MACD.
encoding = "UTF-8"
FREQUENCY = 1000
account = NL0011100043, 10110
PositionSize = 300000
xy = 421, 0, 859, 118
;-------------------------------------------------------------------------------
[GAZP]
Security = GAZP, QJSIM, Gazp_moex
WorkSize = 3 // рабочий объем, в штуках;
LossLimit = 100 // ограничение на убыток по стратегии
OpenSlippage = 10 // допустимое проскальзывание на сделке, в количестве минимальных шагов цены;
OpenLong = {Close, 1} < {High, 2} // цена 'close' предыдущей 'полной' свечи превысила 'high' предшествующего ей бара;
OpenShort = {Close, 1} > {Low, 5-2} // цена 'close' предыдущей 'полной' свечи принизила 'low' 5-2 баров;
StopLoss = 2
TakeProfit = 3, 1, 1
EOD = 18:29:00 //закрытия позиции в указанное время.
autoBot = Y
[SBER]
Security = SBER, QJSIM, Sber_moex
WorkSize = 10
LossLimit = 100
OpenSlippage = 10
OpenLong = {Ema1} > {Ema2}
CloseLong = {Ema1} < {Ema2}
OpenShort = {Ema1} < {Ema2}
CloseShort = {Ema1} > {Ema2}
autoBot = Y
[LKOH]
WorkSize = 2
Security = LKOH, QJSIM, Lkoh_moex
LossLimit = 225
OpenSlippage = 10
OpenLong = cross(macd_Lkoh.0, macd_Lkoh.1)
OpenShort = cross(macd_Lkoh.1, macd_Lkoh.0)
;OpenLong = {Close, 1} < {Low, 5-2}
;OpenShort = {Close, 1} > {High, 2}
StopLoss = 30
TakeProfit = 50, 10, 10
autoBot = Y