Вопрос по программированию

Вопрос по программированию
Atom
1/31/2011


Привет, друзья. Начал изучать мануал и программировать своего роботика.
Подскажите пожалуйста. Допустим вследствие каких-либо причин у меня сработал сигнал на открытие позиции. Но я хочу сделать "проверку временем". Нужно после получения сигнала подождать 5 минут, и если сигнал все еще актуален , то только тогда открывать позицию. Как это можно реализовать? (возможно в S# есть такая функция или переменная)
Заранее спасибо.

Tags:


Thanks:


Alexander

Avatar
Date: 2/1/2011
Reply


Mihailo Go to
Привет, друзья. Начал изучать мануал и программировать своего роботика.
Подскажите пожалуйста. Допустим вследствие каких-либо причин у меня сработал сигнал на открытие позиции. Но я хочу сделать "проверку временем". Нужно после получения сигнала подождать 5 минут, и если сигнал все еще актуален , то только тогда открывать позицию. Как это можно реализовать? (возможно в S# есть такая функция или переменная)
Заранее спасибо.


Появился сигнал - запомнили:
var signalDateTime = DateTime.Now;

дальше смотрим разницу
if (DateTime.Now - signalDateTime >= new TimeSpan(0, 5, 0))
{
//входим
}
Thanks:

Mihailo

Avatar
Date: 2/1/2011
Reply



Появился сигнал - запомнили:
var signalDateTime = DateTime.Now;

дальше смотрим разницу
if (DateTime.Now - signalDateTime >= new TimeSpan(0, 5, 0))
{
//входим
}[/quote]


А программа новых сигналов не наделает? Нужно что-бы было так:
Появился сигнал и программа больше ни на что не смотрит пока 5 мин не пройдет и не будет ясности исполнять сигнал или нет.
Thanks:

dart

Avatar
Date: 2/1/2011
Reply


Mihailo Go to

А программа новых сигналов не наделает? Нужно что-бы было так:
Появился сигнал и программа больше ни на что не смотрит пока 5 мин не пройдет и не будет ясности исполнять сигнал или нет.

if (condition_to_buy == true && flag_sleep == 0)
{
var signalDateTime = DateTime.Now;
flag_sleep = 1;
}
if ( flag_sleep == 1 && base.Trader.MarketTime >= signalDateTime.AddMinutes(5) && condition_to_buy == true)
{
Buy;
flag_sleep = 0;
}
Насчет новых сигналов, всё зависит от вашего кода, есть там сигналы или нет.
По прошествии 5 минут, если условие на покупку уже не действительно, можно обнулить этот сигнал и ждать появления нового:
if (base.Trader.MarketTime > signalDateTime.AddMinutes(5))
flag_sleep = 0;
Thanks:

Mihailo

Avatar
Date: 2/15/2011
Reply


еще подскажите пожалуйста.
приведите пожалуйста пример кода стратегии, где сигнал возникает при пробитии максимума за 5 периодов например. а то вожусь и ничего сделать не получается.
заранее спасибо.
Thanks:


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

loading
clippy