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



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

СообщениеДобавлено: Чт Июл 01, 2010 4:45 pm Ответить с цитатой Вернуться к началу

Всем привет!

Пытаюсь рисовать на графике горизонтальные линии, обозначающие локальные уровни поддержки\сопротивления после получения сигнала.

Насколько я понимаю, это делается с помощью функций Plot ( LineArray ). Но вот как её привязать LineArray к Buy/Sell сигналам от ТС?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Июл 01, 2010 6:41 pm Ответить с цитатой Вернуться к началу

Не очень понятно. Руками линии рисуешь? Если да, то из AFL обратиться к линиям нарисованным руками только один способ, при помощи функции study()

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



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

СообщениеДобавлено: Пт Июл 02, 2010 8:52 am Ответить с цитатой Вернуться к началу

000 писал(а):
Не очень понятно. Руками линии рисуешь? Если да, то из AFL обратиться к линиям нарисованным руками только один способ, при помощи функции study()


Нет, я как раз хочу чтобы Ами рисовал линии. Последовательность действий примерно такая: поступил сигнал (например Buy), Ами находит локальный минимум (например за 5 последних свечей) и чертит от этого локального минимума линию направо, обозначающюю стоп уровень для открываемой по сигналу позы. Не могу разобраться, как определить координаты, передаваемые в LineArray.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пт Июл 02, 2010 10:33 am Ответить с цитатой Вернуться к началу

Хм. А зачем собственно эта линия?
Ну если всетаки позарез нужна, то плюнь на LineArray воспользуйся ValueWhen()

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



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

СообщениеДобавлено: Пт Июл 02, 2010 1:37 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Хм. А зачем собственно эта линия?
Ну если всетаки позарез нужна, то плюнь на LineArray воспользуйся ValueWhen()


Чего-то я вообще не понимаю, как здесь применить ValueWhen Confused
Сделал скриншот, на котором я нарисовал линию в ручную. Идея в том, чтобы её рисовал Ами.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пт Июл 02, 2010 3:18 pm Ответить с цитатой Вернуться к началу

Попробуй такой индикатор.
Код:

Buy = ...; // сам напиши условия покупки
qq = ValueWhen(Buy, LLV(L, 5));
Plot(C, "", ColorBlack, StyleCandle);
Plot(qq, "", colorRed);

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



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

СообщениеДобавлено: Пт Июл 02, 2010 4:31 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Попробуй такой индикатор.
Код:

Buy = ...; // сам напиши условия покупки
qq = ValueWhen(Buy, LLV(L, 5));
Plot(C, "", ColorBlack, StyleCandle);
Plot(qq, "", colorRed);


Спасибо, это работает (хотя я не понимаю как Smile )
Пара вопросов по коду:
-Зачем нужна строчка Plot(C, "", ColorBlack, StyleCandle); Попробовал закоментить, вроде ничего не изменилось.
-Как ограничить длину линии?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пт Июл 02, 2010 11:55 pm Ответить с цитатой Вернуться к началу

Саня писал(а):

Спасибо, это работает (хотя я не понимаю как Smile )
Пара вопросов по коду:
-Зачем нужна строчка Plot(C, "", ColorBlack, StyleCandle); Попробовал закоментить, вроде ничего не изменилось.

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

-Как ограничить длину линии?

В принципе могу написать, но почему то думаю, что это только напрасно засрет мозги... Когда действительно надо будет сам разберешься....
А так... разве длинна линии как то мешает? Пускай будет... Smile

Как работает valuewhen...
Смортит влево на график (может и вправо. это зависит от параметра n (по умолчанию 1 и смотрит влево)) и когда первый параметр выполнился берет второй параметр и растягивает его вправо до момента когда первый опять выполняется...
Вот как то так.

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



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

СообщениеДобавлено: Пн Июл 05, 2010 4:32 pm Ответить с цитатой Вернуться к началу

В итоге получилось! Олег, спасибо за помощь!

Код:
for( i = 0; i < BarCount; i++ )
{
   if( Buy[i] ) {
      Line=LineArray(i, C[i], i+10, C[i]);
      Plot( Line, "Sup Line", colorGreen, styleDots );
   }

   if( Sell[i] ) {
      Line=LineArray(i, C[i], i+10, C[i]);
      Plot( Line, "Res Line", colorRed, styleDots );
   }

}
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen