У вас не стоит Flash Player
Настройки
#34693 - Thu Dec 15 2011 04:50 PM Работа со временем
inv Offline
stranger

Registered: Thu Dec 15 2011
Записи: 13
Добрый день.

Подскажите пожалуйста, как обратиться с времени свечи и системному времени. Т.е. по возможности, прошу привести пример скрипта, в котором:

1). Сделки разрешаются в определенное время, например, после 15:30 каждого дня.
2). Сравнивается текущее системное время с временем последней свечки графика.


В примерах не нашел такого. Заранее спасибо.

Наверх
#34709 - Thu Dec 15 2011 11:50 PM Re: Работа со временем [Re: inv]
Ti_ru Offline
writer

Registered: Sun Oct 17 2010
Записи: 479
1 - все просто, берете блок Время, соединяете его с лог. формулой, где указываете: t>153000

2 - какой смысл сравнивать системное время со временем свечки, локальное время может сбиться и тогда даже отставание на пару секунд может привести к нехорошим последсвиям.
Но если все же надо, то можно, наверное использовать через АПИ стандартный класс DateTime, только преобразовать его к принятому на бирже формату ГГГГММДД ччммсс. Получится что-то вроде этого:

Code:
DateTime systemTime = DateTime.Now;
            string d = systemTime.ToString("yyyyMMdd");
            string t = systemTime.ToString("hhmmss");


Отредактировано Ti_ru (Thu Dec 15 2011 11:58 PM)

Наверх
#34711 - Fri Dec 16 2011 10:00 AM Re: Работа со временем [Re: Ti_ru]
inv Offline
stranger

Registered: Thu Dec 15 2011
Записи: 13
Originally Posted By: Ti_ru
1 - все просто, берете блок Время, соединяете его с лог. формулой, где указываете: t>153000


Спасибо. Но вопрос именно и был в том как обратиться к времени свечки - как присвоить переменной значение, скажем часа свечки.

Желательно с примером.

Originally Posted By: Ti_ru

2 - какой смысл сравнивать системное время со временем свечки, локальное время может сбиться и тогда даже отставание на пару секунд может привести к нехорошим последсвиям.
Но если все же надо, то можно, наверное использовать через АПИ стандартный класс DateTime, только преобразовать его к принятому на бирже формату ГГГГММДД ччммсс. Получится что-то вроде этого:

Code:
DateTime systemTime = DateTime.Now;
            string d = systemTime.ToString("yyyyMMdd");
            string t = systemTime.ToString("hhmmss");


Ну смысл сравнивать не с точностью до секунды а, скажем +/- N секунд или минут.Отсюда вопрос - как отдельно переменную минуты взять. Ну и повторю вопрос - как узнать время свечи?

Если был такой пример, где какие-то действия во временем проводились, то дайте ссылку пожалуйста!

Наверх
#34715 - Fri Dec 16 2011 11:43 AM Re: Работа со временем [Re: inv]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8143

Наверх
#34719 - Fri Dec 16 2011 11:59 AM Re: Работа со временем [Re: ViL]
inv Offline
stranger

Registered: Thu Dec 15 2011
Записи: 13


Спасибо конечно, но это все относится к блокам визуального редактора.

Хотелось бы увидеть примеры работы со временем в TSLab API. т.е код на C#.

Наверх
#34758 - Sat Dec 17 2011 09:21 AM Re: Работа со временем [Re: inv]
Ti_ru Offline
writer

Registered: Sun Oct 17 2010
Записи: 479
Если пример кода, где идет работа со временем, то примерно такое должно быть:
Code:
namespace Scrypt
{
    public class Class : IExternalScript
    {
     private Time t_h = new Time(); //время в формате HHMMSS
     //или
     private TimeInMins TimeInMins_h = new TimeInMins(); //время в минутах с начала суток

     public virtual void Execute(IContext ctx, ISecurity Source)
{
.......................
//создаем массив времени
IList<double> t = ctx.GetData("t", null, delegate { return t_h.Execute(Source); }); 

//далее в коде обращаемся к нужной свече через индекс, например время последней свечи равно t[i]
}

.................

}


Отредактировано Ti_ru (Sat Dec 17 2011 09:21 AM)

Наверх
#34783 - Mon Dec 19 2011 09:42 AM Re: Работа со временем [Re: Ti_ru]
inv Offline
stranger

Registered: Thu Dec 15 2011
Записи: 13
Спасибо. Вроде разобрался.

Наверх


Moderator:  ViL, sar