Сервисы. Уже работают? - страница 15

 
Igor Makanu:

ЗЫ: не знаю пока как передать в C# цены price[] без копирования - есть варианты?

ArraySwap.

 
fxsaber:

ArraySwap.

увы, не прокатило, компилятор пока отслеживает const  ( 'price' - constant variable cannot be passed as reference Momentum_DLL.mq5 57 17 )

вот 2 ф-ции расчета в С# oncalculate , в одной передаем по ссылке ( ref ) массив price, во второй просто параметром массив передается ( без ref ), я пока не смог без копирования победить - в комментарии в MQL сигнатуры ф-ци написал


Файлы:
 
Igor Makanu:

увы, не прокатило, компилятор пока отслеживает const  ( 'price' - constant variable cannot be passed as reference Momentum_DLL.mq5 57 17 )

вот 2 ф-ции расчета в С# oncalculate , в одной передаем по ссылке ( ref ) массив price, во второй просто параметром массив передается ( без ref ), я пока не смог без копирования победить - в комментарии в MQL сигнатуры ф-ци написал

ME показывает, что в сигнатуре нет const.


 
fxsaber:

ME показывает, что в сигнатуре нет const.


да, так и есть, это особенность C# - запрещать писать в сигнатуре ф-ции const

http://qaru.site/questions/672666/const-function-parameter-in-c

а особенность MQL - это запрещать передавать массивы параметром, т.е. только по ссылке

Константный параметр функции в С#
  • 2012.06.11
  • TheLazyChap
  • qaru.site
Имея запрограммированный в С++ в прошлом, я помню, что мы могли бы сделать постоянный параметр reference/pointer в методе. Если моя память правильная, ниже указано, что метод не может изменить ссылку, а сама ссылка является постоянной...
 
Igor Makanu:

да, так и есть, это особенность C# - запрещать писать в сигнатуре ф-ции const

Скорее всего, слабо понимаю, но эта особенность C# выглядит дико!

 
fxsaber:

Скорее всего, слабо понимаю, но эта особенность C# выглядит дико!

как говорится дареному коню...ну что дали бесплатно то и юзаем )))

а никак нельзя компилятор "замудрить" с помощью define или template  чтобы уйти от этого ограничения в MQL ?

 
Igor Makanu:

а никак нельзя компилятор "замудрить" с помощью define или template  чтобы уйти от этого ограничения в MQL ?

Задал вопрос.

 
Реter Konow :

Вопрос в том, можно ли организовать двустороннюю связь между сервисами и советником через ресурсы?

Если да, то вещь однозначно нужная и полезная!

Вы совершенно правы. Это возможно с текущей версией, но вы должны создать какое-то специальное решение. Было бы неплохо иметь встроенное решение для связи между экспертами / индикаторами и сервисами, а также между сервисами. Ренат знает это без сомнений.

Не могу дождаться, чтобы увидеть решение Metaquotes для этих проблем общения :-)

 
Alain Verleyen:

Вы совершенно правы. Это возможно с текущей версией, но вы должны создать какое-то специальное решение. Было бы неплохо иметь встроенное решение для связи между экспертами / индикаторами и сервисами, а также между сервисами. Ренат знает это без сомнений.

Не могу дождаться, чтобы увидеть решение Metaquotes для этих проблем общения :-)

У меня есть решение для связи между советниками и индикаторами на МТ5. Я сейчас его тестирую. Известно, что каждый подготовленный кодер может самостоятельно передавать данные между своими советниками и индикаторам через ресурсы, но если речь идёт о развитии сложного, многопланового взаимодействия МТ5-программ как неотъемлемой практики современного алготрейдинга, необходим продуманный и отлаженный  метод общения, реализованный в специальной программе "посреднике", координирующей потоки данных. Это моя тема и я ее разрабатываю. :) 
 

При помощи глобальных переменных терминала можно передавать до 8 байт информации в одной переменной.

Для разграничения доступа из разных MQL5-программ можно использовать GlobalVariableSetOnCondition

Причина обращения: