Автор |
Сообщение |
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
Я пытаюсь вставить, но пункт "Вставить" в меню, которое выскакивает в поле "Вставить вложение" не активирован... |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
ООО, сообщите, на какой емэйл файлы прислать... |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
Кстати, у АйТи есть нормальный плагин, который работает без текстовых файлов !!! Только никто не знает, как его к Ами прикрутить !!! |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ну вот смотри.
Берем вот такой dat файл
C:/OpenPosStatement.dat
Его содержимое
Open position: BP0001-RF-01, SBRF-6.12_FT, 25, 8264, 0
Open position: BP0001-RF-01, VTBR-6.12_FT, -15, 8264, 0
Вот такой код загоняем в АА
Код: |
Filter = 1;
// на случай если имя символа в Ами отличается от имени в смарте
SberS = "SPFB.SBRF"; // символ VTB как он называется в базе Ами
VtbS = "SPFB.VTBR"; // символ SBER как он называется в базе Ами
pos = 0;
price = 0;
Code = "qqqqq";
if(Name() == SberS) { // Символ как он называется в Ами
// SecCode = "SRM2"; // Краткий код
Code = "SBRF-6.12_FT";
// Class = "SPBFUT";
// Lots = 6;
// Otstup = 100; // Заявка будет выставлена хуже текущей цены на Otstup рублей
// Sdvig = 15; // Используется в системе
}
else if(Name() == VtbS) { // Символ как он называется в Ами
// SecCode = "VBM2"; // Краткий код
Code = "VTBR-6.12_FT";
// Class = "SPBFUT";
// Lots = 6;
// Otstup = 30; // Заявка будет выставлена хуже текущей цены на Otstup рублей
// Sdvig = 10; // Используется в системе
}
OpenPosStatement="C:\\OpenPosStatement.dat"; // в пути двойной обратный слеш
file_open_pos = fopen( OpenPosStatement, "r" );
if(file_open_pos)
{
while(!feof(file_open_pos))
{
str = fgets(file_open_pos);
if(StrFind(str, "Open position"))
{
if(StrFind(str, Code))
{
pos = StrToNum(StrExtract(str, 2));
price = StrToNum(StrExtract(str, 3));
}
}
}
fclose(file_open_pos);
}
AddColumn(pos, "позиция");
AddColumn(price, "цена открытия");
|
Гоняем Explore на последний бар. Можно менять содержимое OpenPosStatement.dat и смотреть в АА эти изменения. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
А переменные pos и price будут доступны в любой части всего кода? Ведь надо будет определить, если количество открытых поз отрицательное, значит открыт шорт. Значит прежде чем открыть лонг, надо закрыть шорт. Т.е. запретить лонг, пока открыт шорт. А если нет открытых поз и есть сигнал, то можно выставлять приказ и лонг и шорт. И ещё надо будет проверять срабатывание приказа.
Просмотр активных приказов и открытых позиций
Файл списка открытых позиций
Файл списка открытых позиций называется OpenPosStatement.dat и располагается в папке, указанной в настройках плагина (в приведенном примере – transactions). Эта папка размещается в папке программы AmiBroker.
Пример записи файла открытых позиций:
Open position: BP0694-RF-02, SBRF-6.12_FT, -1, 8264, 0
Структура описания открытой позиции:
# поля Что содержит Пример
1 Признак открытой позиции Open position:
2 Портфель, в котором открыта позиция BP0694-RF-02
3 Финансовый инструмент SBRF-6.12_FT
4 Объем позиции в лотах (контрактах). Для коротких позиций – отрицательная величина. -1
5 Средневзвешенная цена позиции 8264
6 Рабочее поле 0
Файл списка активных приказов
Файл списка активных приказов называется TransacStatement.dat и располагается в папке, указанной в настройках плагина (в приведенном примере – transactions). Эта папка размещается в папке программы AmiBroker.
Пример записи файла активных приказов:
Active: BP0694-RF-02, SBRF-6.12_FT, 1184945893, 8207, 0, 1, Open
Структура описания приказа:
# поля Что содержит Пример
1 Признак активного приказа Active:
2 Портфель, по которому выставлен приказ BP0694-RF-02
3 Финансовый инструмент SBRF-6.12_FT
4 Номер приказа 1184945893
5 Цена приказа 8207
6 Цена STOP 0
7 Объем позиции в лотах (контрактах). 1
8 Статус приказа (открыт, частично выполнен). |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
Почему не получается сюда файл присоединить ? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Старый Пень писал(а): |
А переменные pos и price будут доступны в любой части всего кода? |
В конце того кода который я запостил будут доступны. Если дальше что либо писать в тот код, то везде дальше будут доступны. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Старый Пень писал(а): |
Почему не получается сюда файл присоединить ? |
Не знаю. У меня присоединяется. Присоединить можно не любой файл. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
|
Посмотреть профиль Отправить личное сообщение |
|
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
[quote="000"]Мляяя. Почитал ветку немного. Шо за нах.... Нет слов. Кто сказал, что Ами не может работать с позициями. У меня же работает... Просто надо проконсультироваться было и написать нормальный плагин. Там делов не много....
В общем узнавай что происходит со строкой позиции когда поза закрывается...[/quote]
Когда поза закрывается, строка удаляется. Файл становится пустым. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
Хотел пробовать тестировать этого робота, который через текстовые файлы работает. Проверял ещё раз систему, которая генерирует сигналы. На бэктестере феноменальный результат. Однако, когда стал на реале смотреть, как формируются стрелки сигналов, оказалось, что они перерисовываются. Некоторые совсем пропадают, когда цена не туда пойдёт. И, к тому же, сигнал возникает не на отрытии бара, а после открытия, после того, как цена уже прошла какое-то расстояние от наилучших значений. Если на малых фреймах смотреть, то и хрен бы с ним - там небольшая величина ухода цены. А если на большом фрейме, то уход цены будет значительным. Как в этом случае формировать цену приказа ??? Ставить цену учитывая хай/лоу предыдущих баров и ждать ??? Но в этом случае сделка может не состояться. Или входить по невыгодной текущей цене с более шороким стопом??? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Федор_
Зарегистрирован: 07.10.2011
Сообщения: 9
Откуда: Москва
|
Вероятно система смотрит в будущее.
У меня было похоже.
На бэктесте очень хорошие рез-ты, а в реальных торгах индикатор показывает то есть сделка, то нет. То вход по одной цене, а после закрытия свечи уже по другой.
Надо использовать Ref по предыдущей свече |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
Система, где триггером сигналов является пересечение индикаторов или смена направления индикаторов - заведомо убыточная система. Я придумал другую. Ётить... Грааль !!! Никому не расскажу !!! |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
Уважаемый Олег.
Расскажите пожалуйста очень подробно, как запускать робота через Анализатор. Чтобы все настройки Анализатора работали. В последнее время забросил тему робота, т.к. система всё-таки давала много ложных сигналов. Сигналы появлялись на незакрытых свечах и потом исчезали, а также появлялись задним числом, т.е. на прошлых барах. Короче, мудрил... мудрил..., вроде что-то получилось. Вроде визуально онлайн не даёт ложных сигналов. Хотя старые сигналы могут иногда отмениться. Но нас ведь старые сигналы не волнуют, правда? Робот ведь исполняет только текущие сигналы.
Ещё пробовал строить систему на ренко кирпичах. Интересная тема. Однако обычные индикаторы на этих графиках не работают. И объёмы отображаются некорректно. Т.е. объёмы могут совершенно не соответствовать тому кирпичу ренко, под которым он нарисован. Это происходит потому, что ренко графики фактически не имеют шкалы времени. И рисование индикаторов тоже не соотверствует по шкале времени графику ренко. Определить зоны перекупленности/перепроданности невозможно. Хотя на малых масштабах эти графики дают мало ложных сигналов - это большой плюс. Только вот совместить в роботе достоинства индикаторных систем и систем на основе ренко кирпичей вряд ли удастся. Раные принципы формирования графика.
Отвлёкся, что-то от главной темы... Помогите запихнуть робота в Анализатор... |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
А в чем проблема то?
Вроде тут все подробно написано. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|