У вас не стоит Flash Player
Page 1 of 2 1 2 >
Настройки
#42320 - Fri Jun 01 2012 07:47 PM не нашел примеров и ответов на форуме
yan Offline
newbie

Registered: Fri May 04 2012
Записи: 49
тестирую функции TSLab API через SharpDevelop.
хочу заставить TSLab на демо-счете выставить заявку
на продажу одного лота RIM2.
слепил такой скрипт:
---------------------------
using System;
using System.Collections.Generic;
using TSLab.Script;
using TSLab.Script.Handlers;
using TSLab.Script.Optimization;
using TSLab.Script.Helpers;

using System.Linq;
using TSLab.Script.Realtime;

namespace TSLab.Samples
{
public class Class_Rt : IExternalScript
{
public void Execute(IContext ctx, ISecurity source)
{
ISecurityRt secRt = source as ISecurityRt;
if (!secRt.HasActiveOrders)
{
// подаем заявку на продажу по цене 125000
secRt.NewOrder(TSLab.DataSource.OrderType.Limit,false,125000,1,"EX");
}

} // Execute
} // Class_Rt
} // TSLab.Samples
---------------------------

TSLab в окне сообщений утверждает :

19:35:00.25 100 Скрипт: 'подача заявки по 125000' Скрипт выполнен успешно за 3мс. (40 баров, время 01.06.2012 19:30:00)
19:34:58.70 100 Скрипт: 'подача заявки по 125000' запущен
--------------------------------------------

смотрю в "Свои заявки" - там этой заявки нет.
Что не так в скрипте ?
Прошу привести правильный пример скрипта,
выполняющий задачу выставления заявки на демо-счете по 125000 рэ.
----------------------------
Спасибо заранее !


Attachments
Scr1.JPG (381 downloads)
Scr2.JPG (373 downloads)


Наверх
#42321 - Fri Jun 01 2012 07:59 PM Re: не нашел примеров и ответов на форуме [Re: yan]
yan Offline
newbie

Registered: Fri May 04 2012
Записи: 49
забыл сказать: перерыл в поисках ответа весь форум, но конкретных работающих примеров не нашел.
бьюсь над этой ерундой второй день, но безрезультатно.
документацию читал.


Отредактировано yan (Fri Jun 01 2012 08:04 PM)

Наверх
#42322 - Fri Jun 01 2012 08:08 PM Re: не нашел примеров и ответов на форуме [Re: yan]
zxc Offline
member

Registered: Mon May 07 2012
Записи: 150
сам не разбираюсь, но везде на форуме отвечают что заявки нужно подавать на i+1 . не нашол в твоем примере где это должно быть

Наверх
#42324 - Fri Jun 01 2012 09:25 PM Re: не нашел примеров и ответов на форуме [Re: zxc]
yan Offline
newbie

Registered: Fri May 04 2012
Записи: 49
про "i+1" видел здесь:
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=40605

но там по команде "CloseAtMarket" и, если я правильно понял, в режиме отладки на исторических данных.

Наверх
#42423 - Mon Jun 04 2012 04:45 PM Re: не нашел примеров и ответов на форуме [Re: yan]
yan Offline
newbie

Registered: Fri May 04 2012
Записи: 49
есть кто на форуме, кто мог бы помочь ?

Наверх
#42448 - Mon Jun 04 2012 10:20 PM Re: не нашел примеров и ответов на форуме [Re: yan]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Откройте Менеджер Команд и смотрети сигнал там. Если флаг разрешено отключен, то необходимо включить автоматическое исполнение входов/выходов. Эти опцию влияют на сигналы от NewOrder. так же необходимо включить опцию "отключить генерацию позиций", т.к. одновременно пользоваться позициями и ручным управлением заявками в одном скрипте нельзя.

Наверх
#42475 - Tue Jun 05 2012 11:15 AM Re: не нашел примеров и ответов на форуме [Re: Nektodron]
yan Offline
newbie

Registered: Fri May 04 2012
Записи: 49
Спасибо за оперативный ответ !
Сделал все, как вы советовали.
Столкнулся с проблемой: опции не сохраняются.
Скриншоты с комментариями прилагаю.

Остались вопросы:
1.Что нужно сделать, чтобы устанавливаемые опции сохранились ?
2.При нажатии в менеджере команд кнопки «Выполнить» сообщение о заявке появляется в окне сообщений.
Заявка появляется в таблице заявок, статус "не активна" и "не выполнена".
Отключаю скрипт и снова появляется вторая заявка со статусом "не активна" и "не выполнена".
2.1.Почему они появляются 2 раза ?
2.2.Почему они «не активны» ?


