У вас не стоит Flash Player
Настройки
#78472 - Sat Jun 11 2016 05:30 PM Обмен даными между скриптами, помогите люди добрые
ruben Offline
stranger

Registered: Tue Jan 12 2016
Записи: 22
Добрый день.

Дорогие участники форума и разработчики. Загорелся я идеей сделать обмен информацией (активными позициями) между скриптами. И по мотивам статьи от команды Rusalgo "КЭШ для чайников". Огромное спасибо команде Rusalgo и Родиону лично, что дают такой материал для расширения кругозора. Решил наваять что то работающее. Взял код из статьи и сделал 2 скрипта на отправку и принятие из КЭШ. Добавил вторую переменную. Посмотреть как будет работать.

public void Execute(IContext ctx, ISecurity sec)
{
// Загружаем из глобального кэша данные. Если в кэшэ ничего нет, счетчик равен 0.
var cache = ctx.LoadGlobalObject("Сounter1");
var cache1 = ctx.LoadGlobalObject("Сounter2");
var counter = cache == null ? 0 : (double)cache;
var counter1 = cache1 == null ? 0 : (double)cache;
counter++;
counter1=+2;

// Сохраняем в кэш счетчик запусков.
ctx.StoreGlobalObject("Сounter1", counter);
ctx.StoreGlobalObject("Сounter2", counter1);

var color = System.Drawing.Color.Green;
var msg = string.Format("Скрипт StoreDataGlobalPositionHost имеет позицию. Цена входа: {0} и {1}.", counter, counter1);
ctx.Log(msg, new Color(color.ToArgb()), true);
}

Но числа почему выходят:
1 2
2 3
3 4
4 5

Т.е. в кэш попадает только одно число(переменная) или я не правильно сохраняю числа(переменные)? И соответственно вопрос, если я захочу поместить в кэш цены покупок(несколько), как мне лучше передавать эти числа и после выбирать и распределять на сигналы? Заранее спасибо.

Наверх
#78479 - Sun Jun 12 2016 09:44 AM Re: Обмен даными между скриптами, помогите люди добрые [Re: ruben]
komissar Offline
journeyman

Registered: Fri Sep 28 2012
Записи: 98
var counter = cache == null ? 0 : (double)cache;
var counter1 = cache1 == null ? 0 : (double)cache;--ошибка, правильно cache1. Отсюда и ошибка.
_________________________
Физик-лирик

Наверх
#78487 - Sun Jun 12 2016 01:10 PM Re: Обмен даными между скриптами, помогите люди добрые [Re: komissar]
ruben Offline
stranger

Registered: Tue Jan 12 2016
Записи: 22
Точно, спасибо.
Слепой совсем))).

Наверх
#78490 - Sun Jun 12 2016 04:01 PM Re: Обмен даными между скриптами, помогите люди добрые [Re: ruben]
ruben Offline
stranger

Registered: Tue Jan 12 2016
Записи: 22
А с этим кодом можете подсказать, что не так?
Подцепил в VisualStudio к ТСЛабу для проверки, он ругается на строку "public double Execute(IPosition pos, int barNum)", я так понимаю это из-за несовместимости интерфесов IContext(он только с потоковыми интерфейсами идет) и IPosition2Double(последовательный). Но смотрел IContextUses, там не указано какой он..

public class ExportBuyprice : IPosition2Double, IContextUses
{

public IContext Context { set; get; }
public double Buyprice;


public double Execute(IPosition pos, int barNum)
{
var bp = new ExportBuyprice();

if (pos == null || pos.EntryBarNum > barNum)
return 0.0;
else
{
bp.Buyprice = pos.EntryPrice;
Context.StoreGlobalObject("Сounter", (double)Buyprice);
return Buyprice;
}
}

}
}

Наверх
#78497 - Mon Jun 13 2016 10:15 AM Re: Обмен даными между скриптами, помогите люди добрые [Re: ruben]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
проблема в том что вы не разобрались как делать индикаторы правильно. И не знаете какие интерфейсы прописать. У вас потоковый склеен с последовательной начинкой.
_________________________
__


Наверх
#78503 - Mon Jun 13 2016 01:02 PM Re: Обмен даными между скриптами, помогите люди добрые [Re: ra81]
ruben Offline
stranger

Registered: Tue Jan 12 2016
Записи: 22
Может подскажешь где можно посмотреть интерфейс IContext для последовательного потока данных, в документации нет, на форуме не нашел.
Или IContext только для потоковых данных?

Наверх
#78518 - Tue Jun 14 2016 03:14 PM Re: Обмен даными между скриптами, помогите люди добрые [Re: ruben]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
берете кубики русалго и ковыряете пока не познаете дзен. В них есть почти все возможные вариации в приложении к кубикам. Нет только экзотики вроде реалтайм обновляемых индикаторов итд. Все остальное есть. Описано и прокомментировано.
_________________________
__


Наверх
#78523 - Tue Jun 14 2016 08:18 PM Re: Обмен даными между скриптами, помогите люди добрые [Re: ra81]
komissar Offline
journeyman

Registered: Fri Sep 28 2012
Записи: 98
пример индикатора.тупо делайте по образцу.


Attachments
AnalizVolumeInBar.cs (163 downloads)

_________________________
Физик-лирик

Наверх
#78526 - Tue Jun 14 2016 10:52 PM Re: Обмен даными между скриптами, помогите люди добрые [Re: komissar]
ruben Offline
stranger

Registered: Tue Jan 12 2016
Записи: 22
Большое спасибо за советы и пример. Пойду постигать истину бытия))))

Наверх


Moderator:  ViL, sar