Исполнение Strategy по Событию, а не по Интервалу.


Исполнение Strategy по Событию, а не по Интервалу.
Atom
6/8/2010


Алгоритм который я использую подразумевает вызов метода process()
класса Strategy не по интервалу а по событию изменение цены.
Каким образом можно осуществить это?

Tags:


Thanks:


1 2 3  >
Mikhail Sukhov

Avatar
Date: 6/8/2010
Reply


Запоминается цена на первой итерации. Каждый раз она сравнивается с
текущими. Случилось условие - сработал алгоритм.

Thanks:

sergun

Avatar
Date: 6/9/2010
Reply


Но повлиять на то, что process() вызывается именно через промежутки
времени никак нельзя?
Кастомизировать его вызов именно по событию определенного типа..

Ведь если задаться даже небольшим интервалом, все равно можно
пропустить существенное для стратегии событие.

Thanks:

takanaev

Avatar
Date: 6/10/2010
Reply


Также была потребность реализации без-таймфреймовой стратегии,
посмотрел на класс Strategy в библиотеке и сделал свой.

Thanks:

sergun

Avatar
Date: 6/10/2010
Reply


В смысле в виде наследника Strategy? Или вообще не использовали
Strategy?

Thanks:

takanaev

Avatar
Date: 6/10/2010
Reply


Совсем не использовал Strategy/

Thanks:

Mikhail Sukhov

Avatar
Date: 6/11/2010
Reply


Если вообще отказаться от интервала - то что такая стратегия будет
мониторить?

Thanks:

HaMMeR

Avatar
Date: 6/11/2010
Reply


Событие изменение цены.
Я понимаю что можно сделать это и по другому, например как в посте 2,
Но тут программа будет попусту вызывать process() каждые n времени.
А так если цена не изменяется, то и не надо вызывать process().
Пример грубый, но нужный.

Thanks:

Mikhail Sukhov

Avatar
Date: 6/11/2010
Reply


А какое событие будете использовать при этом?

Thanks:

takanaev

Avatar
Date: 6/11/2010
Reply


У меня просто после соединения и получения всех ЦБ была необходимость
как можно часто высчитывать некий индикатор и принимать решение о
позиции. Поэтому просто сделал что-то вроде этого:

Code

net Thread(Robot).Start();
...
void Robot()
{
while(true)
{
// считаем наши индикаторы
// принимаем решение о позиции
}



Но это просто у меня была такая необходимость как можно чаще
мониторить ситуацию.
Поэтому если уж использовать существующую библиотеку, то может просто
построить некий базовый класс стратегий без интервала, а поверх
интервальный, кому нужно.

Thanks:

Mikhail Sukhov

Avatar
Date: 6/11/2010
Reply


1. Фактически, реализовали то же самое, что и StrategyManager.
2. Укажите интервал TimeSpan.Zero для Strategy и получите такой же
вечный цикл без ожидания.
3. С Квиком может и не принести желаемого (уверен почти на 100). Не
умеет он так быстро данные перегонять.

Thanks:
1 2 3  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy