Приводов для быстрого ввода заявок так много, что времени нет для их рассмотрения.
Несть числа им, да и обзоров море:
1. smart-lab:
Статья: анализ скальперских приводов
2. smart-lab:
Супер список приводов для торговли на бирже!!!
3. 2stocks :
На выбор скальперу — обзор 14 приводов
4. quik :
Полезные ссылки
А вот простого, как «три аккорда», незатейливого — не было.
Теперь он есть:
1. написан на LUA, с исходным кодом, приправлен комментариями;
2. бесплатен, без ограничения сроков, «Free software».
3. без графики и хоткеев всяких.
Настройки — в строках кода:
- account = 'SPBFUT00R86' — код торгового счета
- classCode = 'SPBFUT' — код класса
- secCode = 'SRZ4' — код бумаги
- WorkSize = 10 — рабочий размер
- OpenSlippage = 50 — проскальзывание
- FREQUENCY = 500 — частота привода (в миллисекундах)
Скачать:
SuperScalp.lua
UPD 04.10.2014г. Привод написан для FORTS.
И еще вопрос, что такое ТЧП? И просьба — добавить бы еще кнопку «Переворот», переворот позиции одной сделкой.
ТЧП — да.
Переворот? Это уже привод не класса «три аккорда» :)
local buyPrice = best_offer + (OpenSlippage or 0)
Я бы подумал, что результат логической операции «or» был бы логическим, т.е. true или false, а после приведения к цифре 1 или 0, хотя Вы то наверное все проверили, но я бы по старинке сделал бы OpenSlippage+0. И даже больше, я бы лучше приведение к цифре сделал бы в этой строке:
local best_offer = getParamEx(classCode, secCode, «offer»).param_value таким образом:
local best_offer = 0+getParamEx(classCode, secCode, «offer»).param_value
Там таких «вкусняшек» типа
local buyPrice = best_offer + (OpenSlippage or 0)
много!
Проверьте код: удалите OpenSlippage из настроек и увидите, как себя ведет вышеупомянутая строка.
Вам понравится ;)
*****************************************************
* Важно: эксперименты лучше проводить на ДЕМО-счете!
*****************************************************
Результат OpenSlippage+0 будет плачевным, если OpenSlippage имеет значение nil. Опять же в силу спецификации языка.
Рекомендую прокурить манул к Lua как следует. Ошибки в торговых гоботах имеют тенденцию отражаться на балансе счета :)
1. Это LUA.
2. SuperScalp.lua можно использовать как заготовку для привода для нескольких инструментов одновременно путем редактирования function getIniSection() или через ini-файл.
3. Этот привод можно внедрить в роботы на LUA там, где по многим причинам GUI-интерфейс не устраивает.
Наткнулся вот на Ваш привод)
для торговли одновременно несколькими инструментами — где и как надо редактировать function getIniSection() — а то в коде её эту функцию вообще не нашёл?
можно с примером? как Вы указали для " переворота"
1. Добавляем в HandleBS() перед строкой «SetTableNotificationCallback(t,event_callback_tblH)»
следующий код:
local li=InsertRow(t, -1)
SetCell(t, li, 1, 'Переворот')
2. В function event_callback_tblH(t_id, msg, par1, par2) добавляем:
elseif par1 == 3 and par2 == 1 then
if LastPos > 0 then
resID = Sell(classCode, secCode, LastPos+WorkSize, 'Coup')
elseif LastPos < 0 then
resID = Buy(classCode, secCode, -LastPos+WorkSize, 'Coup')
else
message('Нет позиций для переворота!',1)
end
Переворот должен сработать.
**************************
* Важно: НЕ ПРОВЕРЯЛ! *
**************************
Уточню: найду что из написанного и выложу :)
При чем можно прямо по стакану кликать и ставить лимитки либо маркетом входить мышкой
SuperScalp мне помогал.
local best_offer = getParamEx(classCode, secCode, «offer»).param_value
local buyPrice = best_offer '+' (OpenSlippage or 0)
— function Sell():
local best_bid = getParamEx(classCode, secCode, «bid»).param_value
local sellPrice = best_bid '-' (OpenSlippage or 0)
— Вы про помеченные знаки спрашиваете?
Они имеют отношение к разным параметрам: 'offer' и 'bid'
resID = Buy(classCode, secCode, '-'LastPos, 'CloseShortHandle')
elseif LastPos == 0 then
resID = Buy(classCode, secCode, WorkSize, 'OpenLongHandle')
if LastPos < 0 then
— знак у LastPos отрицательный, меняем на '+'