Варианты улучшения МТС

MikeCurious

New member
впалне устойчивая систамка - тока сиди бабло руби ;)
... куда тока делось треть депо... у меня такаяж фигня :)
Прогони систему по историческим данным за период, который реально торговал уже. И сравни. В идеале конечно должно совпасть.. а на практике выясняется много интересного ;)
 

SV

New member
Прогони систему по историческим данным за период, который реально торговал уже. И сравни. В идеале конечно должно совпасть.. а на практике выясняется много интересного ;)
Действительно, если ты пишеш что
01/01/2007 - 01/09/2008 Profit 84%/9% MaxDD
а в реальности с начала года уже -15%, то гдето видать косячки вылезли... ищи их (косячки эти)
 

Tim

New member
Не знаю у кого спросить.
Помогите кто знает.

Начал юзать Omega Tradestation 2000i
Закачал данные Лукойла за 2008 год.
Хочу создать график из 60-минуток.
А на графике рисуется только 1 свеча в день. Пробовал разные таймфреймы - 15 мин, 1 мин.
Что не так?? В свойствах символа уже всё излазил, испробовал - не помогает.
И ещё - не показывает объёмы торгов.



Вот Format Symbol
[/img]
 
MaxDD - Максимальна просадка капитала от максимума
CAR/MDD - отношение среднегодовой прибыли к MaxDD
ProfitFactor - отношение суммарной прибыли успешных сделок к суммарным убыткам неуспешных сделок
 

V8

New member
Я всё-таки тоже начал робота писать :)

А скажи по секрету... Ты говорил что работаешь на споте. Говорил также что "по рынку" заявки не делаешь. А как твой робот заботится об надёжном исполнении сделки в условиях быстрого рынка? Куда лимитированную ставишь? В середину спреда?
Про это уже писал, но тогда повторюсь:
1. Заявку ставлю на Open следующего бара, когда по Close предыдущего есть чёткий сигнал.
2. О надёжном исполнении заботится код в qpile, он в процентах следит за прибылью и лосями - т.е. стоплосей в квике я не пользую, пробовал муть это какаято т.к. они не дают потом что либо сделать т.к. квик начинает ругаться о том что денежные средства заблокированы под эти лоси, поэтому ещё один из недостаткоа такого метода - тех.проблемма с интернетом или букером и у робота нет стоплосей , т.к. нужен постоянный инет. Самое интересное что в терминале алора стопприказы не резервируют и не блокируют денежные средства счёта но их терминал это совем другая песня во всяком случае я не знаю там средств чтобы он через текстовик отправлял заявки и имел какое-либо встроенное доступное программирование - ей богу кто то его на си написал + еще бабло за него получил.
3. Есть переменная дельта, которая либо прибавляется к Open либо отнимается от Ореn, для выполнения заявки в условиях быстрого рынка. Дельта саморегулируется и зависит от скорости прироста бычьего или медвежего, -высчитывается из таблицы всех сделок, а раньше этот парметр брался из расчета среднестатистического разницы между мин и мах свечки(по которой вхожу) за 2месяца. По рынку - пробывал такие заявки - жуть например ГП 262 так терминал умудрялся купить по рынку и Я делил сумму на лоты и получал что лот мне обходился в 272 ну и нафиг мне это по рынку в 10 пунктов разницы!!!

4. гдето в коде, даже не помню в каком но точно есть, если заявка не была исполнена в течении 1й 1минутной свечи то Kill all Orders в qpile + есть там условие проверки по бумаге но для нескольких папир мне нада ещё улучшить тека, не доволен я скоростью ёкселя - хочу Си, и все свои чарты на Си, в топку ёксель.
Да, да - вот так всё просто если не исполнилась, то хрен с ней ждём следующего сигнала, такая методика сама собой появилась в результате использования а по началу я начинал ставля по рынку но мне просто надоело закупаться или продавть то на хаях то на луях (дня! не в мою сторону!) + отклонения такие весёлые - жуть по истории как это тестить? , то что щаз проще если не исполнилась заявка то это проскальзывание и ещё один из недостатков системы который можно фиксировать и в тестах использовать как процент не совершённых сделок.
 

