Избранное трейдера Ajax
Не далее как вчера опубликовал топик "Смена x86 Quik 7.27.2.1 на x64 Quik 8.4.1.6. Пляски вокруг DLL", где кратко рассказывалось как перекомпилировать проект С++ с платформы х86 на х64. Надеюсь, что у вас все уже получилось или получится.
Но я «крутой» программист, и, естественно, у меня вначале вообще ничего и никак не получалось. А так как проект большой, да еще и непонятно в чем дело, а своими экспериментами я могу вообще все испортить, то решил сделать маленькую простенькую DLL LuaProba.dll, на ней отработать переход на х64, и потом перенести это в большой проект.
Привожу код С++ DLL целиком:
// LuaProba.cpp: определяет экспортированные функции для приложения DLL. // #include "stdafx.h" #include <stdio.h> #include <string.h> //=== Необходимые для Lua константы ============================================================================// #define LUA_LIB #define LUA_BUILD_AS_DLL //=== Заголовочные файлы LUA ===================================================================================// extern "C" { #include "Lua\lua.h" #include "Lua/lauxlib.h" } static int forLua_TestFunc(lua_State *L) // Возвращает заданный текст { const char *cc = "Привет из C/C++ и от меня 2 раза"; //str.c_str(); lua_pushstring(L, cc); return(1); } //= == Регистрация реализованных в dll функций, чтобы они стали "видимы" для Lua == == == == == == == == == == == == == == == ==// static struct luaL_reg ls_lib[] = { { "TestFunc", forLua_TestFunc }, { NULL, NULL } }; //=== Регистрация названия библиотеки, видимого в скрипте Lua ==================================================// extern "C" LUALIB_API int luaopen_LuaProba(lua_State *L) { luaL_openlib(L, "LuaProba", ls_lib, 0); return 0; }Весь проект DLL для VS 2015 можно скачать по ссылке -
Settings={ Name="abs_over_vol", period=20, line= { { Name = "cur1", Type =TYPE_LINE, Width = 2, Color = RGB(255,0, 0) } } } --[[ описание свойств: period - период, за каротрый делается расчет назначение: построение поглащения и перехая с использованием объемов --]] function Init() y = 0 return 1 end function OnCalculate(index) sz = Size() n = Settings.period if index == 1 then y = 0 end i = index if index-n > 0 then if (C(i) < C(i-1)) and (C(i-1) > O(i-1)) and (C(i) < O(i)) and (C(i-1) - O(i-1) < O(i) - C(i)) then y = y - 1*V(i) end if (C(i) > C(i-1)) and (C(i-1) < O(i-1)) and (C(i) > O(i)) and (O(i-1) - C(i-1) < C(i) - O(i)) then y = y + 1*V(i) end if (H(i) > H(i-1)) and (L(i) > L(i-1)) then y = y + 1*V(i) end if (H(i) < H(i-1)) and (L(i) < L(i-1)) then y = y - 1*V(i) end end return y end
Признаться уже достал этот 32-битный Quik 7. Работать стало почти невозможно, начал подвисать практически на пустом месте. А если повесить на Quik Lua, а к Lua прицепить DLL, то вообще все эпизодически вставало. DLL-ки, вообще-то, многопоточные и освобождают вызывающие потоки (события) Lua практически за миллисекунды, но если таких событий много Quik встает. Хотя, он и без Lua и DLL тоже регулярно встает.)
Были и другие причины ухода от 32-бит Quik, но это уже связано с брокером и другими факторами.
Итак, новый брокер — новый 64-битный Quik 8.4.1.6. Наконец сбылась мечта идиота!
Что можно сказать, — х64 Quik работает гораздо лучше, все равно временами немного подвисает, но, вроде, некритично. После логин-пароля, прежде чем работать надо подождать, — потоки обезличенных сделок начинают работать только через 3-4 минуты после старта. В общем, с этим все более-менее ОК.
Следующий этап — надо переводить весь подключаемый к Quik софт с х86 на х64, и если есть исходники, то никаких проблем не должно появиться. Если вы не используете в своем софте каких либо дополнительных DLL, то все должно ограничиваться двумя действиями.
1. Меняете в проекте С++ в разделе Файлы ресурсов 32-битную версию файла Lua5.1.lib на 64-битную версию Lua5.1.lib,
2. Выставляете в свой свойствах проекта компиляцию в x64. Можно даже так:
Квик. Новичкам.
Если виснет терминал и долго грузит.
После этих параметров работа заметно улучшится.
Итак, начнём.
Про сервера.
Лайфхак 1.
Звоните брокеру и узнаете у него пустой сервер, а не основной. Он работает лучше.
Картинка 1
У меня Открытие брокер.
Далее.
Как сделать чтобы квик не тормозил и работал быстрее?
— Есть ряд рецептов.
Далее делаем как у меня.
Картинка
Введение
Сегодня 09.03.2020 рынок нефти открылся просто чудовищным падением! На 8:30 фьючерс нефти марки Brent снижается уже почти на 30%! Еще в пятницу нефть стоила 45 долларов за баррель, а сейчас уже 32! Сказать, что это плохо, не сказать ничего. Я торгую на рынке с 2006 года и что-то не припоминаю такого однодневного обвала. В данной статье я хочу поделиться с вами своим видением того, что и как нужно делать в подобной ситуации.
Корреляция нефти и рублевых активов
Вряд ли для кого-то будет секретом то, что между ценой нефти и рублевыми активами существует положительная корреляция. Т.е. чем выше нефть, тем лучше рублю, а чем крепче рубль, тем больше товаров мы можем купить за одинаковое количество национальной валюты.
Очевидно, что такое резкое падение цены на нефть не сулит рублю ничего хорошего. Объясняется это, прежде всего тем, что Россия – страна экспортер нефти и газа. И снижение цен на эти товары очень неблагоприятно сказывается на пополнении бюджета.
Перед тем как выкладывать результаты проданных опционов, надо посвятить время немного философии и анализу. А то будет не понятно, что я делаю.
Итак кризис. Так как мы знаем, что он неизбежен как крах коммунизма, то мы про него помним и всегда к нему готовы. Но будет значительно лучше, если мы не будем его ждать, а сделаем сами. Тогда мы заранее можем подготовится. А если за ранее, то управляемо. И это очень хорошая идея. Если мы знаем, что кризисы бывают, то зачем нам ждать. Потом, проводить ночные совещания. Давайте запустим его сами.
Информационный повод, как из фильмов про зомби. Все знают, что есть такое заболевание как Грипп. И он не лечится. В том смысле, что сама имунная система организма от него избавляется. Чем слабее имунитет, тем тяжелее проходит заболевание и сильнее осложнения. Переход в другие болезни. В общем, ни чего необычного. Но повод есть. Тем более в Китае, главном конкуренте. Таким образом, появилась страшилка.
Под эту страшилку мы нарисуем сценарий. Подчистим балансы, прижмем конкурентов. Ну и те страны, которые не в достаточной степени будут бороться с гриппом, попадут в изгои. Мы их вообще закроем. Наличман отменим, к нему хорошо вирус пристает. На товарах, откуда надо, тоже вирус найдем. Такое изобретение Анищенко. В Грузии буза, значит их вино не отвечает нашим стандартам. Теперь нам надо технично сдуть рынок.
Ковыряясь в недрах смартлаба, случайно наткнулся на свой позапрошлогодний топик https://smart-lab.ru/blog/470616.php . В топике обнаружился косяк в расчетах. Косяк исправил и актуализировал данные до сегодняшнего дня. Получилось следующее (очевидное и почти бесполезное):
Измаявшись предэкспирационным бездельем, решил посмотреть, как за последние несколько лет обстояли дела у продавцов/покупателей волатильности в опционах Ri по месяцам.
Табличку, приведенную ниже, составил следующим образом. Первый столбец — дата экспирации, только месячные контракты. Второй — IV центра улыбки серии ровно за 4 недели до экспирации. Третий — RV базового актива, посчитанная по данным за 4 недели до момента экспирации. Четвертый — ориентировочный доход продавца волатильности в %-х веги, и пятый — тот же доход, накопленным итогом. Крайняя циферка RV (по понятным причинам) посчитана не за 4 недели, а за последние 9 дней.