Автор |
Сообщение |
Nero Wolfe
Зарегистрирован: 17.03.2010
Сообщения: 174
|
Подскажите, плиз, как осуществить такую конструкцию:
мне нужно сразу после открытия свечи выставить две стоп заявки: одну на покупку на уровне Ref(H, -1) + Bs, вторую на продажу на уровне Ref(L, -1) - Ss
Заранее благодарен
Мысли вслух:
Наверное надо сформировать массивы Ref(H, -1) + Bs и Ref(L, -1) - Ss и входить по пересечению H и L с соответствующими массивами, так?
Для тестера может и так, но в реале хотелось бы чтоб заявки выставлялись сразу и ждать исполнения одной из них, для минимизации задержек и проскальзывания. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
А как будешь узнавать исполнилась заявка или нет? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Nero Wolfe
Зарегистрирован: 17.03.2010
Сообщения: 174
|
000 писал(а): |
А как будешь узнавать исполнилась заявка или нет? |
вопрос конечно интересный и правда - как?
т.е. получается, что только по пересечению кидать рыночную заявку? для тестирования такой метод вполне сгодится...
но вот я думаю уже о будущем т.е. об автоматической торговле, может можно при пересечении вышеуказанных массивов формировать другой массив, в который не сигналы бы генерировались Sell и Buy, а просто записывалась позиция -1, 0, +1 и в зависимости от текущей позиции на следующем баре выставлялась только соответствующая заявка (например, если позиция +1, то ставится только стоп на продажу, для избежания открытия повторных дополнительных позиций). |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Я в стакан заявки не ставлю. Тем более не ставлю стоп заявки...
Т.е. всё по рынку...
для запорминания рыночной позиции пишу её в файл.
Работает вроде хорошо. Надежно.... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
snowkam
Зарегистрирован: 12.07.2010
Сообщения: 62
|
так это.......
Может покажите примерчик как поставить стоп на покупку. Я все бьюсь над лимитированной заявкой. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
А смысл?
Вообще я не знаю. Можно посмотреть в квике как такую заявку сделать, только зачем? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
snowkam
Зарегистрирован: 12.07.2010
Сообщения: 62
|
так я так и не могу лимитированную заявку выставить!
все какие то обрывки мысли...
Кто реализовал в амиброкере лимитированную заявку на покупку??????????? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Я, к своему стыду, даже не знаю что такое лимитированная заявка.
Поэтому и подсказать не могу. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
snowkam
Зарегистрирован: 12.07.2010
Сообщения: 62
|
я осмелюсь из WLD примерчик и описание сюда выложить.
BuyAtLimit
Описание
Входит в длинную позицию, если цена достигает указанного LimitPrice. Позиция будет
открыта, если цена пересечет, или снизится до уровня LimitPrice на указанном Баре.
Если цены откроются ниже LimitPrice, то Положение будет установлено по цене
открытия. При превышении указанной цены LimitPrice, позиция не будет выставлена и
функция отменяется.
Замечания
• Снижение цены при исполнении, может оказать влияние на цену сделки.
• Строка, которая может быть пустой, записывается как параметр SignalName в
колонке сигнала входа, в окне сделок для ChartScript и окне $imulator, или в колонке
Signal Name в панеле Scans.
• Для фьючерса, LimitPrice автоматически округляется к ближайшему значению тика.
Example
{ Покупка на следующем баре, при пробитии минимума 10 предыдущих баров }
var X: float;
var BAR: integer;
for Bar := 200 to BarCount - 1 do
begin
if not LastPositionActive then
begin
x := Lowest( Bar, #Low, 10 );
BuyAtLimit( Bar + 1, x, '10 bar low' );
end
else
begin
{ .. правило выхода ... }
end
end;
срипт делает следующие. Если нет открытых позиций то x равен минимальному значению последних 10 баров.
BuyAtLimit( Bar + 1, x, '10 bar low' );
дает команду на покупку по цене x на следующем баре.
Вот это и есть лимитированная заявка в Quke тоже есть такое. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Т.е. я понял так, что лимитная заявка это купить если цена достигнет... но не хуже чем по....
Так? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
snowkam
Зарегистрирован: 12.07.2010
Сообщения: 62
|
ты правильно понял! Если цена пересечет сверху вниз на указанном баре или опустится до цены. Если открытие бара произошло ниже уровня то покупка осуществляется по цене открытия. А если выше и цена не достигла уровня то заявка снимается. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
snowkam
Зарегистрирован: 12.07.2010
Сообщения: 62
|
и вот антипод но тоже очень нужная вещь
например полезна на пробитии какого либо уровня.
BuyAtStop
ChartScripts SimuScripts PerfScripts CMScripts
Описание
Входит в длинную позицию, если цена достигает указанного StopPrice. Позиция будет
открыта, если цена пересечет, или превысит указанный StopPrice на указанном Баре.
Если цены откроются выше StopPrice, то Положение будет установлено по цене
открытия. При превышении указанной цены StopPrice, позиция не будет выставлена и
функции отменяется.
Замечания
• Снижение цены при исполнении, может оказать влияние на цену сделки.
• Строка, которая может быть пустой, записывается как параметр SignalName в
колонке сигнала входа, в окне сделок для ChartScript и окне $imulator, или в колонке
Signal Name в панеле Scans.
• Для фьючерса, LimitPrice автоматически округляется к ближайшему значению тика.
Example
{ Попытка купить, при пробитие пика }
var BAR: integer;
var p: float;
for Bar := 40 to BarCount - 1 do
begin
if not LastPositionActive then
begin
p := Peak( Bar, #Close, 15 );
BuyAtStop( Bar + 1, p, 'Breakout' ); end
else
begin
{ ... правило выхода ... }
end;
end; |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|