Начать новую тему Ответить на тему |
Список форумов AmiSite.ru » Вопросы по AFL |
На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 След. |
Автор |
Сообщение |
Swell
Зарегистрирован: 18.01.2013
Сообщения: 117
|
Тут по ходу ещё один вопрос возник с определением индекса бара. Вот такой код:
n=BarIndex();
b=SelectedValue(n);
printf(NumToStr(b));
Почему-то выдаёт величину индекса порядка 150-300. Хотя по моим расчётам величина индекса должна быть порядка 25000, если отсчёт вести от самого первого бара. Что здесь принимается за точку отсчёта? И зачем отсчёт вести не от самого первого бара, а от какого-то другого?
И ещё одна проблема. При повторном кликании мышки по одному и тому же бару, почему-то этот код даёт индекс последнего видимого бара. Можно ли как-нибудь это отключить? Т.е. сделать так, чтобы при повторном нажатии выдавался тот же самый индекс, где стоит курсор. Я облазил все меню и ничего не нашёл. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ами, для ускорения расчетов, использует так называемый квикАФЛ. Считает не весь массив баров, а только те, которые влияют на отображение линий на экране.
Можно его заставить считать все бары. Для этого в начало кода вставь строку
Код: |
SetBarsRequired(sbrAll, sbrAll); |
Тогда твой расчет будет верным и одинаковым. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Swell
Зарегистрирован: 18.01.2013
Сообщения: 117
|
Олег, спасибо. Очень ценная информация. А то при прокрутке бары меняют свой индекс и получается путаница. Методом проб и ошибок я определил, что если в конце кода поставить такой оператор: e=equity(), то тоже начинает считать все бары. Правда я не могу понять, почему так. И почему именно в конце кода...
Но видимо то, что ты предложил, более правильно. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Shara
Зарегистрирован: 11.02.2013
Сообщения: 30
Откуда: местный
|
Всем привет. Подскажите начинающему плиз. Для теста простых систем на 1-2 индикатора, существует универсальный образец(или трафарет) кода для Ами? Что бы в нем можно было бы менять блоками разные параметры. Например, меняешь блок на вход по одному индикатору, на вход по другому индикатору. Так же на выход, и другое. Если это есть, где можно посмотреть, только нужно с коментариями внутри кода. Нужно для понимания структуры кода и языка программы. Что бы было понятно про каждую строчку кода. И в каком порядке, куда писать. Сам кое как понял, что написал.
Книгу про AFL просмотрел, ни чего не понял, нужно дальше вникать. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Могу посоветовать посмотреть в хелпере тему "Back-testing your trading ideas". Не по русски конечно, но достаточно понятно.
И еще в Ами есть такой инструмент AFL code wizard Он в меню Analysis. Он тоже может немного помочь разобраться.... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Shara
Зарегистрирован: 11.02.2013
Сообщения: 30
Откуда: местный
|
А у Вас нет простого кода с коментариями и описанием самой стратегии? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Это не пойдет? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Shara
Зарегистрирован: 11.02.2013
Сообщения: 30
Откуда: местный
|
Спасибо, вроде все описано. Попробую поучить. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Shara
Зарегистрирован: 11.02.2013
Сообщения: 30
Откуда: местный
|
Скажите, вот нашел такой код, как образец(или трафарет) подойдет?
KomBir=2; //комиссия биржи за круг
KomBro=2; //комиссия брокера за круг
prosk=50; //Проскальзывание
SetPositionSize(1,4); //Торгуемое количество лотов
SetTradeDelays( 0, 0, 0, 0 ); //Задержка торгов
SetOption("InitialEquity", 100000); //Начальный депозит
SetOption("AllowSameBarExit", True); //Запрет выхода на баре входа
SetOption("ActivateStopsImmediately", True); //Немедленная активация стопов
SetOption("AllowPositionShrinking", False);
//Разрешить окрывать позицию размером меньше заданного (при недостатке средств)
SetOption("FuturesMode", True); //Режим маржинальной торговли
SetOption("CommissionMode", 2); //Режим комиссии
SetOption("CommissionAmount",(KomBir+KomBro)/2); //Величина комиссии
Buy=; //Правила покупки
Short=; //Правила продажи
BuyPrice=prosk+O/С/H/L; //Учитываем проскальзывание при покупке
ShortPrice=-prosk+O/С/H/L; //Учитываем проскальзывание при продаже
//среди O/С/H/L выберите нужное значение
Sell=; //Правила закрытия длинной позиции
Cover=; //Правила закрытия короткой позиции
SellPrice=-prosk+O/С/H/L; //Учитываем проскальзывание при продаже
CoverPrice=prosk+O/С/H/L; //Учитываем проскальзывание при покупке
==================================
Может еще кому поможет в освоении Ами. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
В общем пойдет.
Только.
Если у тебя
Немедленная активация стопов, то входить по Close не следует. Тестер проверить H/L на баре входа на предмет срабатывания стопов, а стоп там сработать не мог, т.к. вход был в самом конце бара.
и не стоить в ценах входа (BuyPrice и ShortPrice) писать H и L. Невозможно войти на хае или лое. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Shara
Зарегистрирован: 11.02.2013
Сообщения: 30
Откуда: местный
|
А как правильно нужно? не напишете для акций? и вроде это для фьючерса шаблон. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Нет принципиальной разницы между торговлей бумаг и производных. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
zyanov
Зарегистрирован: 15.04.2012
Сообщения: 28
|
Подскажите как создать подобие RSIa только для MACD? Надо что то типа MACDa( array, fast,slow). |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Я не понял, что именно надо. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Swell
Зарегистрирован: 18.01.2013
Сообщения: 117
|
Здравствуйте.
Никто не подскажет, есть какая-нибудь функция или способ прочитать из программы верхнее и нижнее значение видимого диапазона по оси Y? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|
Начать новую тему Ответить на тему |
Список форумов AmiSite.ru » Вопросы по AFL |
На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 След. |
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|