Математические формулы индикатора - страница 5

 
jartmailru:

В длл приходит дабл.
А вот- перевод из дабла в строку.

procedure TRConsole.AssignDouble(AVariable: Ansistring; AValue: Double);
begin
ExecuteCode(Format('%s <- %g', [AVariable, AValue]));
end;

Так и я о том же. Но в кавычках стоит Buf, которая дабл в Р! По идее, дабл пересылается в дабл. Поэтому не понятно, какое отношение имеется код из библиотеки к реалиям.
 
faa1947:
Так и я о том же. Но в кавычках стоит Buf, которая дабл в Р! По идее, дабл пересылается в дабл. Поэтому не понятно, какое отношение имеется код из библиотеки к реалиям.
Не понял.. пожалуйста, напишите подробно, как по-вашему это всё работает.
Я вижу, что формируются строки, которые отправляются в консоль.
 
jartmailru:
Не понял.. пожалуйста, напишите подробно, как по-вашему это всё работает.
Я вижу, что формируются строки, которые отправляются в консоль.

Такое впечатление, что исходник не имеет отношение к реальности. В этой строке:

RAssignVector (R, "Buf", Buf_EUR, ArraySize(Buf_EUR))

Buf имя вектора с элементами типа дабл и Buf_EUR - массив с элементами типа дабл. Что тут перекодировать? Исходник левый. А длл работающая, это проверено.

 
Как что перекодировать?!
из массива даблов создается строчка- теже даблы, списком, через запятую.
 
jartmailru:
Как что перекодировать?!
из массива даблов создается строчка- теже даблы, списком, через запятую.

Зачем создавать, когда с другой стороны даблы?. А потом, где перекодировка строчек в даблы для Р?

Не левый исходник.

 
faa1947:

Зачем создавать, когда с другой стороны даблы?. А потом, где перекодировка строчек в даблы для Р?
Не левый исходник.

Ок, давате другой исходник.
В этом прописана работа через консоль.
 
jartmailru:
Ок, давате другой исходник.
В этом прописана работа через консоль.

У меня его нет.

Вообще у меня мечта получить обертку на С, а не паскале с исходником. Агитирую всех подряд, но никто не раскололся.

 
faa1947:

У меня его нет.
Вообще у меня мечта получить обертку на С, а не паскале с исходником. Агитирую всех подряд, но никто не раскололся.

Обёртка ехе-шника может быть только такой- строчки с консолькой гонять...
Иначе надо вмешиваться непосредственно в сам терминал-
качать Р-овские исходники и врубаться...
 
jartmailru:
Обёртка ехе-шника может быть только такой- строчки с консолькой гонять...
Иначе надо вмешиваться непосредственно в сам терминал-
качать Р-овские исходники и врубаться...

Давайте еще раз со строкой:

RAssignVector (R, "Buf", Buf_EUR, ArraySize(Buf_EUR))

В языках, имеющих векторные (матричные) операции эта строка выглядит так :

Buf = Buf_EUR

В R весь вектор Buf можно переслать в другой вектор, как и любой его элемент Buf[i]. Из-за мт4 порядок нумерации с R наоборот, как обычно.

Причем здесь терминал. Обычные адреса памяти.

Текст на паскале вообще не понятен. В документации R определена связь с С. Все расписано, но я не смотрел. Поэтому естественна обертка на С, а не на паскале. Думаю, что перекодировка не понадобиться.

Так что врубаться в текст Р необходимости нет. Надо просто знать С и правила построения длл на С для мт4.

 

Я не знаю что ответить. Для ртерм.ехе нужна строка, которую снаружи введут в терминал.
Была бы завязка на длл- другое дело. С ехе- только так.