Автор |
Сообщение |
Rybak
Зарегистрирован: 15.09.2008
Сообщения: 125
Откуда: С Паука
|
Споткнулся на ровном месте прошу помощи...
Вроде бы простое условие:
Пусть вначале есть задаваемая вручную, некая центральная цена Y .
1. Выше этой цены на N пунктов должен возникать сигнал продажи.
2. Ниже этой цены на те же N пунктов должен возникать сигнал покупки.
Далее - после возникновения либо сигнала 1 либо сигнала 2, центральной точкой Y становится соответственно значеним либо Y+N либо Y-N, и т.д. и т.п.
Т.е. получается нечто вроде пирамидинга...
Не соображу как это записать в Ами.
Это только циклом или я не вижу простого метода? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
ID
Советник
Зарегистрирован: 07.01.2008
Сообщения: 370
|
начало как-то так:
Код: |
my_level = 33.50;
my_N = 2.5;
buy = cross(h,my_level + my_N);
buyprice = my_level + my_N;
short = cross(my_level - my_N, l);
shortprice = my_level - my_N; |
а вот доливку через цикл
http://www.amibroker.com/guide/h_pyramid.html |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Rybak
Зарегистрирован: 15.09.2008
Сообщения: 125
Откуда: С Паука
|
Спасибо за ответ, особо - за ссылочку.
Похоже на то что надо.
офф
Вообще эта штука нужна для автоматизации процесса рехеджирования при торговле волатильностью..
Если кто занимается такой торговлей - есть предложение обсудить ньюансы.
Ест-но не в этой ветке. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Если будут вопросы по пирамиде, то спрашивай. Я, как раз, недавно с этим разбирался подробно и теперь сильно "в теме" |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Rybak
Зарегистрирован: 15.09.2008
Сообщения: 125
Откуда: С Паука
|
000 писал(а): |
Если будут вопросы по пирамиде, то спрашивай. Я, как раз, недавно с этим разбирался подробно и теперь сильно "в теме" |
Олег, спасибо.
Собственно как я писал выше, сей механизм (бот) нужен для торговли волатильностью по Конноли, но с небольшими изменениями.
схема бота такая:
На равных ценовых интервалах вверх и вниз относительно некой опорной в моменте цены выставляются два стопа.
Выше - на продажу. Ниже - на покупку.
Т.е. всё как написал уважаемый ID, но только это статичная, "разовая" система.
Нужна же динамическая смена уровней при срабатывании стопов.
Т.е. пусть
Y - "опорная" в моменте цена.
Тогда
Y+n - ордер Sell limit
Y-n - ордер Buy limit
Если сработал к примеру ордер на продажу, то
Y == Y+n ;
При сработке покупки соответственно наоборот
Y == Y-n ;
уровни следующих стопов соо-но опять смещаются на +-n.
и т.д. и т.п.
Это конечно в упрощенном виде, более "правильно" - надо учитывать размер позиции для каждого уровня, но это уже детали отдельного (если кто пожелает) разговора для тех кто в теме дельта-нейтральной торговли.
ps
А не попадалось кому скрипт расчёта IV (ожидаемой!) и греков опциона для Ами? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Типа так
Код: |
Buy = Sell = Short = Cover = 0;
n = 10; // ? %
Y = 5;
pos = 0;
for(i = 1; i < BarCount; i++)
{
if(pos == 0) {
if(H[i] > Y[i] * (1 + n/100)) {
Buy[i] = 1;
BuyPrice[i] = Y[i] * (1 + n/100);
Y1 = Y[i] * (1 + n/100);
pos = 1;
}
else if(L[i] < Y[i] * (1 - n/100)) {
Short[i] = 1;
ShortPrice[i] = Y[i] * (1 - n/100);
Y1 = Y[i] * (1 - n/100);
pos = -1;
}
}
else if(pos > 0) {
if(H[i] > Y1 * (1 + n/100)) {
Buy[i] = sigScaleIn;
BuyPrice[i] = Y1 * (1 + n/100);
Y1 = Y1 * (1 + n/100);
}
else if(L[i] < Y1 * (1 - n/100)) {
Sell[i] = 1;
SellPrice[i] = Y1 * (1 - n/100);
pos = 0;
}
}
else if(pos < 0) {
if(L[i] < Y1 * (1 - n/100)) {
Short[i] = sigScaleIn;
ShortPrice[i] = Y1 * (1 - n/100);
Y1 = Y1 * (1 - n/100);
}
else if(H[i] > Y1 * (1 + n/100)) {
Cover[i] = 1;
CoverPrice[i] = Y1 * (1 + n/100);
pos = 0;
}
}
}
|
Правда на счет Short[i] = sigScaleIn; не уверен. С шортами пирамидинг не мацал.... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
ID
Советник
Зарегистрирован: 07.01.2008
Сообщения: 370
|
000 писал(а): |
Если будут вопросы по пирамиде, то спрашивай. Я, как раз, недавно с этим разбирался подробно и теперь сильно "в теме" |
Олег, вопрос такой:
Ты теперь спец по кодированию доливки, отливки или спец по тактике доливок и отливок: когда доливать, сколько доливать, куда стоп передвигать и проч? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
ID писал(а): |
Олег, вопрос такой:
Ты теперь спец по кодированию доливки, отливки или спец по тактике доливок и отливок: когда доливать, сколько доливать, куда стоп передвигать и проч? |
Даже если я спец по тактике один хрен отвечать я берусь только на вопросы по кодированию. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Rybak
Зарегистрирован: 15.09.2008
Сообщения: 125
Откуда: С Паука
|
000 писал(а): |
Типа так.... |
Олег, как всегда выручил.
Ход мыслей и информация к размышлению есть.
Спасибо! |
|
|
Посмотреть профиль Отправить личное сообщение |
|
sas55
Зарегистрирован: 15.03.2009
Сообщения: 61
Откуда: Омск
|
Привет всем !
Уточните пжл в какой версии АМИ используются
sigScaleIn,sigScaleOut ? |
_________________ "Если мы выиграем на финансовом фронте, то мы выиграем всё" В.И.Ленин |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
В 4.8 точно уже было. В какой версии появилось не помню. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
sas55
Зарегистрирован: 15.03.2009
Сообщения: 61
Откуда: Омск
|
Олег привет!
А где моно почитать за них |
_________________ "Если мы выиграем на финансовом фронте, то мы выиграем всё" В.И.Ленин |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Самое простое в хелпере. Набери в поиске в хелпере Pyramiding и первая найденная тема будет Pyramiding (scaling in/out) and mutliple currencies in the portfolio backtester. Вот там и читай. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
sas55
Зарегистрирован: 15.03.2009
Сообщения: 61
Откуда: Омск
|
Спасиб Олег за сноску
Пытался на примере Example 4: partial exit (scaling out) on profit target stops сделать приблпзительно тоже но знания подводят
Окажите помощь страждующим
По системе надо выходить при достижении профита 2000 пунктов половиной позы остаток закрыть при достижении 2-го профита,либо выйти по лосю,либо по тралу но он рассчитан так что может сработать только когда сработает 1-ый профит
Код: |
Система 1 : торговля 2 контрактами
BuyLevel_1=DH+3*TickSize;
ShortLevel_1=DL-3*TickSize;
Buy_1 = Cross(O, BuyLevel_1);
Short_1 = Cross(ShortLevel_1,O);
Sell_1=Cover_1=0;
BuyPrice=O;
ShortPrice=O;
ApplyStop(stopTypeLoss,stopModePoint,400,1);
ApplyStop(stopTypeProfit,stopModePoint,2000,1);/ 50% позиции( -1 контракт)
ApplyStop(stopTypeProfit,stopModePoint,4500,1);
ApplyStop(stopTypeTrailing,stopModePoint,3.5*ATR(20),1,True,True);
Sell = Sell OR Short;
Cover = Cover OR Buy;
Equity(1,0);
|
|
_________________ "Если мы выиграем на финансовом фронте, то мы выиграем всё" В.И.Ленин |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Напишу. Только попозже (в воскресенье - понедельник)... Ща башка работать не хочет.
Если бы только лонг... тогда бы было значительно проще... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|