Избранное трейдера Светлана
Здравствуйте дорогие друзья!
Общее описание систем тут.
Тест системы 1 тут.
Тест системы 2 тут.
Тест системы 3 тут.
Тест системы 4 тут.
Тест системы 5 тут.
Разберем стратегию 6.
Эту стратегию я тестирую, так как обещал сделать тесты для «ruscash» (за язык меня никто не тянул ;)), да и Гусев Михаил тоже попросил, так что ребят это в первую очередь для вас.
Тестировать больше другие стратегии я не буду (вы уж извините, те кто надеялся на какието еще тесты), так как это убивает огромное количество времени и я рискую погрязнуть и застрять надолго на первом этапе тестов. То чего мне нужно было тестонуть на первом этапе я протестировал. Мне очень уж хочется поскорее перейти ко второй стадии тестов, это различные методы роллирования.
Вторую стадию тестов скорее всего публиковать публично не буду, но не обещаю, вдруг меня захлестнет литературная муза и будет душевный порыв чегонибудь написать ;) тогда опубликую. Те кто меня знает и общается в скайп без проблем будем обсуждать, тестировать и делиться мыслями.
--Параметры:
p_classcode=«SPBFUT» --Код класса
p_seccode=«EDZ5» --Код инструмента
p_account=" " --Код счета
p_clientcode=" " --Клиенткий код
p_count=2 --Размер позиции
p_spread=0,001 --Проскальзывание
is_run = true
count = 0
function main()
while is_run do
sleep(2000)
robot()
end
end
function robot()
local N1=getNumCandles(«MA1»)
local N2=getNumCandles(«MA2»)
local N=getNumCandles(«Price»)
t1,n1,i1=getCandlesByIndex(«MA1», 0, N1-3, 2)
t2,n2,i2=getCandlesByIndex(«MA2», 0, N2-3, 2)
t,n,i=getCandlesByIndex(«Price», 0, N-1, 1)
--сигнал на продажу (первый мувинг пересекает втрой сверху вниз
if t1[0].close>t2[0].close and t1[1].close<t2[1].close then
Trade(«S»,count+p_count,t[0].close-p_spread)
end
--сигнал на покупку (первый мувинг пересекает второй снизу вверх
if t1[0].close<t2[0].close and t1[1].close>t2[1].close then
Trade(«B»,p_count-count,t[0].close+p_spread)
end
end
function Trade(a_oper,a_count,a_price)
if a_count>0 then
t = {
[«CLASSCODE»]=p_classcode,
[«SECCODE»]=p_seccode,
[«ACTION»]=«NEW_ORDER»,
[«ACCOUNT»]=p_account,
[«CLIENT_CODE»]=p_clientcode,
[«TYPE»]=«L»,
[«OPERATION»]=a_oper,
[«QUANTITY»]=tostring(a_count),
[«PRICE»]=tostring(a_price),
[«EXPIRY_DATE»]=«GTS»,
[«TRANS_ID»]=«1»
}
res=sendTransaction(t)
message(«Количество до »..tostring(count).." количество сделки "..tostring(a_count).." тип операции"..a_oper,1)
if a_oper==«B» then
count=count+a_count
else
count=count-a_count
end
message(«Количество после »..tostring(count),1)
end
end