У вас не стоит Flash Player
Page 7 of 7 < 1 2 3 4 5 6 7
Настройки
#25694 - Thu Apr 14 2011 04:02 AM Re: Выставление ордеров через API TSLab [Re: Denis]
VDV Offline
newbie

Registered: Wed Apr 13 2011
Записи: 32
Quote:


Вопрос:
<i>Больно смотреть, как на 30 мин. таймфреме цена достигла заданного условия, а программа ожидает десятки минут до закрытия бара и после этого производится сделка вместо того чтобы при открытии бар разместить требуемый ордер на биржу для ожидания ценовых изменений. Задача эта не малая, но и решаемая в рамках одной динамической библиотека, рано или поздно эту задачу надо будет решать/учитывать и лучше сделать это раньше.</i>

Ответ:
Я не хочу спорить о стратегиях, но что мешает использовать два таймфрейма в рамках одного скрипта? Причем если ваш базовый считает от минут или даже 30 минут, то стоп, трейл, да все что угодно, можно делать даже от 1 секунды.



Насколько я понимаю, если я торгую, допустим на часовом диапазоне, и цена дошла до условной заявки на покупку, допустим в 11:02, то реально выставится заявка только в 12:00 - после закрытия часовой свечи.
Чтобы заявка прошла сразу - предлагается добавить второй диапазон (где свечи, допустим, по 10 секунд).

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

Скажите, плз., кто-нибудь уже реализовал такую возможность? Можно где-нибудь посмотреть кусок кода, как это реализовано?

(не хотелось бы использовать методы сжатия данных. Можно ли как-то это реализовать используя два диапазона?)
_________________________
Телеграм - канал для алготрейдеров: t-do.ru/TradingLaboratory

Наверх
#25752 - Thu Apr 14 2011 01:21 PM Re: Выставление ордеров через API TSLab [Re: VDV]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Нет не так. Условная заявка обрабатывается сервером. И если цена дошла в 11:02. То в стакан заявка попадет именно в 11:02. А вот скрипт об исполнении этой заявки узнает в 12:00.

Наверх
#25789 - Thu Apr 14 2011 04:58 PM Re: Выставление ордеров через API TSLab [Re: Nektodron]
VDV Offline
newbie

Registered: Wed Apr 13 2011
Записи: 32
Originally Posted By: Nektodron
Нет не так. Условная заявка обрабатывается сервером. И если цена дошла в 11:02. То в стакан заявка попадет именно в 11:02. А вот скрипт об исполнении этой заявки узнает в 12:00.


Ясно. А в каком случае тогда будет полезно использовать два таймфрейма в рамках одного скрипта?

ведь советовали так: "... если ваш базовый считает от минут или даже 30 минут, то стоп, трейл, да все что угодно, можно делать даже от 1 секунды".
_________________________
Телеграм - канал для алготрейдеров: t-do.ru/TradingLaboratory

Наверх
#25791 - Thu Apr 14 2011 05:01 PM Re: Выставление ордеров через API TSLab [Re: VDV]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Ну скажем прошел вход, пока скрипт не пересчитается, он об этом не узнает, и стоп не будет выставлен. Для этого, используют второй таймфрейм, чтобы скрипт чаще пересчитывался.

Наверх
#25797 - Thu Apr 14 2011 05:41 PM Re: Выставление ордеров через API TSLab [Re: Nektodron]
VDV Offline
newbie

Registered: Wed Apr 13 2011
Записи: 32
Originally Posted By: Nektodron
Ну скажем прошел вход, пока скрипт не пересчитается, он об этом не узнает, и стоп не будет выставлен. Для этого, используют второй таймфрейм, чтобы скрипт чаще пересчитывался.


Скиньте, плз, ссылочку на код, где уже реализована работа с 2-мя таймфреймами одного инструмента в рамках одного скрипта...
Или такого пока нет?
_________________________
Телеграм - канал для алготрейдеров: t-do.ru/TradingLaboratory

Наверх
#25801 - Thu Apr 14 2011 05:59 PM Re: Выставление ордеров через API TSLab [Re: VDV]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8137
Можете взять отсюда скрипт в визуальном редакторе http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=21980#Post21980 и скомпилировать его. Далее код можно посмотреть в папке "temp" на том же уровне, где и папка с логами/


Отредактировано ViL (Thu Apr 14 2011 06:00 PM)

Наверх
#25808 - Thu Apr 14 2011 08:06 PM Re: Выставление ордеров через API TSLab [Re: ViL]
VDV Offline
newbie

Registered: Wed Apr 13 2011
Записи: 32
Originally Posted By: ViL
Можете взять отсюда скрипт в визуальном редакторе http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=21980#Post21980 и скомпилировать его. Далее код можно посмотреть в папке "temp" на том же уровне, где и папка с логами/


О, спасибо. Классный метод - "забрать в папке temp..." буду пользоваться.

Кстати, чтобы сильно процессор не загружать можно так поступить: Поставить обновление "по сделкам". В настройке провайдеров данных поставить обновление 30000 мс (т.е. каждые 30 секунд) или так часто, как нам нужно - хоть каждые 10 минут. Как результат - будет пересчитываться относительно нечасто.
_________________________
Телеграм - канал для алготрейдеров: t-do.ru/TradingLaboratory

Наверх
#27399 - Fri May 13 2011 08:46 PM Re: Выставление ордеров через API TSLab [Re: VDV]
AIP Offline
stranger

