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



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

СообщениеДобавлено: Вс Фев 28, 2010 3:00 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Смотреть мин или макс линии свинга пока график не пересек линию реверса смысла не имеет. Т.к. свинг может в любой момент перерисоваться. На истории все будет красиво, а вот в жизни...
Если уж очень хочется это дело потестить, то можно входить в момент пересечения графика и линии реверса Rev.


мда
видно я что-то не так понимаю совсем
я гоняю код на минутках, кручу через BarReplay

да я вижу что линия свинг сдвигается, но локальный min минимумом и остается

как бы угол линии свинга может измениться и перерисоваться, но не вершина
соответственно зацепив этот min делаем buy и затем с каким то маленьким профитом выходим

или не так?
извините если туплю Surprised
Посмотреть профиль Отправить личное сообщение
fewry



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

СообщениеДобавлено: Чт Мар 11, 2010 12:18 am Ответить с цитатой Вернуться к началу

Помогите пожалуйста!
1)система такая - покупать когда новый минимум выше предыдущего, продавать когда ниже предыдущего. подскажите плиз - что надо изменить. сам никак догнать не могу(получается куча сделок на графике).
2)и чтобы стрелка рисовалась там где цена действительно изменилась на значение revers(тоесть чтоб не заглядывала вперед в историю). пробовал использовать
Код:

X=BarsSince(Cond1);
Y = Ref(C,- x)>=(0.985*C);
X1=BarsSince(Cond2);
Y1 = Ref(C,- x)>=(1.015*C);

но ничего не получилось.
код прикрепил в файле.


Последний раз редактировалось: fewry (Чт Мар 11, 2010 12:44 am), всего редактировалось 3 раз(а)
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Мар 11, 2010 1:43 am Ответить с цитатой Вернуться к началу

Прикрепи пожалуйста весть код файлом. Форум побил и там, где ты не заметил, а восстанавливать чтобы разобраться мне неохота...
Задолбал этот форум....

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



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

СообщениеДобавлено: Чт Мар 11, 2010 1:54 am Ответить с цитатой Вернуться к началу

Конечно, прикрепил. А есть соображения почему форум код коверкает? Можно ведь движок сайта подправить...
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Мар 11, 2010 2:06 am Ответить с цитатой Вернуться к началу

Вот смотри. Основным сигналом при использовании ЗигЗага должно быть пересечение ценой линии реверса. А дополнительным условием будет что последний максимум выше предпоследнего...
Типа так.
Код:
Buy = Cross(C, SwingLine) AND X > Y;

и т.п.
Кстати. У тебя почему то тут
Код:

X1 = ValueWhen(Cond2, H, 1);
Y1 = ValueWhen(Cond2, H, 2);

High хотя по логике надо Low

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



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

СообщениеДобавлено: Чт Мар 11, 2010 2:48 am Ответить с цитатой Вернуться к началу

Исправил. Уже лучше! Только в некоторых местах сигнал слишком сильно запаздывает, хотя по идее должен быть намного раньше.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Мар 11, 2010 10:54 pm Ответить с цитатой Вернуться к началу

Ну вот смотрим это место кода.
Код:

X = ValueWhen(Cond1,L, 1);
Y = ValueWhen(Cond1, L, 2);

X1 = ValueWhen(Cond2, L, 1);
Y1 = ValueWhen(Cond2, L, 2);

Buy = Cover = Cross(C, SwingLine) AND X > Y;
Short = Sell = Cross(SwingLine, C) AND X1 < Y1;

Теперь у тебя и X Y Low и X1 Y1 Low ??? По идее первые High, а вторые Low.
Далее
Сигналом должно быть пересечение линии реверса (rev). Все остальные варианты ( у тебя Cross(C, SwingLine)) это заглядываение в будущее и даже если на тестах будет хорошо, то в реале фиг знает.

Таким макаром. Пока все.

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



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

СообщениеДобавлено: Чт Мар 11, 2010 11:40 pm Ответить с цитатой Вернуться к началу

По идее первые High, а вторые Low. - Да. Так и надо, неразбираюсь я в этой функции...
И правильно будет пересечение ценой линии реверса (rev)(как ты и сказал), а не SwingLine как я писал.
Работает Very Happy . Как я и хотел. Осталось доработать код и пустить его на волю))). Теперь наконец то разобрался. Благодарю Олег! Благодарю!

PS. прикрепляю исправленный код. его конечно надо доделывать - стопы, оптимизация, уточнять - это уже каждый *на свой вкус и цвет* доделает.
условие покупки(продажи) - повышающиеся минимумы(понижающиеся максимумы) и пересечение линии Rev
Посмотреть профиль Отправить личное сообщение
fewry



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

СообщениеДобавлено: Пн Мар 15, 2010 2:00 am Ответить с цитатой Вернуться к началу

в коде нашел пару ошибок, исправил, перезалил заново. файл ----------- (1).afl
Посмотреть профиль Отправить личное сообщение
asdby



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

СообщениеДобавлено: Ср Авг 04, 2010 8:38 pm Ответить с цитатой Вернуться к началу

Олег!

У меня пару вопросов общего характера:

1- оказалось невозможным в одну панель поместить два ZZ(например 5% и 2%, ZZ взят из пятого поста на 1 странице этой темы). Выскакивает ошибка на функции.
Если сделать ZZ без функции то все нормально. Я считал что разбиение кода на секции полностью разделяет использование индикаторов в одной панели. Это что глюк АМИ или я чего-то не прочитал?

2- если в панели находится индикатор вычисляющий Peak().... (даже в другой секции), то ZZ начинает заглядывать в будующее. Вопрос аналогичный.

СПАСИБО!
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Авг 04, 2010 10:00 pm Ответить с цитатой Вернуться к началу

Цитата:

1- оказалось невозможным в одну панель поместить два ZZ(например 5% и 2%, ZZ взят из пятого поста на 1 странице этой темы). Выскакивает ошибка на функции.
Если сделать ZZ без функции то все нормально. Я считал что разбиение кода на секции полностью разделяет использование индикаторов в одной панели. Это что глюк АМИ или я чего-то не прочитал?

Похоже глюк. Я про такое странное поведение не знал... Sad
Цитата:

2- если в панели находится индикатор вычисляющий Peak().... (даже в другой секции), то ZZ начинает заглядывать в будующее. Вопрос аналогичный.

Если какой либо индикатор на странице требует больше данных, а Peak() по определению заглядывает, то эти данные становятся доступны всем панелям. Неприятно конечно, но ничего не поделаешь. Одни данные OHLCV для всех панелей. Наверное экономит память.

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



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

СообщениеДобавлено: Ср Авг 18, 2010 11:51 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Вершину опишем так
Код:
Cond1 = Ref(SwingLine, -1) < SwingLine AND SwingLine > Ref(SwingLine, 1);

Высота последней вершины будет ValueWhen(Cond1, H, 1).

Добрый день,
для визуального анализа ист.данных хочу нарисовать линии на лок.экстремумах твоего зиг-зага (с первой страницы темы) -- примерно как на рис. чтобы получилось.
1. Вот такой код примерно получается для отдельной вершины, но мне не нравиться сильно мой метод определения номера бара в Plot, наверняка можно проще и изящнее, поможите, люди добрые.
Код:

Cond1 = Ref(SwingLine, -1) < SwingLine AND SwingLine > Ref(SwingLine, 1);
Hi_1 = ValueWhen(Cond1, H, 1);

Plot ( LineArray (
LastValue( ValueWhen (Cond1,BarIndex()))+1,
LastValue(Hi_1),
LastValue(ValueWhen(Cond1,BarIndex()))+10,
LastValue(Hi_1)),"",24);


2. Пытаюсь выкинуть из кода этого зигзага ненужную мне реверс-линию + ее обсчет - оставить только сам зигзаг - неа...прочно вживленно ), никак. Посоветуйте что убрать - Большое Спасибо с меня заранее. \или бросьте -ссылку где взять простейший код самописного зигзага - чтоб выцепить переломы - те что в библиотеке на амиброкер.ком - там я моск сломаю понять что переделывать(( \
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Авг 19, 2010 12:17 am Ответить с цитатой Вернуться к началу

1. Да, действительно геморойно...
Сделай так
Код:

Cond1 = Ref(SwingLine, -1) < SwingLine AND SwingLine > Ref(SwingLine, 1);
Hi_1 = IIf(SwingLine > Ref(SwingLine, -1), Null, ValueWhen(Cond1, H, 1));
Plot ( Hi_1, "", colorBlue);


2. Ну выкинть её отображение очень просто. Убери Plot который её выводит.
А вот выкинуть расчет... Дело в том, что без неё зиг-заг не вычислить. Можно конечно не писать все её значения в массив а каждый раз переписывать в константу, но вот код от этого будет не намного проще. Забей.

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



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

СообщениеДобавлено: Чт Авг 19, 2010 8:22 am Ответить с цитатой Вернуться к началу

000 писал(а):
1. Да, действительно геморойно...Сделай так

2. Ну выкинть её отображение очень просто. Убери Plot который её выводит.
А вот выкинуть расчет... Дело в том, что без неё зиг-заг не вычислить. Можно конечно не писать все её значения в массив а каждый раз переписывать в константу, но вот код от этого будет не намного проще. Забей.

1. класс, спасибо.
2. Да Plot я заремил сразу, думал там можно малой кровью вытащить, нет значит нет.
Спасибо.

upd. А подскажи, плиз, zig возвращает массив - что это за массив такой, что через пересечение (And) этого массива с, например , H всех баров - нельзя найти точки этого пересечения. Попробовал - не получается Question что то я медленно в массивы вьезжаю, толи асфальт нескользкий толи коньки снять ))
Спасибо.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Авг 19, 2010 8:18 pm Ответить с цитатой Вернуться к началу

aztec писал(а):

upd. А подскажи, плиз, zig возвращает массив - что это за массив такой, что через пересечение (And) этого массива с, например , H всех баров - нельзя найти точки этого пересечения. Попробовал - не получается Question что то я медленно в массивы вьезжаю, толи асфальт нескользкий толи коньки снять ))
Спасибо.

что это за массив такой, что через пересечение (And) Question Question Question
Код:

Plot(C, "", colorBlack, styleCandle);
Plot(Zig(C, 2), "", colorRed);
Plot(Cross(Zig(C, 2), H), "", colorGreen, styleOwnScale);

Непонял.. Sad

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen