У вас не стоит Flash Player
Настройки
#39667 - Sat Mar 31 2012 11:20 PM Учет клирингов и пропуск вечерки при тестировании
Uncle_Ko Offline
stranger

Registered: Sat Mar 17 2012
Записи: 5
При тестировании стратегии, выполненной на C#, необходимо исключить торговлю в вечернюю сессию и "совершать" сделки только в дневную. Как это можно сделать?

Наверх
#39668 - Sat Mar 31 2012 11:33 PM Re: Учет клирингов и пропуск вечерки при тестировании [Re: Uncle_Ko]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8143
Очевидно так же, как и в визуальном редакторе:
пример на визуале http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=21983#Post21983
Компилированные файлы от визуала находятся приблизительно по такому маршруту, на одном уровне с папкой Logs:
C:\Users\USER\AppData\Local\TSLab\TSLab\temp

Наверх
#39678 - Sun Apr 01 2012 09:25 AM Re: Учет клирингов и пропуск вечерки при тестировании [Re: ViL]
Uncle_Ko Offline
stranger

Registered: Sat Mar 17 2012
Записи: 5
В компилированном файле генерируется следующий код по созданию массива с временем свечек var2, обращение к элементам которого в дальнейшем выполняется как "var2[i]>105900":

Code:
public class Script
{
	private TSLab.Script.Handlers.Time var2_h = new TSLab.Script.Handlers.Time();
	...

	public virtual void Execute(TSLab.Script.Handlers.IContext context, TSLab.Script.ISecurity var0)
	{
	...

			// Initialize 'Время' item
			// Make 'Время' item data
			System.Collections.Generic.IList<double> var2 = context.GetData("var2", null, delegate {
			                                                                	try {
			                                                                		return this.var2_h.Execute(var0);
			                                                                	}
			                                                                	catch (System.ArgumentOutOfRangeException ) {
			                                                                		throw new TSLab.Script.ScriptException("Ошибка при вычислении блока \'Время\'. Индекс за пределам диапазона.");
			                                                                	}
			                                                                });
	...
}


Однако прежде чем встраивать что-то аналогичное в свой код, я хочу получить информацию о TSLab.Script.Handlers.Time и его возможностях. В хелпе к TSLab (http://www.tslab.ru/docs/api/namespace_t_s_lab_1_1_script_1_1_handlers.html) о TSLab.Script.Handlers.Time ничего нет, посему не представляется возможным понять механику, которая стоит за работой с временем свечки. Копировать к себе один в один без понимания, как это работает, я не хочу.

Где можно посмотреть информацию о TSLab.Script.Handlers.Time и TSLab.Script.Handlers.Time.Execute, которому на вход передается объект типа ISecurity?


Отредактировано Uncle_Ko (Sun Apr 01 2012 09:25 AM)

Наверх


Moderator:  ViL, sar