Автор |
Сообщение |
AC
Зарегистрирован: 05.02.2010
Сообщения: 6
|
000 писал(а): |
Смотреть мин или макс линии свинга пока график не пересек линию реверса смысла не имеет. Т.к. свинг может в любой момент перерисоваться. На истории все будет красиво, а вот в жизни...
Если уж очень хочется это дело потестить, то можно входить в момент пересечения графика и линии реверса Rev. |
мда
видно я что-то не так понимаю совсем
я гоняю код на минутках, кручу через BarReplay
да я вижу что линия свинг сдвигается, но локальный min минимумом и остается
как бы угол линии свинга может измениться и перерисоваться, но не вершина
соответственно зацепив этот min делаем buy и затем с каким то маленьким профитом выходим
или не так?
извините если туплю |
|
|
Посмотреть профиль Отправить личное сообщение |
|
fewry
Зарегистрирован: 06.10.2009
Сообщения: 61
|
Помогите пожалуйста!
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
|
Прикрепи пожалуйста весть код файлом. Форум побил и там, где ты не заметил, а восстанавливать чтобы разобраться мне неохота...
Задолбал этот форум.... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
fewry
Зарегистрирован: 06.10.2009
Сообщения: 61
|
Конечно, прикрепил. А есть соображения почему форум код коверкает? Можно ведь движок сайта подправить... |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Вот смотри. Основным сигналом при использовании ЗигЗага должно быть пересечение ценой линии реверса. А дополнительным условием будет что последний максимум выше предпоследнего...
Типа так.
Код: |
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
|
Исправил. Уже лучше! Только в некоторых местах сигнал слишком сильно запаздывает, хотя по идее должен быть намного раньше. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ну вот смотрим это место кода.
Код: |
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
|
По идее первые High, а вторые Low. - Да. Так и надо, неразбираюсь я в этой функции...
И правильно будет пересечение ценой линии реверса (rev)(как ты и сказал), а не SwingLine как я писал.
Работает . Как я и хотел. Осталось доработать код и пустить его на волю))). Теперь наконец то разобрался. Благодарю Олег! Благодарю!
PS. прикрепляю исправленный код. его конечно надо доделывать - стопы, оптимизация, уточнять - это уже каждый *на свой вкус и цвет* доделает.
условие покупки(продажи) - повышающиеся минимумы(понижающиеся максимумы) и пересечение линии Rev |
|
|
Посмотреть профиль Отправить личное сообщение |
|
fewry
Зарегистрирован: 06.10.2009
Сообщения: 61
|
в коде нашел пару ошибок, исправил, перезалил заново. файл ----------- (1).afl |
|
|
Посмотреть профиль Отправить личное сообщение |
|
asdby
Зарегистрирован: 31.10.2009
Сообщения: 7
|
Олег!
У меня пару вопросов общего характера:
1- оказалось невозможным в одну панель поместить два ZZ(например 5% и 2%, ZZ взят из пятого поста на 1 странице этой темы). Выскакивает ошибка на функции.
Если сделать ZZ без функции то все нормально. Я считал что разбиение кода на секции полностью разделяет использование индикаторов в одной панели. Это что глюк АМИ или я чего-то не прочитал?
2- если в панели находится индикатор вычисляющий Peak().... (даже в другой секции), то ZZ начинает заглядывать в будующее. Вопрос аналогичный.
СПАСИБО! |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Цитата: |
1- оказалось невозможным в одну панель поместить два ZZ(например 5% и 2%, ZZ взят из пятого поста на 1 странице этой темы). Выскакивает ошибка на функции.
Если сделать ZZ без функции то все нормально. Я считал что разбиение кода на секции полностью разделяет использование индикаторов в одной панели. Это что глюк АМИ или я чего-то не прочитал?
|
Похоже глюк. Я про такое странное поведение не знал...
Цитата: |
2- если в панели находится индикатор вычисляющий Peak().... (даже в другой секции), то ZZ начинает заглядывать в будующее. Вопрос аналогичный.
|
Если какой либо индикатор на странице требует больше данных, а Peak() по определению заглядывает, то эти данные становятся доступны всем панелям. Неприятно конечно, но ничего не поделаешь. Одни данные OHLCV для всех панелей. Наверное экономит память. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
aztec
Зарегистрирован: 08.07.2010
Сообщения: 24
|
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
|
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
|
000 писал(а): |
1. Да, действительно геморойно...Сделай так
2. Ну выкинть её отображение очень просто. Убери Plot который её выводит.
А вот выкинуть расчет... Дело в том, что без неё зиг-заг не вычислить. Можно конечно не писать все её значения в массив а каждый раз переписывать в константу, но вот код от этого будет не намного проще. Забей. |
1. класс, спасибо.
2. Да Plot я заремил сразу, думал там можно малой кровью вытащить, нет значит нет.
Спасибо.
upd. А подскажи, плиз, zig возвращает массив - что это за массив такой, что через пересечение (And) этого массива с, например , H всех баров - нельзя найти точки этого пересечения. Попробовал - не получается что то я медленно в массивы вьезжаю, толи асфальт нескользкий толи коньки снять ))
Спасибо. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
aztec писал(а): |
upd. А подскажи, плиз, zig возвращает массив - что это за массив такой, что через пересечение (And) этого массива с, например , H всех баров - нельзя найти точки этого пересечения. Попробовал - не получается что то я медленно в массивы вьезжаю, толи асфальт нескользкий толи коньки снять ))
Спасибо. |
что это за массив такой, что через пересечение (And)
Код: |
Plot(C, "", colorBlack, styleCandle);
Plot(Zig(C, 2), "", colorRed);
Plot(Cross(Zig(C, 2), H), "", colorGreen, styleOwnScale);
|
Непонял.. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|