параметры-переменные функции ДЛЛ в Дельфи - страница 3

 

Еще вопрос, не совсем в тему.

ДЛЛ жрет много процессорного времени.

Хочу запускать ее хотя бы 1 раз в 5 сек

Как определить время тика?

Или последнего бара

Или придется считать тики

 
Arxan:

Еще вопрос, не совсем в тему.

ДЛЛ жрет много процессорного времени.

Хочу запускать ее хотя бы 1 раз в 5 сек

Как определить время тика?

Или последнего бара

Или придется считать тики



Вот это неправда.

Все тяделые вычисления делаю только в dll иначе терминал просто раскорячивает и все. Причем наглухо.

Так что dll единственный выход.

 
TheXpert:

Я же написал в первом же посте...

В MQL:

В длл (С++)

Ну народ пошел, ваще вникать не хочет...

Надо разжевать и в рот положить.

Код не проверял, так что теоретически могут быть косяки, принцип надеюсь понятен.

А как в MQL5 передавать/получать структуры в длл (С++)? Если можно пример.
 
Graff:
А как в MQL5 передавать/получать структуры в длл (С++)? Если можно пример.
Опять же массивом, с учетом запаковки. У Жунко спросите.
 
Debugger:


Вот это неправда.

Все тяделые вычисления делаю только в dll иначе терминал просто раскорячивает и все. Причем наглухо.

Так что dll единственный выход.


У меня случай (уже был) :

int start(){

WriteFxPew = ProcMT4_Sd(OperBar, OperRead, OperWrite); // лазит в ДЛЛ за командами от моей проги

...

}

Если все остальное молчит, то судя по всему это соответствует конструкции

while (true) {

WriteFxPew = ProcMT4_Sd(OperBar, OperRead, OperWrite); // лазит в ДЛЛ за командами от моей проги

...

}

и эта штука на пустом месте раскочегаривала проц до 60% ЦП

Вылечил просто =

Sleep(100);

Можно даже

Sleep(10);

 
Arxan:

while (true) {

WriteFxPew = ProcMT4_Sd(OperBar, OperRead, OperWrite); // лазит в ДЛЛ за командами от моей проги

...

}

и эта штука на пустом месте раскочегаривала проц до 60% ЦП

Бесконечный цикл без остановки - это разве "пустое место"? Плюс ещё в DLL какие-то операции выполняются. Попробуйте реализовать то же самое на чистом MQL4, думаю нагрузка будет не меньше.
 
Meat:
Бесконечный цикл без остановки - это разве "пустое место"? Плюс ещё в DLL какие-то операции выполняются. Попробуйте реализовать то же самое на чистом MQL4, думаю нагрузка будет не меньше.

это разве "пустое место"? = для меня не нужное.

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

Тем более что перегрузка процессора на бесполезном месте просто мешает в нужном = интернет, фильм и т.д.

Не один МТ4 на свете

Слип эту проблему решил

Если ДЛЛ выполняет полезную для меня работу - это другое дело

 
Arxan:

МТ4:

#import "PdllMT4.dll"
int ProcMT4_Sd(int Oper, int& Oper1, int& Oper2);
#import



А если попробовать так:

#import "PdllMT4.dll"
int ProcMT4_Sd(int Oper, int& Oper1[1], int& Oper2[1]); 
#import
Причина обращения: