Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 811

 
Artyom Trishkin:
У вас кривая? Не поздно учиться никогда.

Скорее тема из разряда: хочу добиться большего эффекта и делать программы более компактными и структурными, что в конечном итоге повышает производительность программ.

 
Как вернуть адрес переменной и элемента индекса ячейки массива?
 
Seric29:
Как вернуть адрес переменной и элемента индекса ячейки массива?

https://docs.mql4.com/ru/basis/types/this

физического доступа к памяти у MQL программ нет, есть только возможность получить указатель на обьект

Ссылки. Модификатор & и ключевое слово this - Типы данных - Основы языка - Справочник MQL4
Ссылки. Модификатор & и ключевое слово this - Типы данных - Основы языка - Справочник MQL4
  • docs.mql4.com
В MQL4 параметры простых типов можно передавать как по значению, так и по ссылке, в то время как параметры сложных типов всегда передаются по ссылке. Для указания компилятору на необходимость передачи параметра по ссылке, перед именем параметра ставится знак амперсанда Передача параметра по ссылке означает передачу адреса переменной, поэтому...
 

Друзья подскажите пожалуйста. На реале с исполнением Marekt Execution на MT5 получаю реквот.

Как правильно обрабатывать эту ошибку что бы все же открыть сделку? Как я понимаю что брокер присылает обратно предложение открыть сделку по 1.12875? Как вы с этим справляетесь? 

CTrade::OrderSend: instant buy 0.01 EURUSD at 1.12879 sl: 1.12655 tp: 1.14879 [requote (1.12875/1.12881)]

 
Yury Smagin:

Друзья подскажите пожалуйста. На реале с исполнением Marekt Execution на MT5 получаю реквот.

Как правильно обрабатывать эту ошибку что бы все же открыть сделку? Как я понимаю что брокер присылает обратно предложение открыть сделку по 1.12875? Как вы с этим справляетесь? 


Запросить

   uint              ResultRetcode(void)                   const { return(m_result.retcode);            }
и по коду ошибки принять решение. Обновить цены и попытаться ещё раз.
 

Здравствуйте, во время тестирования выявил непонятную мне ситуацию, при выставлении таймфрейма графика M30 по заявке вход не происходит, при выставлении M1 вход есть, в настройках стоит тестирование по каждому тику(every tick). Я думал что при данной настройке таймфрейм графика не влияет и я могу поставить тот, которым мне удобен для рассмотрения результатов тестирования. Помогите разобраться.

Дописываю. Только что проводил тесты: 

- настройка every tick, без визуализации, 1M: Gross profit 17695, Gross loss -19836

- настройка every tick, без визуализации, 30M: Gross profit 17634, Gross loss -19227


Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
Igor Makanu:

физического доступа к памяти у MQL программ нет, есть только возможность получить указатель на обьект

Плохо отсюда все и беды. А как его получить что можно сделать? Насколько я понял есть возможность получить доступ к дескриптору, но как через дескриптор повлиять на адрес хранения переменной я не знаю. Можно ли сделать это с помощью дескриптора?

 

Вчера сделал запись такого формата.

int mas[0]=4,mas[1]=3;далее объявил массив и попытался заполнить его значениями которые хранятся в ячейках этого массива

int Arr[]={mas[0],mas[1]}

и что вы думаете выбило ошибку. Если бы была кувалда под руками я бы разнёс комп кувалдой, поехал бы в эту америку или куда там, нашёл бы этих идиотов разработчиков которые наложили тонну ограничений на mql и разнёс бы их кувалдой, ужас какой-то. Можно писать только так

int Arr[]={4,3} да такой степени всё статическое что ужас.

Кто знает как написать письмо разработчикам mql4, можно ли написать на русском, есть ли такая служба технической поддержки? 

 
Seric29:

Плохо отсюда все и беды. А как его получить что можно сделать? Насколько я понял есть возможность получить доступ к дескриптору, но как через дескриптор повлиять на адрес хранения переменной я не знаю. Можно ли сделать это с помощью дескриптора?

нет никаких бед

MQL на 90% полностью работает как С++, работа напрямую с памятью, как то выделение памяти, работа с памятью через указатели и т.п. отсутствует, ибо MQL  работает под управлением терминала, а не является самостоятельной программой в ОС

нужно передать значение в функцию - передайте по значению или по ссылке

https://www.mql5.com/ru/docs/basis/function


указатели используются лишь при работе с классами


Вы на протяжении нескольких дней ищете сферического коня в вакууме, есть конкретная задача - будет конкретная реализация, MQL довольно гибкий язык, с богатым функционалом и обеспечивает полное взаимодействие с торговым терминалом МТ - получение и обработка исторических данных, отправка торговых команд, получение информации об торговом инструменте.... всю информацию необходимую для торговли

если по каким то соображениям есть необходимость писать на стороннем софте, то MQL поддерживает подключение .dll - поиском по форуму - статей штук 20 на эту тему

Документация по MQL5: Основы языка / Функции
Документация по MQL5: Основы языка / Функции
  • www.mql5.com
Всякая задача может быть разбита на подзадачи, каждую из которых можно либо непосредственно представить в виде кода, либо разбить на еще более мелкие подзадачи. Данный метод называется определения функции. Заголовок функции включает в себя описание типа возвращаемого значения, имени (идентификатора) и формальных параметров.  Количество...
 
Igor Makanu:

https://docs.mql4.com/ru/basis/types/this

физического доступа к памяти у MQL программ нет, есть только возможность получить указатель на обьект

Я читал эту тему, описано очень нагруженно и естественно не понял корректно. Нету толком описания как обращаться к классу, как вызывать класс, к чему надо обращаться к его членам или вызывать всю форму или обращаться через точку, непонятно как описывать класс отдельно или внутри и многое другое вроде бы оно есть и крутое но как работает не понятно. Вы хотите сказать что через класс и через амперсанд можно обратиться к адресу( это и есть принцип дескриптора, работа через посредника через прообраз)?

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