Автор |
Сообщение |
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
2 Сергей
В данном случае ты не прав. Имеется в виду, что вся стратегия расчитывается по закрытиям и при появлении сигнала сделка заключается сразу на открытии следубщего бара. Это делается для того, чтобы отсеять ложные сигналы, которые могут появляться в процессе формирования текущей свечки. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
Сергей писал(а): |
commenced писал(а): |
Сергей писал(а): |
commenced писал(а): |
O-для тестера, т.е. вход в позу на открытии только при использовании ref, т.е. условие исполнилось на закрытом баре открываем позу на следующем без задержки, применимо для большенства индюков. |
Проверено, вход по O тем более по условию Ref(..,-1) убыточна в большинстве случаев. Я не умничаю, просто чтобы время не терять) |
Это потому что большенство стратегий убыточны. Тоже не умничаю. ) А ты попробуй брать ref(...,2), только в задании условий входа в позы. |
Так я про условие входа и говорю, допустим если выходить по С,-1 это всегда прибыльнее, поскольку массив O всегда с большей задержкой отображает движение. Если брать -2, тогда станешь заложником стопов), будет очень много ложных входов. |
Я писал не -2, а 2, шутка такая глупая. |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
Сергей
Зарегистрирован: 16.03.2008
Сообщения: 168
|
000 писал(а): |
2 Сергей
В данном случае ты не прав. Имеется в виду, что вся стратегия расчитывается по закрытиям и при появлении сигнала сделка заключается сразу на открытии следубщего бара. Это делается для того, чтобы отсеять ложные сигналы, которые могут появляться в процессе формирования текущей свечки. |
Да это понятно, я говорил про условие O,-1. Короче после трех месяцев мытарств я прищел к выводу что главное индикатор направления причем сглаженный, но своевременно реагирующий на изменение направления, что в принципе противоречивые требования. Т.о. индикатор всегда будет где то косячить, для этого возможные убытки должны быть перекрыты какой либо очень прибыльной стратегией котора работает в течении того времени когда индикатор и указывает это направление. Вроде так) |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Цитата: |
Да это понятно, я говорил про условие O,-1
|
имелось ввиду Ref(СИГНАЛ, -1) а цена сделки - Open. Т.е сразу после закрытия бара с сигналом совершается сделка на открытии следующего. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Sergiovy
Зарегистрирован: 03.03.2008
Сообщения: 180
Откуда: Мурманск
|
000 писал(а): |
Самое первое, что надо сделать, это переписать код так, чтобы робот был не в виде индикатора, а в виде исследования. . |
///
Добрый вечер! Видимо пока еще не дошли до этой стадии, надо приемлемую МТС сначала поиметь, чтобы самому нравилась. (работала
А Там и до исследования доберемся
Об Этом есть в описании? или где найти как это сделать?
Мех рекомендует обработку файлов делать в экселе, говорит, что АМИ не сможет, или муторно очень...(последние посты :
http://www.russian-trader.ru/forum/viewtopic.php?p=135246#135246 |
_________________ "Единственная pабота, достойная нас, — pабота над собой". Шон де Уоppен |
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Цитата: |
Мех рекомендует обработку файлов делать в экселе, говорит, что АМИ не сможет, или муторно очень...(последние посты : |
Его главный аргумент
Цитата: |
ну эксель и дельфа достаточно мощные средства разработки, тут уже кому что нравится, а создать можно что угодно.
а амиброкер - ну одну систему по одной фишке по не сильно короткому таймфрейму можно еще наверное вести, а целую кучу я бы не рискнул, вдруг чего сбойнет... |
Цитата: |
А Там и до исследования доберемся
Об Этом есть в описании? или где найти как это сделать? |
Вот небольшое видео
http://www.amibroker.com/video/exploration.html
Исследование в данном случае интересно тем, что гарантировано, с установленой переодичностью выполняется необходимый код на всех заданных бумагах. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
Олег это помоему вы давали:
Код: |
/*
Метод Роберта Крауза
(Использование переломов Ганна)
*/
SetBarsRequired(100000,100000);
GraphXSpace = 3;
HiLoH = MA(H,3);
HiLoL = MA(L,3);
EnableScript("VBScript");
<%
Close = AFL("C")
High = AFL("H")
Low = AFL("L")
HILOH = AFL("HILOH")
HILOL = AFL("HILOL")
dim Trend
redim TREND(UBound(Low))
dim SwingLine
redim SwingLine(UBound(Low))
dim SwingLineCol ' //Цвет SwingLine -1 -Down тренд, 1 -Up тренд
redim SwingLineCol(UBound(Low))
' //Начальные условия
Trend(0) = 0 ' //Тренд вниз
SwingPoint = High(0) ' //Линия свинга начинается с High
SwingPointOld = High(0)
TrendColPoint = High(0)
SwingLine(0) = High(0)
SwingLineCol(0) = -1
K=0 ' //Позиция предпоследней точки отклонения
k1=0 ' //Позиция новой точки отклонения
'//Цикл вычисляющий значения swingline между точками отклонения
function SwingL(k, i, SwingPointOld, SwingPoint, TrendColPoint)
for j = k+1 to i
SwingLine(j) = SwingLine(j-1)+ (SwingPoint - SwingPointOld)/(i-k)
'//Раскрашиваем SwingLine
if (SwingLine(j-1)>TrendColPoint _
AND SwingLine(j)<TrendColPoint _
AND SwingLineCol(j-1) = 1) OR _
(SwingLine(j-1)<TrendColPoint _
AND SwingLine(j)>TrendColPoint _
AND SwingLineCol(j-1) = -1) Then
SwingLineCol(j) = SwingLineCol(j-1)*-1
else
SwingLineCol(j) = SwingLineCol(j-1)
end if
Next
End function
for i = 1 to UBound(Low)
if Trend(i - 1) = 0 Then '//Если тренд вниз
if Close(i) > HiLoH(i) Then '//Если состоялся прорыв верхней хило
Trend(i) = 1 '//Смена направления тренда
TrendColPoint = SwingPointOld
SwingPointOld = SwingPoint '//Последнее отклонение становится старым
SwingPoint = High(i) '//Первое отклонение Up тренда
k = k1 '//Позиция предыдущей точки отклонения
k1 = i '//позиция новой точки отклонения
'//Пересчет промежуточных значений SwingLine
SwingL k, i, SwingPointOld, SwingPoint, TrendColPoint
else '//Смены тренда нет
Trend(i) = 0
HiLoL(i) = empty
if Low(i) < SwingPoint Then '//Если новый лоу ниже отклонения
SwingPoint = Low(i) '//то он становится новой точкой отклонения
k1 = i '//позиция новой точки отклонения
'//Пересчет промежуточных значений SwingLine
SwingL k, i, SwingPointOld, SwingPoint, TrendColPoint
End if
End if
else '//если тренд не вниз (тренд вверх)
if Close(i) < HiLoL(i) Then '//Если состоялся прорыв нижней хило
Trend(i) = 0 '//Смена направления тренда
TrendColPoint = SwingPointOld
SwingPointOld = SwingPoint '//Последнее отклонение становится старым
SwingPoint = Low(i) '//Первое отклонение Down тренда
k = k1 '//Позиция предыдущей точки отклонения
k1 = i '//позиция новой точки отклонения
'//Пересчет промежуточных значений SwingLine
SwingL k, i, SwingPointOld, SwingPoint, TrendColPoint
else '//Смены тренда нет
Trend(i) = 1
HiLoH(i) = empty
if High(i) > SwingPoint Then '//Если новый хай выше отклонения
SwingPoint = High(i) '//то он становится новой точкой отклонения
k1 = i '//позиция новой точки отклонения
'//Пересчет промежуточных значений SwingLine
SwingL k, i, SwingPointOld, SwingPoint, TrendColPoint
End if
End if
End if
Next
AFL("HiLoL") = HiLoL
AFL("HiLoH") = HiLoH
AFL("Trend") = Trend
AFL("SwingLine") = SwingLine
AFL("SwingLineCol") = SwingLineCol
%>
Plot(SwingLine, "Swing", IIf(SwingLineCol == 1, 6, 32), 4);
Plot(HiLoH, "H", 27, 512);
Plot(HiLoL, "L", 4, 512);
Plot(C, "Price", 1, 64); |
Хочу попробывать использовать, линии H и L как дополнение к системе, но H и L имеют значение не всегда как их прописать т.е. держу лонг пока есть линия L и наоборот, причем на стыке движение на одном баре имеется значения и той линии и этой? |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Еще раз и помедленее |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
000 писал(а): |
Еще раз и помедленее |
Медленнее и громче? Проще говоря можно ли соединить две эти линии в одну, ведь все равно отрисовывается либо одна либо другая, а точки в которых обе линии существуют одновременно превратить в точки пересечения линией Х графика цен т.е. какой симысл иметь 2 линии если можно иметь одну и на графике приятно смотреть и прописать в системе легко, что то типа параболика. |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Понял. Сделаю. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Код: |
HiLoH = MA(H, 3);
HiLoL = MA(L, 3);
ReversUp = Cross(C, HiLoH);
ReversDown = Cross(HiLoL, C);
ReversUp = ExRem(ReversUp, ReversDown);
ReversDown = ExRem(ReversDown, ReversUp);
Direct = Ref(Flip(ReversUp, ReversDown), -1);
HiLoH = IIf(NOT Direct, HiLoH, Null);
HiLoL = IIf(Direct, HiLoL, Null);
Activator = IIf(Direct, HiLoL, HiLoH);
Color = IIf(Direct, colorRed, colorGreen);
Plot(Activator, "", color, styleStaircase);
Plot(C, "C", colorBlack, styleCandle);
|
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
000 писал(а): |
Код: |
HiLoH = MA(H, 3);
HiLoL = MA(L, 3);
ReversUp = Cross(C, HiLoH);
ReversDown = Cross(HiLoL, C);
ReversUp = ExRem(ReversUp, ReversDown);
ReversDown = ExRem(ReversDown, ReversUp);
Direct = Ref(Flip(ReversUp, ReversDown), -1);
HiLoH = IIf(NOT Direct, HiLoH, Null);
HiLoL = IIf(Direct, HiLoL, Null);
Activator = IIf(Direct, HiLoL, HiLoH);
Color = IIf(Direct, colorRed, colorGreen);
Plot(Activator, "", color, styleStaircase);
Plot(C, "C", colorBlack, styleCandle);
|
|
Красота, попробую использовать для выхода. Спасибо, чуствую, после написания путней стратегии придется тебе бабки платить за использование твоей интелектуальной собственности. |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
Олег почти забыл спросить, требуется ли для данной функции ref или сигналы окончательны и без поворотны? |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Окончательны. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
000 писал(а): |
Окончательны. |
Тады даю смесь томаша, юрика и твоего последного творения:
Код: |
SetBarsRequired(100000, 100000);
JSB_InitLib();
Length=Optimize("P",3, 1, 200, 2);
Phase=Param( "Phase", 0, -100, 100);
P1 = Optimize("P1", 3, 1, 38, 1);
HaClose = (O+H+L+C)/4;
HaOpen = JSB_JMA( Ref( HaClose, -1 ), Length, Phase);
HaHigh = Max( H, Max( HaClose, HaOpen ) );
HaLow = Min( L, Min( HaClose, HaOpen ) );
PlotOHLC( HaOpen, HaHigh, HaLow, HaClose, "Modified " + Name(), colorBlack, styleCandle );
HiLoH = MA(HaHigh, P1);
HiLoL = MA(HaLow, P1);
ReversUp = Cross(HaClose, HiLoH);
ReversDown = Cross(HiLoL, HaClose);
ReversUp = ExRem(ReversUp, ReversDown);
ReversDown = ExRem(ReversDown, ReversUp);
Direct = Ref(Flip(ReversUp, ReversDown), -1);
HiLoH = IIf(NOT Direct, HiLoH, Null);
HiLoL = IIf(Direct, HiLoL, Null);
Activator = IIf(Direct, HiLoL, HiLoH);
Color = IIf(Direct, colorRed, colorGreen);
Plot(Activator, "", color, styleStaircase);
Cond1 = Activator<HaOpen;
Cond2 = HaOpen<Activator;
Buy = Cond1;
Short = Cond2;
Sell = Short;
Cover = Buy;
Buy = ExRem(Buy,Sell);
Sell = ExRem(Sell,Buy);
Short = ExRem(Short,Cover);
Cover = ExRem(Cover,Short);
Plot( JSB_JMA( Close, Length, Phase), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
PlotShapes(IIf(Buy,shapeUpArrow,0),5,0,Graph0,-15);
PlotShapes(IIf(Sell,shapeDownArrow,0),4,0,Graph0,-15);
PlotShapes(IIf(Cover,shapeHollowUpArrow,0),5,0,Graph0,-15);
PlotShapes(IIf(Short,shapeHollowDownArrow,0),4,0,Graph0,-15);
BuyPrice = SellPrice = ShortPrice = CoverPrice = O; |
Плагины для юрика качать сдесь http://bearden.narod.ru/ |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|