Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1245

 
Доброе утро. Я начанаюший тредйдер. Открыл счёт у брокера в Alpari. Имеется у меня проблема. Установил и EA робот. На панела в верху имеется -SMILE- и - Auto Trading - БЕЛЫЙ. При - Expert Advisors - Strategy Tester- имеется ЗЕЛЁНАЯ линия.  Робот уже пятый день не включается. Вчём может быть причина ?
Тоомас  ,  ***
 
Сергей Таболин:
Уважаемые, подскажите, возможно ли получать данные индикатора в виде структуры? Ну, например, при вызове индикатора из советника получать не данные индикаторных буферов, а структуру с этими данными, подготовленную в самом индикаторе?

когда нельзя, но очень хочется, то можно обойти..

union Pad {

  MyStruct data;

  double buffer[N]; // N=sizeof(MyStruct)/sizeof(double)+(0!=(sizeof(MyStruct)%sizeof(double))); то есть буферов должно хватать

};

на стороне индикатора кладёте структуру, и распихиваете в буферы; на стороне советника складываете буферы и вытаскиваете структуру; только в структуре не должно быть строк, дин.массивов и ссылок на объекты; просто компактная упаковка структуры по буферам, а не по одному полю в каждый буфер

мега-большие структуры и массивы можно таскать через внешнюю базу - индикатор делает запись и её uniq_id кладёт в буфер. Когда советнику надо он возьмёт id из буфера а структуру по нему из базы.

[Удален]  
Maxim Kuznetsov:

когда нельзя, но очень хочется, то можно обойти..

union Pad {

  MyStruct data;

  double buffer[N]; // N=sizeof(MyStruct)/sizeof(double)+(0!=(sizeof(MyStruct)%sizeof(double))); то есть буферов должно хватать

};

на стороне индикатора кладёте структуру, и распихиваете в буферы; на стороне советника складываете буферы и вытаскиваете структуру; только в структуре не должно быть строк, дин.массивов и ссылок на объекты; просто компактная упаковка структуры по буферам, а не по одному полю в каждый буфер

мега-большие структуры и массивы можно таскать через внешнюю базу - индикатор делает запись и её uniq_id кладёт в буфер. Когда советнику надо он возьмёт id из буфера а структуру по нему из базы.

Спасибо.

 

Всем доброго вечера!

На старость лет пытаюсь освоить азы MQL5. Раздирает любопытство - неужели если человеку под 60, то программирование уже не под силу. Хотя с простым языком HTML в полтинник удалось подружиться, даже сайты себе на нём писал. Простенькие, правда, но всё же... Если мои вопросы будут вызывать раздражение, то скажите сразу, тогда больше не буду задавать наивные вопросы и нервировать народ.

Итак, открыл первый попавшийся на глаза код. При помощи Гугл переводчика и справочника MQL5 закомментировал смысл одной строки этого кода. Что прошу от сообщества? Посмотрите комментарии и если они не соответствуют действительности, то, пожалуйста, поправьте ход моих мыслей:

if(PositionSelect(_Symbol)) // если выбираем открытую позицию на графике текущего символа

Для кого-то - это открытая книга, а как по мне, так те же китайские иероглифы. Прошу сильно не смеяться.

Для чего это делаю? Таким образом просто хочу для себя понять, насколько безнадёжен в программировании.

С уважением, Владимир.

 
MrBrooklin:

Всем доброго вечера!

На старость лет пытаюсь освоить азы MQL5. Раздирает любопытство - неужели если человеку под 60, то программирование уже не под силу. Хотя с простым языком HTML в полтинник удалось подружиться, даже сайты себе на нём писал. Простенькие, правда, но всё же... Если мои вопросы будут вызывать раздражение, то скажите сразу, тогда больше не буду задавать наивные вопросы и нервировать народ.

Итак, открыл первый попавшийся на глаза код. При помощи Гугл переводчика и справочника MQL5 закомментировал смысл одной строки этого кода. Что прошу от сообщества? Посмотрите комментарии и если они не соответствуют действительности, то, пожалуйста, поправьте ход моих мыслей:

Для кого-то - это открытая книга, а как по мне, так те же китайские иероглифы. Прошу сильно не смеяться.

Для чего это делаю? Таким образом просто хочу для себя понять, насколько безнадёжен в программировании.

С уважением, Владимир.

Рекомендую пользоваться хелпом в ME - там назначение всех операторов и функций языка описано.

https://www.mql5.com/ru/docs/trading/positionselect

Документация по MQL5: Торговые функции / PositionSelect
Документация по MQL5: Торговые функции / PositionSelect
  • www.mql5.com
Выбирает открытую позицию для дальнейшей работы с ней. Возвращает true при успешном завершении функции. Возвращает false при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError(). При независимом представлении позиций (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) по каждому символу одновременно...
 
MrBrooklin:

Всем доброго вечера!

На старость лет пытаюсь освоить азы MQL5. Раздирает любопытство - неужели если человеку под 60, то программирование уже не под силу. Хотя с простым языком HTML в полтинник удалось подружиться, даже сайты себе на нём писал. Простенькие, правда, но всё же... Если мои вопросы будут вызывать раздражение, то скажите сразу, тогда больше не буду задавать наивные вопросы и нервировать народ.

