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



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

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

Друзья!

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

Код:
spread = (Foreign( "SNGSP", "C") * 100 * 4 + Foreign( "NLMK", "C") * 10 * 6 + Foreign( "SBER", "C") * 10 * 6) - (Foreign( "VTBR", "C") * 10000 * 8 + Foreign( "TATN", "C") * 10 * 6);
Plot( spread, "spread", colorBlue);
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Дек 21, 2017 5:02 pm Ответить с цитатой Вернуться к началу

Конечно есть. Так же расчитывай остальные поля кроме C (OHL) и строй график функцией PlortOHLC()

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



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

СообщениеДобавлено: Чт Дек 21, 2017 5:48 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Конечно есть. Так же расчитывай остальные поля кроме C (OHL) и строй график функцией PlortOHLC()


Спасибо!

Но, строится почему-то не по спреду, а по базовому (который выбран в Символе).
Код:
_SECTION_BEGIN("exp2");
spread = (Foreign( "SNGS", "C") * 100 * 4 + Foreign( "RTKM", "C") * 10 * 4) - (Foreign( "GAZP", "C") * 10 * 6);
spread = (Foreign( "SNGS", "O") * 100 * 4 + Foreign( "RTKM", "O") * 10 * 4) - (Foreign( "GAZP", "O") * 10 * 6);
spread = (Foreign( "SNGS", "H") * 100 * 4 + Foreign( "RTKM", "H") * 10 * 4) - (Foreign( "GAZP", "H") * 10 * 6);
spread = (Foreign( "SNGS", "L") * 100 * 4 + Foreign( "RTKM", "L") * 10 * 4) - (Foreign( "GAZP", "L") * 10 * 6);
PlotOHLC( 1.1 * Open, 1.1 * High, 1.1 * Low, 1.1 * Close, "spread", colorRed, styleBar );
_SECTION_END();


Где ошибка в PlortOHLC() ?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Дек 21, 2017 9:50 pm Ответить с цитатой Вернуться к началу

Код:

spreadC = (Foreign( "SNGS", "C") * 100 * 4 + Foreign( "RTKM", "C") * 10 * 4) - (Foreign( "GAZP", "C") * 10 * 6);
spreadO = (Foreign( "SNGS", "O") * 100 * 4 + Foreign( "RTKM", "O") * 10 * 4) - (Foreign( "GAZP", "O") * 10 * 6);
spreadH = (Foreign( "SNGS", "H") * 100 * 4 + Foreign( "RTKM", "H") * 10 * 4) - (Foreign( "GAZP", "H") * 10 * 6);
spreadL = (Foreign( "SNGS", "L") * 100 * 4 + Foreign( "RTKM", "L") * 10 * 4) - (Foreign( "GAZP", "L") * 10 * 6);
PlotOHLC( spreadO, spreadH, spreadL, spreadC, "spread", colorRed, styleBar );

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



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

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

000 писал(а):
Код:

spreadC = (Foreign( "SNGS", "C") * 100 * 4 + Foreign( "RTKM", "C") * 10 * 4) - (Foreign( "GAZP", "C") * 10 * 6);
spreadO = (Foreign( "SNGS", "O") * 100 * 4 + Foreign( "RTKM", "O") * 10 * 4) - (Foreign( "GAZP", "O") * 10 * 6);
spreadH = (Foreign( "SNGS", "H") * 100 * 4 + Foreign( "RTKM", "H") * 10 * 4) - (Foreign( "GAZP", "H") * 10 * 6);
spreadL = (Foreign( "SNGS", "L") * 100 * 4 + Foreign( "RTKM", "L") * 10 * 4) - (Foreign( "GAZP", "L") * 10 * 6);
PlotOHLC( spreadO, spreadH, spreadL, spreadC, "spread", colorRed, styleBar );


Спасибо ОГРОМНОЕ!!!
Посмотреть профиль Отправить личное сообщение
Eodofsiv



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

СообщениеДобавлено: Пн Фев 05, 2018 11:19 am Ответить с цитатой Вернуться к началу

Очень хорошая новость, что информация, которую вы вводите внутри, может помочь многим людям.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
fintmaster



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

СообщениеДобавлено: Пн Фев 05, 2018 12:31 pm Ответить с цитатой Вернуться к началу

Eodofsiv писал(а):
Очень хорошая новость, что информация, которую вы вводите внутри, может помочь многим людям.

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen