#7950 - Thu Jul 08 2010 12:08 AM
Re: Насчёт создания скриптов и индикаторов
[Re: Craft]
|
enthusiast
Registered: Thu Jan 21 2010
Записи: 319
|
Nektodron, может подскажите - посыл верный или копать дальше - весь в смущениях.
|
|
Наверх
|
|
|
|
#7965 - Thu Jul 08 2010 10:28 AM
Re: Насчёт создания скриптов и индикаторов
[Re: Craft]
|
Carpal Tunnel
Registered: Thu Oct 23 2008
Записи: 5492
|
var0[i-1] = Series.SMA(MyAtrNoSma, PerB)[i-1] зачем в цикле каждый раз считать SMA для всего! не проще ли написать выше: var var0 = Series.SMA(MyAtrNoSma, PerB) и дальше уже внтури торгового цикла обращаться по индексу. То же самое: Series.SMA(varb0, Usred) - надо заранее где-то сохранить. P. S. При компиляции кода SharpDevelop пишет: 11:57:08.00[1]DEBUG:Start logging... 11:57:08.01[1]DEBUG:Show splash... 11:57:08.01[1]DEBUG:Using PNG in SplashScreen
Таких сообщений нет при компиляции других скриптов.
Это сообщения не от компиляции, а от запуска самого TSLab для отладки
|
|
Наверх
|
|
|
|
#8824 - Thu Jul 22 2010 06:16 PM
Re: Насчёт создания скриптов и индикаторов
[Re: Nektodron]
|
enthusiast
Registered: Thu Jan 21 2010
Записи: 319
|
Nektodron, подскажите пожалуйста, как значение double преобразовать в IList<double> чтобы через mainPane.AddList его можно было отобразить на графике? Бьюсь который день не могу разобраться.
|
|
Наверх
|
|
|
|
#11169 - Sat Aug 28 2010 03:12 PM
Re: Насчёт создания скриптов и индикаторов
[Re: Nektodron]
|
enthusiast
Registered: Thu Jan 21 2010
Записи: 319
|
Nektodron, с RT, кажется, разобрался - опробую в понедельник, уж с чартом помогите.
Почему при использовании: var hlp = new ChartHelper(sec.bars.Count);
Выдаёт ошибку: Использование стандартного тип 'TSLab.Script.Helpers.ChartHelper<T>' требует аргументов типа '1' (CS0305)
Что не хватает, как исправить?
В справочнике API описание класса TSLab.Script.Helpers.ChartHelper не нашёл.
|
|
Наверх
|
|
|
|
#11682 - Fri Sep 03 2010 02:35 PM
Re: Насчёт создания скриптов и индикаторов
[Re: Nektodron]
|
journeyman
Registered: Thu May 27 2010
Записи: 84
|
Добрый день. Подскажите с чем связана ошибка "Имя типа или пространства имен 'ScriptEngine' отсутствует в пространстве имен 'TSLab' (пропущена ссылка на сборку?)" при запуске внешнего скрипта в TSLab? Скрипт компилируется без ошибок, интерфейс IExternalScript имплементирован в классе: using System; using System.Collections.Generic; using System.Linq; using TSLab.Script; using TSLab.Script.Handlers; using TSLab.Script.Optimization; using TSLab.Script.Helpers; using TSLab.Script.Realtime;
namespace TSLab.Samples { public class Final : IExternalScript {
|
|
Наверх
|
|
|
|
#11750 - Fri Sep 03 2010 11:44 PM
Re: Насчёт создания скриптов и индикаторов
[Re: Nektodron]
|
journeyman
Registered: Thu May 27 2010
Записи: 84
|
Уважаемые разработчики, не подскажите для API какой-нибудь метод определения сколько баров открыта позиция, некий аналог Position.EntryBar из WLD и BarsSinceEntry из Омеги?
|
|
Наверх
|
|
|
|
#11758 - Sat Sep 04 2010 11:48 AM
Re: Насчёт создания скриптов и индикаторов
[Re: fx_trader]
|
Carpal Tunnel
Registered: Thu Oct 23 2008
Записи: 5492
|
|
|
Наверх
|
|
|
|
#11761 - Sat Sep 04 2010 12:20 PM
Re: Насчёт создания скриптов и индикаторов
[Re: Nektodron]
|
journeyman
Registered: Thu May 27 2010
Записи: 84
|
Спасибо, а этот метод (TSLab.Script.IPosition.BarsHeld) можно применять к позициям открытым через TSLab.DataSource.OrderType? Если вдруг - нет, можете что-нибудь подсказать для определения количество свечей существования позиции открытой через TSLab.DataSource.OrderType?
|
|
Наверх
|
|
|
|
#11766 - Sat Sep 04 2010 02:09 PM
Re: Насчёт создания скриптов и индикаторов
[Re: Nektodron]
|
journeyman
Registered: Thu May 27 2010
Записи: 84
|
Спасибо, Nektodron. Не поможете дооформить предложенный Вами алгоритм (очень логичный) в метод. У меня вырисовывается, как-то так, но из-за не знания всех тонкостей API, уверен, что это не рабочий вариант: private double OrderBarsEntry(ISecurityRt rtSec, out double BarsEntry)
{
BarsEntry = 0;
if (rtSec != null)
{
var orders = rtSec.Orders.OrderBy(ord => ord.Date);
foreach (var order in orders)
{
if (order.IsExecuted)
{
// Возможно вместо Order.ExpirationDate необходимо использовать Order.Date?
if (Order.ExpirationDate=sec.Bars.Date)
{
// Проблема - не могу понять, как определить номер бара исполнения заявки
double OrderEntry = sec.Bars.Date;
}
}
}
}
BarsEntry = sec.Bars[i].Date - OrderEntry;
}Подскажите, что исправить.
|
|
Наверх
|
|
|
|
#11965 - Mon Sep 06 2010 04:32 PM
Re: Насчёт создания скриптов и индикаторов
[Re: Nektodron]
|
journeyman
Registered: Thu May 27 2010
Записи: 84
|
Nektodron, суть расчёта количества баров в открытой позиции понятна, пытаюсь:
BarEntry = order.Date < sec.Bars[i].Date ? i - order.Date : 0; Ошибка: Оператор "-" не может применяться к операндам типа "int"
Вопрос в том, как это правильно оформить?
|
|
Наверх
|
|
|
|
#12211 - Wed Sep 08 2010 05:25 PM
Re: Насчёт создания скриптов и индикаторов
[Re: Nektodron]
|
journeyman
Registered: Thu May 27 2010
Записи: 84
|
Который день бьюсь, всё что мог перепробовал, BarEntry = 0 (вывел это значение на график в отдельную панель чтобы можно было следить за его изменением) при открытой позиции. В чём может быть причина, по смыслу всё логично? В целом этот кусок скрипта оформил так: var BarEntry = 0;
foreach (IOrder order in secRt.Orders)
for(int k = 0; order.Date < sec.Bars[k].Date; k++)
{
BarEntry = k;
}
|
|
Наверх
|
|
|
|
#12216 - Wed Sep 08 2010 05:45 PM
Re: Насчёт создания скриптов и индикаторов
[Re: Nektodron]
|
journeyman
Registered: Thu May 27 2010
Записи: 84
|
А как тогда foreach (IOrder order in secRt.Orders) оформить чтобы следил за исполненной заявкой в скрипте? Без этой строки ругается на order.Date: Имя 'order' отсутствует в текущем контексте.
|
|
Наверх
|
|
|
|
|
|