V8

New member
А скажи по секрету... quote]

Jaguar, пока писал , в голову пришла ещё одна системка из разряда необычных:
вот алгоритм:
1. делаешь самую простую для одного лота,хоть на скользящей средней, и этим лотом ставишь по рынку

2. Высчитывается по какой реальной цене этот лот встал, если был лонг от этой цены то вставай в шорт от этой цены и наоборот если шорт от этой то вставай в лонг

3. контроль исполнения и чистка - думаю что чтото также если в течении 1 - 2 свечек ничего не произошло то Kill All Orders и наверное выход того тестового лота изи позы

Ей-богу, по крайней мере когда я экспериментировал с заявками по рынку то очень очень часто наблюдал цену и позу вовсе не по мне !!!!!

Опять же такой алгоритм протестить можно уже только 2мя лотами и только в риалтайме.

Как правило то что трудно тестить на истории в риалтайме может принести реальные профиты - опять же сугубо моё наблюдение, т.к. я столько в своё время натестил методов: три утки, стохастик + RSI, 3х баровый прорыв и др. подобные стокпорталовским и во многих стандартных разочаровался и в индюках тоже ибо средняя она и в африке средняя. Так что остаётся уповать на редкие необычные и молиться на то что они дадут профит :)
 

DALEX

New member
Если так, то выкладывай алгоритм системы, а мы тут выложем для него код для qpile - если хочешь конечно
Всё просто-если растёт-покупаемся,по окончании роста переворачиваемся и т.д.':D',фрейм-минутный.Мозгой и ж...й я понимаю,что и как надо делать,но как это оформить в виде робота?И если Вы напишете код,под это "алгоритм",то будете весьма не бедным человеком':D'.
 

GH05

New member
Всё просто-если растёт-покупаемся,по окончании роста переворачиваемся и т.д.':D',фрейм-минутный.Мозгой и ж...й я понимаю,что и как надо делать,но как это оформить в виде робота?И если Вы напишете код,под это "алгоритм",то будете весьма не бедным человеком':D'.
Что по твоему "если растет"?
 

V8

New member
Всё просто-если растёт-покупаемся,по окончании роста переворачиваемся и т.д.':D',фрейм-минутный.Мозгой и ж...й я понимаю,что и как надо делать,но как это оформить в виде робота?И если Вы напишете код,под это "алгоритм",то будете весьма не бедным человеком':D'.
как определяешь начало роста и окончание -?
 

JECPOT

New member
Привет всем. Подскажите как в портфеле указать что мне нужна статическая(не изменяющаяся в течении временного интервала,в моем случае минута)цена clouse,Сейчас использую опен так как он не прыгает но мне нужен индикатор АО а у него нет настройки опен клосе и строится он по медиану.Сейчас я синтезировал АО по двум МА с open но АО получается корявый и я его наглядно не вижу.Вот мой портфель.Пожалуйста подскажите срочно а то рынок вырастет и я не успею а-а-а-а!!!


PORTFOLIO_EX GAZP;
DESCRIPTION GAZP;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST FIRMID;

PROGRAM
'_______________________________________________________________________________________________________________________________
'Установите Таймфрейм(интервал в лиагнрамме):
Taim=1'(часовик - 60, пятнадцатиминутка - 15,соответственно 30 - 30минутка, 5 - 5минутка, 10 - 10минутка, 20-20минутка, 1 - 1минутка).

'Впишите в ковычки("") код класса и код бумаги по которой построен график:
Classcode="EQNE"
Seccode="GAZPR"
'_______________________________________________________________________________________________________________________________




Vrema = GET_INFO_PARAM ("SERVERTIME")'определяем время для того что бы из него вытянуть часы
Year="" & (0 + get_value(GET_DATETIME(), "YEAR"))

Month="" & (0 + get_value(GET_DATETIME(), "MONTH"))
if len(Month) == 1
Month= "0" & Month
end if
Day="" & (0 + get_value(GET_DATETIME(), "DAY"))
if len(Day) == 1
Day= "0" & Day
end if

Date=Year & Month & Day'переводим в нужный формат
Hour="" & (0 + substr(Vrema,0,2))


Min= floor ((substr(Vrema,3,2))/taim )*taim
if min=-1
min=59
hour=hour-1
end if
if min=-30
min=30
hour=hour-1
end if
if min=-5
min=55
hour=hour-1
end if
if min=-15
min=45
hour=hour-1
end if
if min=-20
min=40
hour=hour-1
end if
if min=-10
min=50
hour=hour-1
end if

if taim=60
hour=hour-1
min="00"
end if

if len(Min) == 1
Min= "0" & Min
end if
if len(Hour) == 1
Hour= "0" & Hour
end if



Time=Hour & Min & "00"
'Message(Time,1)
GOV1=0
MA1=0
slice = Get_Candle_Ex ("GOV1", Date, Time)'мувинг текущей свечи
LineCount = Get_Value (slice,"COUNT")
lines = Get_Value (slice,"LINES")
FOR lineID FROM 0 TO LineCount-1
line = Get_Collection_Item (lines, lineID)
MA1 = Get_Value (line,"CLOSE")
END FOR


GOV2=0
MA2=0
slice = Get_Candle_Ex ("GOV2", Date, Time)'мувинг текущей свечи
LineCount = Get_Value (slice,"COUNT")
lines = Get_Value (slice,"LINES")
FOR lineID FROM 0 TO LineCount-1
line = Get_Collection_Item (lines, lineID)
MA2 = Get_Value (line,"CLOSE")
END FOR


GOV3=0
MA3=0
slice = Get_Candle_Ex ("GOV3", Date, Time)'мувинг текущей свечи
LineCount = Get_Value (slice,"COUNT")
lines = Get_Value (slice,"LINES")
FOR lineID FROM 0 TO LineCount-1
line = Get_Collection_Item (lines, lineID)
MA3 = Get_Value (line,"CLOSE")
END FOR


GOV4=0
MA4=0
slice = Get_Candle_Ex ("GOV4", Date, Time)'мувинг текущей свечи
LineCount = Get_Value (slice,"COUNT")
lines = Get_Value (slice,"LINES")
FOR lineID FROM 0 TO LineCount-1
line = Get_Collection_Item (lines, lineID)
MA4 = Get_Value (line,"CLOSE")
END FOR


GOV5=0
MA5=0
slice = Get_Candle_Ex ("GOV5", Date, Time)'мувинг текущей свечи
LineCount = Get_Value (slice,"COUNT")
lines = Get_Value (slice,"LINES")
FOR lineID FROM 0 TO LineCount-1
line = Get_Collection_Item (lines, lineID)
MA5 = Get_Value (line,"CLOSE")
END FOR


GOV6=0
MA6=0
slice = Get_Candle_Ex ("GOV6", Date, Time)'мувинг текущей свечи
LineCount = Get_Value (slice,"COUNT")
lines = Get_Value (slice,"LINES")
FOR lineID FROM 0 TO LineCount-1
line = Get_Collection_Item (lines, lineID)
MA6 = Get_Value (line,"CLOSE")
END FOR


GOV7=0
MA7=0
slice = Get_Candle_Ex ("GOV7", Date, Time)'мувинг текущей свечи
LineCount = Get_Value (slice,"COUNT")
lines = Get_Value (slice,"LINES")
FOR lineID FROM 0 TO LineCount-1
line = Get_Collection_Item (lines, lineID)
MA7 = Get_Value (line,"CLOSE")
END FOR


GOV8=0
MA8=0
slice = Get_Candle_Ex ("GOV8", Date, Time)'мувинг текущей свечи
LineCount = Get_Value (slice,"COUNT")
lines = Get_Value (slice,"LINES")
FOR lineID FROM 0 TO LineCount-1
line = Get_Collection_Item (lines, lineID)
MA8 = Get_Value (line,"CLOSE")
END FOR


DELETE_ALL_ITEMS()
output=CREATE_MAP()
output=SET_VALUE(output,"MA1",MA1)
output=SET_VALUE(output,"MA2",MA2)
output=SET_VALUE(output,"MA3",MA3)
output=SET_VALUE(output,"MA4",MA4)
output=SET_VALUE(output,"MA5",MA5)
output=SET_VALUE(output,"MA6",MA6)
output=SET_VALUE(output,"MA7",MA7)
output=SET_VALUE(output,"MA8",MA8)
output=SET_VALUE(output,"Vrema",Vrema)
output=SET_VALUE(output,"Classcode",Classcode)
output=SET_VALUE(output,"Seccode",Seccode)
ADD_ITEM(3,Output)





END_PROGRAM

PARAMETER Vrema;
PARAMETER_TITLE Время;
PARAMETER_DESCRIPTION Время;
PARAMETER_TYPE STRING(32);
END

PARAMETER Classcode;
PARAMETER_TITLE Код класса;
PARAMETER_DESCRIPTION Код класса;
PARAMETER_TYPE STRING(32);
END

PARAMETER Seccode;
PARAMETER_TITLE Код бумаги;
PARAMETER_DESCRIPTION Код бумаги;
PARAMETER_TYPE STRING(32);
END

PARAMETER MA1;
PARAMETER_TITLE GOV1-бысрая;
PARAMETER_DESCRIPTION Mув1-быср;
PARAMETER_TYPE NUMERIC(6,4);
END

PARAMETER MA2;
PARAMETER_TITLE GOV2-медленная;
PARAMETER_DESCRIPTION Mув2-медл;
PARAMETER_TYPE NUMERIC(6,4);
END

PARAMETER MA3;
PARAMETER_TITLE GOV3-бысрая;
PARAMETER_DESCRIPTION Mув3-быср;
PARAMETER_TYPE NUMERIC(6,4);
END

PARAMETER MA4;
PARAMETER_TITLE GOV4-медленная;
PARAMETER_DESCRIPTION Mув4-медл;
PARAMETER_TYPE NUMERIC(6,4);
END

PARAMETER MA5;
PARAMETER_TITLE GOV5-бысрая;
PARAMETER_DESCRIPTION Mув5-быср;
PARAMETER_TYPE NUMERIC(6,4);
END

PARAMETER MA6;
PARAMETER_TITLE GOV6-медленная;
PARAMETER_DESCRIPTION Mув6-медл;
PARAMETER_TYPE NUMERIC(6,4);
END

PARAMETER MA7;
PARAMETER_TITLE GOV7-бысрая;
PARAMETER_DESCRIPTION Mув7-быср;
PARAMETER_TYPE NUMERIC(6,4);
END

PARAMETER MA8;
PARAMETER_TITLE GOV8-медленная;
PARAMETER_DESCRIPTION Mув8-медл;
PARAMETER_TYPE NUMERIC(6,4);
END

END_PORTFOLIO_EX
 

GH05

New member
Привет всем. Подскажите как в портфеле указать что мне нужна статическая(не изменяющаяся в течении временного интервала,в моем случае минута)цена clouse,Сейчас использую опен так как он не прыгает но мне нужен индикатор АО а у него нет настройки опен клосе и строится он по медиану.Сейчас я синтезировал АО по двум МА с open но АО получается корявый и я его наглядно не вижу.Вот мой портфель.Пожалуйста подскажите срочно а то рынок вырастет и я не успею а-а-а-а!!!


Напиши в тех поддержку квика
 
Your email address will not be publicly visible. We will only use it to contact you to confirm your post.
Сверху