Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 помесь Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Ср Апр 09, 2008 1:27 pm Ответить с цитатой Вернуться к началу

2 Сергей
В данном случае ты не прав. Имеется в виду, что вся стратегия расчитывается по закрытиям и при появлении сигнала сделка заключается сразу на открытии следубщего бара. Это делается для того, чтобы отсеять ложные сигналы, которые могут появляться в процессе формирования текущей свечки.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
commenced
Советник


Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"

СообщениеДобавлено: Ср Апр 09, 2008 1:32 pm Ответить с цитатой Вернуться к началу

Сергей писал(а):
commenced писал(а):
Сергей писал(а):
commenced писал(а):
O-для тестера, т.е. вход в позу на открытии только при использовании ref, т.е. условие исполнилось на закрытом баре открываем позу на следующем без задержки, применимо для большенства индюков.

Проверено, вход по O тем более по условию Ref(..,-1) убыточна в большинстве случаев. Я не умничаю, просто чтобы время не терять)


Это потому что большенство стратегий убыточны. Smile Тоже не умничаю. Smile) А ты попробуй брать ref(...,2), только в задании условий входа в позы.

Так я про условие входа и говорю, допустим если выходить по С,-1 это всегда прибыльнее, поскольку массив O всегда с большей задержкой отображает движение. Если брать -2, тогда станешь заложником стопов), будет очень много ложных входов.


Я писал не -2, а 2, шутка такая глупая. Smile

_________________
Юра
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Сергей



Зарегистрирован: 16.03.2008
Сообщения: 168

СообщениеДобавлено: Ср Апр 09, 2008 1:37 pm Ответить с цитатой Вернуться к началу

000 писал(а):
2 Сергей
В данном случае ты не прав. Имеется в виду, что вся стратегия расчитывается по закрытиям и при появлении сигнала сделка заключается сразу на открытии следубщего бара. Это делается для того, чтобы отсеять ложные сигналы, которые могут появляться в процессе формирования текущей свечки.

Да это понятно, я говорил про условие O,-1. Короче после трех месяцев мытарств я прищел к выводу что главное индикатор направления причем сглаженный, но своевременно реагирующий на изменение направления, что в принципе противоречивые требования. Т.о. индикатор всегда будет где то косячить, для этого возможные убытки должны быть перекрыты какой либо очень прибыльной стратегией котора работает в течении того времени когда индикатор и указывает это направление. Вроде так)
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Ср Апр 09, 2008 1:43 pm Ответить с цитатой Вернуться к началу

Цитата:

Да это понятно, я говорил про условие O,-1

имелось ввиду Ref(СИГНАЛ, -1) а цена сделки - Open. Т.е сразу после закрытия бара с сигналом совершается сделка на открытии следующего.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Sergiovy



Зарегистрирован: 03.03.2008
Сообщения: 180
Откуда: Мурманск

СообщениеДобавлено: Чт Апр 10, 2008 6:47 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Самое первое, что надо сделать, это переписать код так, чтобы робот был не в виде индикатора, а в виде исследования. .

///
Добрый вечер! Видимо пока еще не дошли до этой стадии, надо приемлемую МТС сначала поиметь, чтобы самому нравилась. (работалаSmile
А Там и до исследования доберемся Smile
Об Этом есть в описании? или где найти как это сделать?
Мех рекомендует обработку файлов делать в экселе, говорит, что АМИ не сможет, или муторно очень...(последние посты :
http://www.russian-trader.ru/forum/viewtopic.php?p=135246#135246

_________________
"Единственная pабота, достойная нас, — pабота над собой". Шон де Уоppен
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Чт Апр 10, 2008 9:35 pm Ответить с цитатой Вернуться к началу

Цитата:
Мех рекомендует обработку файлов делать в экселе, говорит, что АМИ не сможет, или муторно очень...(последние посты :

Его главный аргумент
Цитата:
ну эксель и дельфа достаточно мощные средства разработки, тут уже кому что нравится, а создать можно что угодно.
а амиброкер - ну одну систему по одной фишке по не сильно короткому таймфрейму можно еще наверное вести, а целую кучу я бы не рискнул, вдруг чего сбойнет...
Smile


Цитата:
А Там и до исследования доберемся
Об Этом есть в описании? или где найти как это сделать?

Вот небольшое видео
http://www.amibroker.com/video/exploration.html
Исследование в данном случае интересно тем, что гарантировано, с установленой переодичностью выполняется необходимый код на всех заданных бумагах.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
commenced
Советник


Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"

СообщениеДобавлено: Пн Апр 14, 2008 8:42 am Ответить с цитатой Вернуться к началу

Олег это помоему вы давали:
Код:

/*
Метод Роберта Крауза
(Использование переломов Ганна)
*/
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

СообщениеДобавлено: Пн Апр 14, 2008 8:45 am Ответить с цитатой Вернуться к началу

Еще раз и помедленее Smile

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
commenced
Советник


Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"

СообщениеДобавлено: Пн Апр 14, 2008 10:10 am Ответить с цитатой Вернуться к началу

000 писал(а):
Еще раз и помедленее Smile


Медленнее и громче? Smile Проще говоря можно ли соединить две эти линии в одну, ведь все равно отрисовывается либо одна либо другая, а точки в которых обе линии существуют одновременно превратить в точки пересечения линией Х графика цен т.е. какой симысл иметь 2 линии если можно иметь одну и на графике приятно смотреть и прописать в системе легко, что то типа параболика.

_________________
Юра
Посмотреть профиль Отправить личное сообщение Отправить e-mail
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пн Апр 14, 2008 11:33 am Ответить с цитатой Вернуться к началу

Понял. Сделаю.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пн Апр 14, 2008 9:33 pm Ответить с цитатой Вернуться к началу

Код:

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
Откуда: от "Верблюда"

СообщениеДобавлено: Вт Апр 15, 2008 6:11 am Ответить с цитатой Вернуться к началу

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);



Красота, попробую использовать для выхода. Спасибо, чуствую, после написания путней стратегии придется тебе бабки платить за использование твоей интелектуальной собственности. Smile

_________________
Юра
Посмотреть профиль Отправить личное сообщение Отправить e-mail
commenced
Советник


Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"

СообщениеДобавлено: Вт Апр 15, 2008 6:16 am Ответить с цитатой Вернуться к началу

Олег почти забыл спросить, требуется ли для данной функции ref или сигналы окончательны и без поворотны?

_________________
Юра
Посмотреть профиль Отправить личное сообщение Отправить e-mail
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Апр 15, 2008 6:34 am Ответить с цитатой Вернуться к началу

Окончательны.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
commenced
Советник


Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"

СообщениеДобавлено: Вт Апр 15, 2008 7:55 am Ответить с цитатой Вернуться к началу

000 писал(а):
Окончательны.


Smile

Тады даю смесь томаша, юрика и твоего последного творения:

Код:
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
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen