Автор |
Сообщение |
Mike
Зарегистрирован: 08.04.2008
Сообщения: 24
Откуда: Астрахань
|
Добрый день, Олег!
прошу совета-
надумал тут еще одну системку потестить..
смысл такой- надо на график одного инструмента (в виде линии) наложить график другого инструмента (тоже в виде линии). Почитав мануал, нашол как это сделать - при помощи PlotForeign.
Ну наложил,получилось вроде. Торговый сигнал в моем случае должен генерироваться при пересечении этих графиков.
Однако нажимая на +/- кнопки видно что линии двигаются относительно друг друга. И тут возник вопрос - это только так видно что они двигаются или сигналы тоже будут пропадать/появляться в другом месте?
p.s. использовал также стиль отображения для второй линии/графика - styleleftaxisscale, на глаз результат тот же.. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Сигналы сдвигаться не будут, если они вообще появятся. Сравнивая два графика надо иметь ввиду, что цены сравниваемых активов скорее всего разные. Как могут пересечься графики Лукойла который стоит более 2000руб и РАО ЕЭС стоимостью 20руб. Для вычисления перемещений надо привести их к одному виду. Например взять не цену, а её процентное изменение при помощи ф-ции ROC(). Примерно так сделано в этом индикаторе. http://www.amisite.ru/afl/ind/0008.htm |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Mike
Зарегистрирован: 08.04.2008
Сообщения: 24
Откуда: Астрахань
|
млин, проблема...
Олег, неужели нету способа зарегистрировать пересечение двух линий на графике если они нарисованы каждая на своей оси?
согласен , цены разные, но пересечение то есть
посмотрел индекс рынка -это не то..
Код: |
Plot( Close, "RTS", colorBlack,styleNoLine);
Plot( Close, "RTS", colorRed,styleLine);
PlotForeign( "MMVB", "MMVB", colorGreen,styleLeftAxisScale);
mmvb="MMVB";
rts="RTS";
Buy=mmvb>rts;//*
Sell=mmvb<rts;
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
PlotShapes(IIf(Buy,shapeUpArrow,0),5,0,Close,-15);
PlotShapes(IIf(Sell,shapeDownArrow,0),4,0,Close,-15);
|
* в условиях бай и селл - косяк, цены инструментов разные, а как через Кросс сделать не знаю,верней знаю, но не получается, АФЛ ругается..[img][/img][img][/img][img][/img] |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Цитата: |
Олег, неужели нету способа зарегистрировать пересечение двух линий на графике если они нарисованы каждая на своей оси?
|
Нету. При сдвиге графиков будут сдвигаться и оси и пересечение изменяться.
Цитата: |
Код: |
Plot( Close, "RTS", colorBlack,styleNoLine);
Plot( Close, "RTS", colorRed,styleLine);
PlotForeign( "MMVB", "MMVB", colorGreen,styleLeftAxisScale);
mmvb="MMVB";
rts="RTS";
Buy=mmvb>rts;//*
Sell=mmvb<rts;
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
PlotShapes(IIf(Buy,shapeUpArrow,0),5,0,Close,-15);
PlotShapes(IIf(Sell,shapeDownArrow,0),4,0,Close,-15);
|
|
Совсем не правильно.
Надо примерно так
Код: |
mmvb = Foreign("mmvb", "close");
mmvb = ROC(mmvb, 20);
rts = ROC(C, 20);
Buy = mmvb>rts;
Sell = mmvb<rts;
|
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Mike
Зарегистрирован: 08.04.2008
Сообщения: 24
Откуда: Астрахань
|
ага, походу это как раз то что нужно!
огромное человеческое спасибо, Олег!
respect&уважуха |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|