У вас не стоит Flash Player
Настройки
#22577 - Thu Mar 03 2011 07:36 PM Использование своего индикатора в скрипте
Reliam Offline
stranger

Registered: Thu Mar 03 2011
Записи: 21
Создал свой индикатор - все нормально работает.
Вопрос в том как, получить доступ к результату работы этого индикатора во внешнем скрипте алгоритма.

Подскажите, как использовать индикатор во внешнем скрипте?
(т.е. можно ли получить доступ к индикатору через контекст
или можно создать объект этого индикатора в самом скрипте?)

Наверх
#22604 - Fri Mar 04 2011 11:07 AM Re: Использование своего индикатора в скрипте [Re: Reliam]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Нужно создавать объект индикатора во внешнем скрипте. Другого варианта пока не предусмотрено.

Наверх
#34832 - Tue Dec 20 2011 04:38 PM Re: Использование своего индикатора в скрипте [Re: Nektodron]
programmer Offline
stranger

Registered: Tue Dec 20 2011
Записи: 14
Можно поподробней?
Я взял с форума индикатор JMA. Положил dll в Handlers, могу им пользоваться в визуальном редакторе.

Что мне нужно подключить/добавить/написать, чтобы он стал доступен в коде скрипта?


Отредактировано programmer (Tue Dec 20 2011 04:51 PM)

Наверх
#34839 - Tue Dec 20 2011 06:29 PM Re: Использование своего индикатора в скрипте [Re: programmer]
Ti_ru Offline
writer

Registered: Sun Oct 17 2010
Записи: 479
ну, наверное, в проекте своей стратегии в студии, подключить библиотеку индикатора, прописать директиву using "Имя библиотеки", а затем создать новый объект класса индикатора..

Наверх
#34840 - Tue Dec 20 2011 07:04 PM Re: Использование своего индикатора в скрипте [Re: Ti_ru]
programmer Offline
stranger

Registered: Tue Dec 20 2011
Записи: 14
исходник jma начинается так:

Quote:
using System;
using System.Collections.Generic;
using TSLab.Script;
using TSLab.Script.Handlers;
using TSLab.Script.Helpers;


namespace TSLab.Script.Handlers
{
//[HandlerCategory("Indicators")]
public class JMA : IDouble2DoubleHandler
{


Строчка "using TSLab.Script.Handlers;" у меня в скрипте есть.
Также я добавил dll-ку индикатора в ссылки(references) проекта.

TSLab ругается на JMA в строчке:
"JMA first = new JMA();"

Хотя visual studio не замечает никаких ошибок.


Что ещё добавить, чтобы заработало?


Отредактировано programmer (Tue Dec 20 2011 07:06 PM)

Наверх
#34843 - Tue Dec 20 2011 07:29 PM Re: Использование своего индикатора в скрипте [Re: programmer]
Ti_ru Offline
writer

Registered: Sun Oct 17 2010
Записи: 479
дак правильно ругается, откуда ему знать, что такое JMA()? Подключите эту библиотеку

Наверх
#34845 - Tue Dec 20 2011 08:13 PM Re: Использование своего индикатора в скрипте [Re: Ti_ru]
programmer Offline
stranger

Registered: Tue Dec 20 2011
Записи: 14
Напишите, пожалуйста, код.

Я не работал с dll.


Отредактировано programmer (Tue Dec 20 2011 08:14 PM)

Наверх
#34847 - Tue Dec 20 2011 08:32 PM Re: Использование своего индикатора в скрипте [Re: programmer]
Ti_ru Offline
writer

Registered: Sun Oct 17 2010
Записи: 479
Смотрите в коде индикатора, в каком пространстве имен он расположен и как обозван. Если писать для кода JMA, который есть у меня, то получим:

using TSLab.Script.Handlers.JMA; //это пишем в начале кода стратегии

Добавляем ссылку на длл индикатора http://content.screencast.com/users/Ti_r...11-20.31.37.png

Создаем новый экземпляр

Наверх
#34849 - Tue Dec 20 2011 08:57 PM Re: Использование своего индикатора в скрипте [Re: Ti_ru]
programmer Offline
stranger

Registered: Tue Dec 20 2011
Записи: 14
Я добавил
Quote:
using TSLab.Script.Handlers.JMA;


Ссылка на dll у меня добавлена.


Теперь TSLab пишет, что 'JMA' нет в пространстве имён 'TSLab.Script.Handlers'.


Отредактировано programmer (Tue Dec 20 2011 08:58 PM)

Наверх
#34851 - Tue Dec 20 2011 09:16 PM Re: Использование своего индикатора в скрипте [Re: programmer]
Ti_ru Offline
writer

Registered: Sun Oct 17 2010
Записи: 479
значит у вас в коде индикатора JMA пространство имен названо по-другому

Наверх
#34852 - Tue Dec 20 2011 09:59 PM Re: Использование своего индикатора в скрипте [Re: Ti_ru]
programmer Offline
stranger

Registered: Tue Dec 20 2011
Записи: 14
Воспользовавшись IL DASM вижу, что структура файла JMA.dll, совпадает с исходником этого файла.
Вот начало его исходника:
Quote:
using System;
using System.Collections.Generic;
using TSLab.Script;
using TSLab.Script.Handlers;
using TSLab.Script.Helpers;


namespace TSLab.Script.Handlers
{
//[HandlerCategory("Indicators")]
public class JMA : IDouble2DoubleHandler
{




Attachments
screen.jpg (220 downloads)



Отредактировано programmer (Tue Dec 20 2011 11:15 PM)

Наверх
#34853 - Tue Dec 20 2011 10:04 PM Re: Использование своего индикатора в скрипте [Re: programmer]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8143
Originally Posted By: programmer


(картинку не знаю как вставить)

Когда создаете сообщение, под окном сообщения есть кнопка File Manager , нажмите на нее.


Отредактировано ViL (Tue Dec 20 2011 10:07 PM)

Наверх
#34855 - Tue Dec 20 2011 10:25 PM Re: Использование своего индикатора в скрипте [Re: programmer]
Ti_ru Offline
writer

Registered: Sun Oct 17 2010
Записи: 479
Originally Posted By: programmer
Я добавил
Quote:
using TSLab.Script.Handlers.JMA;


Ссылка на dll у меня добавлена.


Ссылка нужна не только на TSLab.Script.Handlers (которая расположена в директории ТСЛаба), но и на TSLab.Script.Handlers.JMA, расположенной в папке Handlers

Наверх
#34861 - Tue Dec 20 2011 11:28 PM Re: Использование своего индикатора в скрипте [Re: Ti_ru]
programmer Offline
stranger

Registered: Tue Dec 20 2011
Записи: 14
Насколько я понимаю, TSLab.Script.Handlers это namespace.
Как namespace добавить в ссылки проекту? Там же файлы!

Тем не менее, я добавил в ссылки проекту кроме JMA.dll ещё и TSLab.Script.Handlers.dll из папки TSLab-а. Не помогло.

Не понял. Напишите, пожалуйста, подробней.
Ну, или, может у вас есть какой-нибудь скрипт-пример с использованием пользовательского индикатора?


Отредактировано programmer (Tue Dec 20 2011 11:32 PM)

Наверх
#34919 - Wed Dec 21 2011 08:50 PM Re: Использование своего индикатора в скрипте [Re: programmer]
Ti_ru Offline
writer

Registered: Sun Oct 17 2010
Записи: 479
У меня нет примера, да и в программировании я дилетант. Не знаю, почему у вас ругается на неопознанные объект, а у меня нет. Копайте глубже

Наверх


Moderator:  ViL, sar