Registered: Tue May 10 2011
Записи: 8
Выставляется лимитный ордер через BuyIfGreater. Очень хочется сразу после срабатывания ордера выставить стоп. Именно после срабатывания ордера, а не при следующем прогоне скрипта. Есть возможность так сделать?
Как вариант вижу запустить отдельный скрипт, скажем каждые 10 секунд, где проверять выполнение этого ордера через GetLastActiveForSignal (он же возьмет в другом скрипте)? Но тут не вижу возможности для тестирования. Может кто-нибудь подсказать, что делать в этой ситуации?

Наверх
#27407 - Sat May 14 2011 12:12 AM Re: Выставление ордеров через API TSLab [Re: AIP]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Включить пересчет скрипта, после каждой сделки.

Наверх
#27411 - Sat May 14 2011 11:50 AM Re: Выставление ордеров через API TSLab [Re: Nektodron]
AIP Offline
stranger

Registered: Tue May 10 2011
Записи: 8
Originally Posted By: Nektodron
Включить пересчет скрипта, после каждой сделки.

Да, я видел эту возможность, но, судя по описанию, под сделкой там понимается не твоя сделка, а любая сделка с данным инструментом на рынке. И в этом случае довольно сложный скрипт будет дергаться несколько раз в секунду, не успевая сам себя все время обсчитывать, не говорю уже о других скриптах. Или я ошибаюсь?

Наверх
#27415 - Sat May 14 2011 07:21 PM Re: Выставление ордеров через API TSLab [Re: AIP]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8137
В свойствах скрипта есть параметр МаксБаров, поставьте в нем цифру соответствующую максимальному периоду используемых в скрипте индикаторов. Если стоит 0 - считывается вся история.

Наверх
#31859 - Wed Oct 05 2011 12:36 AM Re: Выставление ордеров через API TSLab [Re: ViL]
FIL Offline
stranger

Registered: Sat Feb 13 2010
Записи: 2
Nektodron, подскажите, это нормально что заявка, выставленная через NewOrder снимается и заново выставляется при каждом пересчете скрипта? (пересчет стоит после каждой сделки купли/продажи)

Наверх
#31897 - Wed Oct 05 2011 04:47 PM Re: Выставление ордеров через API TSLab [Re: FIL]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
А какие команды идут в менеджере команд? Может скрипт ее сам снимает и выставляет?

Наверх
#31900 - Wed Oct 05 2011 05:00 PM Re: Выставление ордеров через API TSLab [Re: Nektodron]
FIL Offline
stranger

Registered: Sat Feb 13 2010
Записи: 2
Все достаточно просто. Пытаюсь разобраться с ISecurityRT

public void Execute(IContext ctx, ISecurity source)
{



ISecurityRt secRt = source as ISecurityRt;


if (!secRt.HasActiveOrders)


{
secRt.NewOrder(DataSource.OrderType.Fall, true, 110000, 0.01, 1, "LE");

}



} // public virtual void Execute


В результате при каждом выполнении скрипта заявка снимается и выставляется заново.

Наверх
#32968 - Sun Nov 06 2011 02:08 PM Re: Выставление ордеров через API TSLab [Re: FIL]
mephy Offline
stranger

Registered: Mon Oct 31 2011
Записи: 3
Помогите разобраться.

Пишу в скрипте:
ISecurityRt secRt = sec as ISecurityRt;
secRt.

Но SharpDevelop не дает автозаполнения, не знает этого типа объекта.

в чем может быть дело?

Вот список используемых классов:
using System.Collections.Generic;
using System;
using System.Linq;
using System.Text;
using TSLab.Script;
using TSLab.Script.Handlers;
using TSLab.Script.Optimization;
using TSLab.Script.Helpers;

Наверх
#33029 - Tue Nov 08 2011 12:38 AM Re: Выставление ордеров через API TSLab [Re: mephy]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
ISecurityRt находится в пакете TSLab.Script.Realtime

Наверх
#45608 - Wed Aug 15 2012 07:07 PM Re: Выставление ордеров через API TSLab [Re: FIL]
WinEasily Offline
stranger

Registered: Thu Jun 14 2012
Записи: 20
Originally Posted By: FIL

public void Execute(IContext ctx, ISecurity source)
{
ISecurityRt secRt = source as ISecurityRt;
if (!secRt.HasActiveOrders)
{
secRt.NewOrder(DataSource.OrderType.Fall, true, 110000, 0.01, 1, "LE");
}
} // public virtual void Execute




Вопрос HasActiveOrders какие заявки она показывает активными Limit, Growth, Fall? Т.е. если у меня выставлена заявка типа Growth покажет ли HasActiveOrders что на этом инструменте есть активные заявки и уже используя IsActive определять что есть. И еще для
if (order.OrderType == TSLab.DataSource.OrderType.Limit)
какой тип использовать Growth или Limit, если перебор идет по Growth...


Отредактировано WinEasily (Wed Aug 15 2012 07:15 PM)

Наверх
#45634 - Thu Aug 16 2012 09:06 PM Re: Выставление ордеров через API TSLab [Re: WinEasily]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
HasActiveOrders показывает заявку любого типа. Вторая часть вопроса не понятна.

Наверх
Page 7 of 7 < 1 2 3 4 5 6 7


Moderator:  ViL, sar