Attachments
выполнил_инструкции.doc (292 downloads)


Наверх
#42476 - Tue Jun 05 2012 11:22 AM Re: не нашел примеров и ответов на форуме [Re: yan]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
1. Что опции сохранились нужно в панели редактора нажать кнопку сохранить. Либо нажать кнопку выполнить в лаборатории (это тоже приводит к сохранению).
2. На счет 2х раз не понятно. У вас две команды на выставление заявки - две строчки в менеджере. Не активны, потому что при выставлении заявки прошла ошибка "Цена сделки вне лимита", ее видно в окне сообщений. Т.е. цена не попадает в текущий лимит биржи.

Наверх
#42478 - Tue Jun 05 2012 11:46 AM Re: не нашел примеров и ответов на форуме [Re: Nektodron]
yan Offline
newbie

Registered: Fri May 04 2012
Записи: 49
Все получилось отлично !
Как только уменьшил цену все нормализовалось:
- заявка при запуске/остановке скрипта подается один раз;
- заявка активна.
Спасибо большое !

Появился новый вопрос:
можно ли какой-нибудь функцией API определить текущий лимит биржи по инструменту ?

Наверх
#42480 - Tue Jun 05 2012 11:51 AM Re: не нашел примеров и ответов на форуме [Re: yan]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
ISecurityRt.FinInfo.PriceMax и PriceMin

Наверх
#42481 - Tue Jun 05 2012 12:20 PM Re: не нашел примеров и ответов на форуме [Re: Nektodron]
yan Offline
newbie

Registered: Fri May 04 2012
Записи: 49
доделал скрипт, чтобы выводить предупреждение о превышении лимита биржи так:
------------------------------
using System;
using System.Collections.Generic;
using TSLab.Script;
using TSLab.Script.Handlers;
using TSLab.Script.Optimization;
using TSLab.Script.Helpers;

using System.Linq;
using TSLab.Script.Realtime;

namespace TSLab.Samples
{
public class Class_Rt : IExternalScript
{
public void Execute(IContext ctx, ISecurity sec)
{
//проверка на лабораторию-если не реальная торговля-выходим
if (!sec.Positions.IsRealtime) return;

// объявим переменные
var MyPrice=135500;
ISecurityRt secRt = sec as ISecurityRt;

// проверим текущий лимит биржи по инструменту = ISecurityRt.FinInfo.PriceMax и PriceMin
if (MyPrice < secRt.FinInfo.PriceMax)
{
//if (!secRt.HasActiveOrders)
//{
// подаем заявку на продажу по моей цене
secRt.NewOrder(TSLab.DataSource.OrderType.Limit,false,MyPrice,1,"EX");
//}
}
else
{
//TSLab.Script.Handlers.IContext.Log("Цена заявки выше лимита биржи по инструменту !", 255);
ctx.Log("Цена заявки выше лимита биржи по инструменту !", 255);
}
} // Execute
} // Class_Rt
} // TSLab.Samples
------------------------------

версия TSLab 1.1.24.0:32bit
сообщение в "окне сообщений" не появляется.
в лог файле сообщение есть.

по этой ветке: http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=34251
выяснил, что до версии 1.1.21.25 так и должно быть.
реализован ли вывод сообщений по команде "TSLab.Script.Handlers.IContext.Log" в Окно сообщений.
и если да, то с какой версии ?


Отредактировано yan (Tue Jun 05 2012 12:20 PM)

Наверх
#42484 - Tue Jun 05 2012 01:34 PM Re: не нашел примеров и ответов на форуме [Re: yan]
yan Offline
newbie

Registered: Fri May 04 2012
Записи: 49
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=3978&page=all

по этой ссылке вы писали Wed Aug 04 2010 10:38 AM:
"Для получения времени в API функций сейчас нет. В принципе, можно вынести в ISecurityRt"

здесь смотрю и функции получения времени не вижу:
http://www.tslab.ru/docs/api/interface_t...5f77fbfe58008a0

эта функция на данный момент реализована или я зря ищу ?

Наверх
#42486 - Tue Jun 05 2012 01:42 PM Re: не нашел примеров и ответов на форуме [Re: yan]
yan Offline
newbie

Registered: Fri May 04 2012
Записи: 49
разобрался со временем, нашел ветку:
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=34693

извините за беспокойство и мою невнимательность !

Наверх
#42489 - Tue Jun 05 2012 01:59 PM Re: не нашел примеров и ответов на форуме [Re: yan]
Gji Offline
member

Registered: Fri Apr 22 2011
Записи: 137
Originally Posted By: yan
"Для получения времени в API функций сейчас нет. В принципе, можно вынести в ISecurityRt"

См.
ISecurityRt.FinInfo.LastUpdate

Originally Posted By: yan

ctx.Log(...

работала и работает уже давно.

Наверх
#42491 - Tue Jun 05 2012 02:48 PM Re: не нашел примеров и ответов на форуме [Re: Gji]
yan Offline
newbie

Registered: Fri May 04 2012
Записи: 49
использую "ctx.Log(" так:

--------------------------
double cur_Price = secRt.FinInfo.LastPrice.Value;
string cur_Date = systemTime.ToString("yyyyMMdd");
string cur_Time = systemTime.ToString("hhmm");
ctx.Log("Текущее время: "+cur_Time+" дата: "+cur_Date+" Последняя цена: "+cur_Price, 255);
--------------------------

в лог-файл пишет:
--------------------------
14:36:39.95[5]DEBUG:Текущее время: 0236 дата: 20120605 Последняя цена: 123115
14:36:39.95[5]INFO :Текущее время: 0236 дата: 20120605 Последняя цена: 123115
14:36:39.95[5]DEBUG:State 191. Initialization is stopped.
14:36:39.95[5]INFO :RIM2:RTS: Orders has been updated for 135000. 0 active orders, 0 total
14:36:39.96[5]INFO :Скрипт: '135000' Скрипт выполнен успешно за 4мс. (4122 баров, время 05.06.2012 14:35:00)
14:36:39.96[5]INFO :100:Info:Script:(Script:135000):Скрипт: '135000' Скрипт выполнен успешно за 4мс. (4122 баров, время 05.06.2012 14:35:00)
14:36:39.96[5]INFO :RIM2:RTS: Orders has been updated for 135000. 0 active orders, 0 total
14:36:55.35[15]INFO :Try to update server time from 06/05/2012 15:36:55 to 06/05/2012 14:37:22
--------------------------

в окне сообщений выводит что-то (см.скриншот)
но самого сообщения нет.
Где ошибка ?


Attachments
окно_сообщений.JPG (280 downloads)


Наверх
#42492 - Tue Jun 05 2012 03:23 PM Re: не нашел примеров и ответов на форуме [Re: yan]
Gji Offline
member

Registered: Fri Apr 22 2011
Записи: 137
Понятия не имею. У меня все работает. У меня в коде лишь цвет другой.
Попробуйте 255 заменить на 0. smile

Фильтры может указаны какие-то? В менеджере уведомлений фильтры для окна сообщений удалите.


Отредактировано Gji (Tue Jun 05 2012 03:36 PM)

Наверх
#42499 - Tue Jun 05 2012 04:34 PM Re: не нашел примеров и ответов на форуме [Re: Gji]
yan Offline
newbie

Registered: Fri May 04 2012
Записи: 49
посмотрел "Менеджер Уведомлений" - никаких фильтров не установлено.
хотя какая-то строка в списке с серой "галочкой" присутствует.
кнопка "Удалить" недоступна.

где еще посмотреть ?


Attachments
менеджер_уведомлений.JPG (419 downloads)


Наверх
#42500 - Tue Jun 05 2012 04:52 PM Re: не нашел примеров и ответов на форуме [Re: yan]
Gji Offline
member

Registered: Fri Apr 22 2011
Записи: 137
Даже и не знаю. При отсутствии фильтров в менеджере уведомлений и при попадании в лог, сообщение должно попадать и в окно сообщений.

Заметил необычный момент в том, что у Вас скрипт называется "135000", я бы попробовал переименовать его в, например, "ssss135000", может быть чисто числовое название также каким-то ошибочным образом отфильтровывается.

Других идей у меня нет.
Обратитесь в техподержку...

Наверх
#42505 - Tue Jun 05 2012 05:49 PM Re: не нашел примеров и ответов на форуме [Re: Gji]
yan Offline
newbie

Registered: Fri May 04 2012
Записи: 49
цвет сменил, скрипт переименовал, все так же...

у кого еще есть идеи ?

Наверх
#42515 - Tue Jun 05 2012 06:38 PM Re: не нашел примеров и ответов на форуме [Re: yan]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8137
попробуйте на последней сборке.
если нет, то запрос на contactсобакаtslabточкаru.

Наверх
Page 1 of 2 1 2 >


Moderator:  ViL, sar