Итак, открыл первый попавшийся на глаза код. При помощи Гугл переводчика и справочника MQL5 закомментировал смысл одной строки этого кода. Что прошу от сообщества? Посмотрите комментарии и если они не соответствуют действительности, то, пожалуйста, поправьте ход моих мыслей:

Для кого-то - это открытая книга, а как по мне, так те же китайские иероглифы. Прошу сильно не смеяться.

Для чего это делаю? Таким образом просто хочу для себя понять, насколько безнадёжен в программировании.

С уважением, Владимир.

Было-бы желание, это лучше для мозга чем разгадывание кроссвордов. Только сразу постарайтесь понять, что для счетов Hadge пишется не так как для счетов Netting. Эта строка кода

if(PositionSelect(_Symbol)) // если выбираем открытую позицию на графике текущего символа

используется для Netting, но для Hadge может давать ошибки если открыто больше одной позиции.

 
Aleksey Vyazmikin:

Рекомендую пользоваться хелпом в ME - там назначение всех операторов и функций языка описано.

https://www.mql5.com/ru/docs/trading/positionselect

Здравствуйте, Алексей!

Спасибо за отклик. В MetaEditor хелпом пользуюсь. Основная пока проблема в том, чтобы понять назначение операторов и функций, а так же почему, тот или иной оператор и функция, нужны именно в том конкретном месте программного кода. Вроде бы в хелпе всё расписано, но так понимаю, что эта информация не для того, кто начинает вникать с нуля, а для того, кто уже имеет определенный опыт программирования на других языках.

С уважением, Владимир.

 
Alexey Viktorov:

Было-бы желание, это лучше для мозга чем разгадывание кроссвордов. Только сразу постарайтесь понять, что для счетов Hadge пишется не так как для счетов Netting. Эта строка кода

используется для Netting, но для Hadge может давать ошибки если открыто больше одной позиции.

Здравствуйте, Алексей!

Спасибо за подсказку по поводу Hadge и Netting счетов, а так же за поддержку.

Понимаю так, что если нет корректировки в комментарии к строке кода, то это уже хорошо. Значит максимально близко понял суть этой строчки кода. Буду дальше вникать в программирование на языке MQL5 и периодически выкладывать коды со своими комментариями. Может потом, на каком-то этапе самообучения и получится самостоятельно разработать код простенького советника.

Суважением, Владимир.

Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
  • www.mql5.com
MetaQuotes Language 5 (MQL5) - язык программирования технических индикаторов, торговых роботов и вспомогательных приложений для автоматизации торговли на финансовых рынках. MQL5 является современным языком высокого уровня и разработан MetaQuotes Software Corp. для собственной торгово-информационной платформы. Синтаксис языка максимально близок...
 

Всем привет!

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

FileSeek(FileHandle,0,SEEK_SET); // перемещаем положение указателеля в файле с уникальным указателем на "0" байт в начале файла

Комментарий сделан мной, но не совсем понятен её смысл. Еле разобрался, что такое FileHandle. Разбил на два слова File и Handle. Гугл перевел, как дескриптор файла. Что такое дескриптор, с чем его едят? Хорошо, что здесь https://www.mql5.com/ru/articles/496 автор статьи объяснил для начинающих, что на русском языке Handle - это уникальный указатель на что-либо (на файл, на индикатор и т.п.).

Теперь остается понять смысл всего кода. Прошу помощи у сообщества, т.к. засиделся разбирая этот код до 3-х часов ночи и голова уже совсем не соображает.

С уважением, Владимир.

Быстрый старт или краткий курс для начинающих
Быстрый старт или краткий курс для начинающих
  • www.mql5.com
Здравствуй дорогой читатель. В данной статье я попробую рассказать и покажу как можно просто и быстро освоить принципы построения торговых советников, работу с индикаторами и т.д. Эта статья ориентирована на новичков, в ней не будет сложных и трудных для понимания примеров. Скорей всего, она не будет интересной и познавательной для тех, кто уже...
 
MrBrooklin:

Всем привет!

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

Комментарий сделан мной, но не совсем понятен её смысл. Еле разобрался, что такое FileHandle. Разбил на два слова File и Handle. Гугл перевел, как дескриптор файла. Что такое дескриптор, с чем его едят? Хорошо, что здесь https://www.mql5.com/ru/articles/496 автор статьи объяснил для начинающих, что на русском языке Handle - это уникальный указатель на что-либо (на файл, на индикатор и т.п.).

Теперь остается понять смысл всего кода. Прошу помощи у сообщества, т.к. засиделся разбирая этот код до 3-х часов ночи и голова уже совсем не соображает.

С уважением, Владимир.

А зачем что-то переводить гуглой, если в документации всё по русски написано

Перемещает положение файлового указателя на указанное количество байт относительно указанного положения.

И я-бы ваш комментарий перевёл так: «Перемещает указатель файла от начала на 0 байт. Другими словами, в начало файла»

Точка отсчета для смещения. Может принимать одно из значений перечисления ENUM_FILE_POSITION

Идентификатор

Описание

SEEK_SET

Начало файла

SEEK_CUR

Текущая позиция файлового указателя

SEEK_END

Конец файла

Документация по MQL5: Файловые операции / FileSeek
Документация по MQL5: Файловые операции / FileSeek
  • www.mql5.com
//|                                                Demo_FileSeek.mq5 | //|                        Copyright 2013, MetaQuotes Software Corp. | //|                                              https://www.mql5.com | //| Script program start function                                    |...