Робот Вова продолжает обучение.

Он уже превзошел своего предшественника и чувствует себя уверенно.

Для любознательных, как всегда — картинка и таблица.

vova_2015_2_000

 

 

 

 

 

 

—————————————————————————————

crossT3_2015 — Backtest Report

All trades Long trades Short trades
Initial capital 100000.00 100000.00 100000.00
Ending capital 3413482.31 1834878.19 1678604.13
Net Profit 3313482.31 1734878.19 1578604.13
Net Profit % 3313.48 % 1734.88 % 1578.60 %
Exposure % 10.40 % 4.66 % 5.74 %
Net Risk Adjusted Return % 31861.20 % 37258.10 % 27485.71 %
Annual Return % 59.37 % 46.83 % 45.11 %
Risk Adjusted Return % 570.83 % 1005.65 % 785.46 %
Total transaction costs 173393.78 87119.43 86274.34

All trades 3469 1734 (49.99 %) 1735 (50.01 %)
 Avg. Profit/Loss 955.17 1000.51 909.86
 Avg. Profit/Loss % 0.96 % 1.00 % 0.91 %
 Avg. Bars Held 55.01 52.86 57.16

Winners 2010 (57.94 %) 980 (28.25 %) 1030 (29.69 %)
 Total Profit 4247416.29 2183456.36 2063959.94
 Avg. Profit 2113.14 2228.02 2003.84
 Avg. Profit % 2.11 % 2.23 % 2.00 %
 Avg. Bars Held 67.20 67.93 66.50
 Max. Consecutive 61 30 65
 Largest win 78280.22 78280.22 37486.42
 # bars in largest win 303 303 162

Losers 1459 (42.06 %) 754 (21.74 %) 705 (20.32 %)
 Total Loss -933933.98 -448578.17 -485355.81
 Avg. Loss -640.12 -594.93 -688.45
 Avg. Loss % -0.64 % -0.60 % -0.69 %
 Avg. Bars Held 38.21 33.27 43.50
 Max. Consecutive 17 8 10
 Largest loss -2791.21 -2740.32 -2791.21
 # bars in largest loss 23 34 23

Max. trade drawdown -20985.48 -20985.48 -11598.26
Max. trade % drawdown -13.51 % -13.51 % -10.32 %
Max. system drawdown -22543.73 -23476.77 -11598.26
Max. system % drawdown -10.11 % -6.50 % -5.26 %
Recovery Factor 146.98 73.90 136.11
CAR/MaxDD 5.87 7.21 8.58
RAR/MaxDD 56.45 154.83 149.44
Profit Factor 4.55 4.87 4.25
Payoff Ratio 3.30 3.74 2.91
Standard Error 354438.44 193104.57 163001.06
Risk-Reward Ratio 1.05 1.03 1.05
Ulcer Index 0.67 0.71 0.58
Ulcer Performance Index 80.31 58.50 69.02
Sharpe Ratio of trades 5.96 5.66 6.51
K-Ratio 0.0053 0.0052 0.0053

При написании роботов на LUA для терминала QUIK возникает проблема запуска робота после подключения к серверу.

Данную проблему можно решить следующим образом.

local start=false;

function main()

local i=200; local s=getInfoParam(«SERVERTIME»);
while i>=0 and s==»» do i=i-1; sleep(200) ; s=getInfoParam(«SERVERTIME»); end
start=true;

—…..

end

———————-

если в программе надо проверить подключение, то это лучше делать так:

if getInfoParam(«SERVERTIME»)==»» then

— подключения нет

else

—есть подключение

 

end;

9
Фев

Lua. IUP и QUIK

Posted by: Kamynin   in QLUA, торговые роботы (МТС)

На днях решил вернуться к пакету IUP и проверить его работу в QUIK .

IUP — версия 3.13, QUIK  — версия 6.16.1.15.

Раньше не удавалось получить устойчивой работы пакета.

Произнеся несколько заклинаний , я с удовлетворением отметил, что тест не падает и ничего не роняет.
Предлагаю желающим повторить данный эксперимент.
Вот скрипт теста:
package.cpath =»C:/NK/DLL/?51.dll;»..»C:/NK/DLL/?.dll;»
require( «iuplua» )
require( «iupluacontrols» )
——————————————————————————
mat = iup.matrix{numcol=5, numlin=3,numcol_visible=5, numlin_visible=3, widthdef=34}
mat:setcell(0,0,»Inflation»)
mat:setcell(1,0,»Medicine»)
mat:setcell(2,0,»Food»)
mat:setcell(3,0,»Energy»)
mat:setcell(0,1,»January 2000″)
mat:setcell(0,2,»February 2000″)
mat:setcell(1,1,»5.6″)
mat:setcell(2,1,»2.2″)
mat:setcell(3,1,»7.2″)
mat:setcell(1,2,»4.6″)
mat:setcell(2,2,»1.3″)
mat:setcell(3,2,»1.4″)function mat:dropselect_cb(lin, col,drop, t, i, v)
endfunction mat:dropcheck_cb(lin, col)
if (lin==3 and col==1) then
return iup.DEFAULT
end
return iup.IGNORE
end function mat:drop_cb(drop, lin, col)
if (lin==3 and col==1) then
drop[1] = «A — Test of Very Big String for Dropdown!»
drop[2] = «B»
drop[3] = «C»
drop[4] = «XXX»
drop[5] = «5»
drop[6] = «6»
drop[7] = «7»
drop[8] = nil
return iup.DEFAULT
end
return iup.IGNORE
end
——————————————-
local start=false;
function OnClose()  end
function OnStop(s) start=false ; end
function OnConnected() end
function OnDisconnected() end
function OnCleanUp() end —смена сессии
——————————-
function main()
start=true;
local dlg = iup.dialog{iup.vbox{mat; margin=»10×10″}}
dlg:showxy(iup.CENTER, iup.CENTER)
if  iup.MainLoopLevel()==0 and start  then
iup.MainLoop()
end
iup.Close()
collectgarbage(«collect»)
end
 ———————————
несколько замечаний:
у меня все скрипты располагаются в каталоге NK на диске C.
В этом каталоге создан каталог DLL, в который я помещаю все свои и чужие dll.
Перед запуском теста надо сделать следующее.
Скопируйте содержимое Lua5.1 из пакета IUP в каталог DLL и в каталог QUIK. И вперед.