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



Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск

СообщениеДобавлено: Вт Ноя 27, 2012 4:41 pm Ответить с цитатой Вернуться к началу

Прошу посмотреть видео: http://www.youtube.com/watch?v=Zq640_-ICwg

Обращаю внимание на нижнее окно. Как можно заметить, индикатор в нем мигает (время от времени пропадает). При этом значения в данный момент в углу показывает равными 0.00

Однако индикатор в среднем окне не мигает. Построены они на одном источнике информации - два Foreign.

Код среднего окна:
Код:
SB = Foreign("RIZVSP", "Close");
VT = Foreign("RIZVPR", "Close");

n = Param("n", 64, 2, 500, 1);

//spred = SB - VT;
spred2 = SB/VT;

StdMA = MA(spred2, n);

stde = sqrt( Sum((spred2-StdMA)^2 , n)/n);

Plot (StdMA,"StdMA",colorGreen, styleDashed);
Plot (stde+StdMA,"VWAP_std+1",colorGrey50, styleDashed);
Plot (StdMA-stde,"VWAP_std-1",colorGrey50, styleDashed);
Plot (StdMA+2*stde,"VWAP_std+2",colorGrey40, styleDashed);
Plot (StdMA-2*stde,"VWAP_std-2",colorGrey40, styleDashed);

Plot (spred2, "spred2", colorBlack);


Код нижнего:

Код:
SB = Foreign("RIZVSP", "Close");
VT = Foreign("RIZVPR", "Close");
   
spred = SB - VT;
//spred2 = SB/VT;


Plot (spred, "spred", colorBlack);


Если я во втором окне меняю текущие два источника на другие, которые также экспортируются из Квика, то мигание пропадает.

Кто в курсе, с чем связана проблема? И существенна ли она для расчета сигналов под робота?

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


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

СообщениеДобавлено: Вт Ноя 27, 2012 6:30 pm Ответить с цитатой Вернуться к началу

Робот будет работать в АА?
Напиши код который будет отслеживать значение spred и если 0, то писать в файл и погоняй денек другой....

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



Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск

СообщениеДобавлено: Ср Ноя 28, 2012 7:22 am Ответить с цитатой Вернуться к началу

000 писал(а):
Робот будет работать в АА?
Напиши код который будет отслеживать значение spred и если 0, то писать в файл и погоняй денек другой....


В коде точно таким же образом вычисляется значение spred и spred2. А потом просто прописывается условие для покупки/продажи - спрэд больше чего-то либо меньше.

Робот не через АА.

Основной-то вопрос - отчего моргает. И почему не моргает средний график.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Ноя 28, 2012 8:27 am Ответить с цитатой Вернуться к началу

А коды среднего и нижнего точно именно такие?

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



Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск

СообщениеДобавлено: Ср Ноя 28, 2012 10:42 am Ответить с цитатой Вернуться к началу

000 писал(а):
А коды среднего и нижнего точно именно такие?


Да, коды окон тупо скопированы из редактора.

В расчете сигналов идут следующие формации:

Код:
NewHighSno = spred < Ref(HHV(spred, DayBars), -1); 
NewHighSyes = spred > Ref(HHV(spred, DayBars), -1); 

NewHighS2no = spred2 < Ref(HHV(spred2, DayBars), -1);
NewHighS2yes = spred2 > Ref(HHV(spred2, DayBars), -1);


И т.п.

spred и spred2 рассчитываются также, как и в коде окон.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Ноя 28, 2012 12:18 pm Ответить с цитатой Вернуться к началу

А если в нижнем вместо spred вывести spred2 ???

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



Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск

СообщениеДобавлено: Ср Ноя 28, 2012 12:27 pm Ответить с цитатой Вернуться к началу

000 писал(а):
А если в нижнем вместо spred вывести spred2 ???


Вывел. Мигает.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Ноя 28, 2012 12:58 pm Ответить с цитатой Вернуться к началу

Хм. Ок. Тогда сделай в среднем и нижнем окне одинаковый код (из среднего).

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



Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск

СообщениеДобавлено: Чт Ноя 29, 2012 9:10 am Ответить с цитатой Вернуться к началу

000 писал(а):
Хм. Ок. Тогда сделай в среднем и нижнем окне одинаковый код (из среднего).


Сделал. Моргает.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Ноя 29, 2012 10:01 am Ответить с цитатой Вернуться к началу

Ага. Тогда получается типа так, два подокна обращаются к одинаковым символам через foreign и если это происходит одновременно, то для второго обратившегося символ типа занят и возвращает 0.
Выход.
1. Обращаться через foreign только из одного подокна.
2. Если надо рисовать в двух подокнах, то в одном подокне читаем "внешний" символ, пихаем его в статиквар и во втором окне читаем уже из статической переменной.

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



Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск

СообщениеДобавлено: Чт Ноя 29, 2012 11:02 am Ответить с цитатой Вернуться к началу

000 писал(а):

2. Если надо рисовать в двух подокнах, то в одном подокне читаем "внешний" символ, пихаем его в статиквар и во втором окне читаем уже из статической переменной.


Ага, мне уже тут рядом подсказали подобный выход. Не подскажешь, Олег, как это сделать в плане кода?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Ноя 29, 2012 11:37 am Ответить с цитатой Вернуться к началу

Как то так.
1
Код:

SB = Foreign("RIZVSP", "Close");
VT = Foreign("RIZVPR", "Close");

StaticVarSet("SB", SB);
StaticVarSet("VT", VT);

n = Param("n", 64, 2, 500, 1);

spred2 = SB/VT;

StdMA = MA(spred2, n);

stde = sqrt( Sum((spred2-StdMA)^2 , n)/n);

Plot (StdMA,"StdMA",colorGreen, styleDashed);
Plot (stde+StdMA,"VWAP_std+1",colorGrey50, styleDashed);
Plot (StdMA-stde,"VWAP_std-1",colorGrey50, styleDashed);
Plot (StdMA+2*stde,"VWAP_std+2",colorGrey40, styleDashed);
Plot (StdMA-2*stde,"VWAP_std-2",colorGrey40, styleDashed);

Plot (spred2, "spred2", colorBlack);

2
Код:

SB = StaticVarGet("SB");
VT = StaticVarGet("VT");
     
spred = SB - VT;

Plot (spred, "spred", colorBlack);

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



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

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

Это известный баг с Foreign/SetForeign. Он был пофиксен в одной из последних версий.

Мимо проходил... Smile
Посмотреть профиль Отправить личное сообщение
AntColonel



Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск

СообщениеДобавлено: Пт Ноя 30, 2012 9:03 am Ответить с цитатой Вернуться к началу

Олег, благодарствую! Поменял, наблюдаю. Пока вроде не мигает.

romax писал(а):
Это известный баг с Foreign/SetForeign. Он был пофиксен в одной из последних версий.


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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen