Прошу помощи: реализация stop и limit приказов, как они понимаются в WLD

Прошу помощи: реализация stop и limit приказов, как они понимаются в WLD
Atom
26.10.2011
Romant


Приветствую!

Я делаю первые шаги в освоении S# (в C++ и C# ориентируюсь), прошу помочь с вопросом, который может быть элементарным. Есть код для WLD3, который иллюстрирует использование stop и limit приказов, его нужно реализовать под S#:


var nPeriod: integer  = 3;
var setEntry: integer = #Low;
var serExit: integer  = #High;

var Bar: integer;
for Bar := nPeriod to BarCount() - 1 do
begin
    if not LastPositionActive() then
    begin
        var fEnterLimitPrice: float = Highest(Bar, setEntry, nPeriod);
        BuyAtLimit(Bar + 1, fEnterLimitPrice, 'Enter');
    end
    else
    begin
        var fExitStopPrice: float = Lowest(Bar, serExit, nPeriod);
        SellAtStop(Bar + 1, fExitStopPrice, LastPosition(), 'Exit');
    end;
end;

Пример со скользящей средней я смотрел, как на его основе сделать нужное не понял. Большая просьба к авторам библиотеки и ко всем, кто тайное знание уже постиг: не могли бы вы продемонстрировать, как логика, реализованная выше, должна выглядеть при использовании S# ? Мне кажется, что портирование такого кода под S# можно использовать как ещё один пример, включаемый в поставку библиотеки, поскольку на логическом скелете этого кода (перебор баров, ветки "если есть поза" и "если нет позы", стоп и лимт приказы) строится львиная доля систем, реализуемых в пакетах теханализа.

Заранее благодарен.


Теги:


Спасибо:


< 1 2 
Alexander

Фотография
Дата: 26.10.2011
Ответить


Supervisor:

Romant: Вопрос первый: как выставить в квик stop и limit ордера, чтобы они в квике отработали так же, как они работают при симуляции в WLD3 ? В WLD3 это работает так:

BuyAtLimit(Bar, Price) - купить бумагу по цене, меньшей или равной Price, в течение бара Bar; если купить не получилось и бар кончился, то ордер не срабатывает. BuyAtStop(Bar, Price) - купить бумагу по цене, большей или равной Price, в течение бара Bar; если купить не получилось и бар кончился, то ордер не срабатывает. Условно для BuyAtLimit(Bar, Price):

var order = new Order { Portfolio = _portfolio, Price = _price, Security = _security, Volume = 1, Direction = OrderDirections.Buy, CancelTime = _currentTime + _timeframe, }; trader.RegisterOrder(order);

> Для BuyAtStop несколько хитрее.

только ExpiryDate, а не CancelTime
Спасибо:

frontman

Фотография
Дата: 26.10.2011
Ответить


[biggrin]

Спасибо:

Romant

Фотография
Дата: 26.10.2011
Ответить


to Supervisor: большое спасибо.

Александр, не могли бы Вы точнее указать, где именно в архиве библиотеки можно посмотреть на пример выставления стоп-заявок ? А равно и лимтиных заявок, если такой пример есть.

Спасибо:

esper

Фотография
Дата: 26.10.2011
Ответить


Стоп заявки тут. Лимитные есть в SampleSMA.

Спасибо:

Alexander

Фотография
Дата: 26.10.2011
Ответить


Romant: to Supervisor: большое спасибо.

Александр, не могли бы Вы точнее указать, где именно в архиве библиотеки можно посмотреть на пример выставления стоп-заявок ? А равно и лимтиных заявок, если такой пример есть.

Quik\Sample NewOrderWindow.xaml.cs и NewStopOrderWindow.xaml.cs

Спасибо:
< 1 2 

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy