#78472 - Sat Jun 11 2016 05:30 PM
Обмен даными между скриптами, помогите люди добрые
|
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]
|
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]
|
stranger
Registered: Tue Jan 12 2016
Записи: 22
|
Точно, спасибо. Слепой совсем))).
|
Наверх
|
|
|
|
#78490 - Sun Jun 12 2016 04:01 PM
Re: Обмен даными между скриптами, помогите люди добрые
[Re: ruben]
|
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]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
проблема в том что вы не разобрались как делать индикаторы правильно. И не знаете какие интерфейсы прописать. У вас потоковый склеен с последовательной начинкой.
_________________________
__
|
Наверх
|
|
|
|
#78503 - Mon Jun 13 2016 01:02 PM
Re: Обмен даными между скриптами, помогите люди добрые
[Re: ra81]
|
stranger
Registered: Tue Jan 12 2016
Записи: 22
|
Может подскажешь где можно посмотреть интерфейс IContext для последовательного потока данных, в документации нет, на форуме не нашел. Или IContext только для потоковых данных?
|
Наверх
|
|
|
|
#78518 - Tue Jun 14 2016 03:14 PM
Re: Обмен даными между скриптами, помогите люди добрые
[Re: ruben]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
берете кубики русалго и ковыряете пока не познаете дзен. В них есть почти все возможные вариации в приложении к кубикам. Нет только экзотики вроде реалтайм обновляемых индикаторов итд. Все остальное есть. Описано и прокомментировано.
_________________________
__
|
Наверх
|
|
|
|
#78523 - Tue Jun 14 2016 08:18 PM
Re: Обмен даными между скриптами, помогите люди добрые
[Re: ra81]
|
journeyman
Registered: Fri Sep 28 2012
Записи: 98
|
пример индикатора.тупо делайте по образцу.
Attachments
AnalizVolumeInBar.cs (166 downloads)
_________________________
Физик-лирик
|
Наверх
|
|
|
|
#78526 - Tue Jun 14 2016 10:52 PM
Re: Обмен даными между скриптами, помогите люди добрые
[Re: komissar]
|
stranger
Registered: Tue Jan 12 2016
Записи: 22
|
Большое спасибо за советы и пример. Пойду постигать истину бытия))))
|
Наверх
|
|
|
|
|
|