Заработай до
50000$
на приглашении друзей
получить StartUp Bonus
от ИнстаФорекс
Вложений не требуется!
Начни торговлю
без вложений и риска
С новым STARTUP бонусом 1000$
Получи бонус
55%
от ИнстаФорекс
на каждое пополнение
Ответить в теме
Страница 3 из 120
Первая ... 2 3 4 13 ... Последняя ◄╝

Показаны сообщения: с 41 по 60 из 2399

Тема: MQL4 для начинающих

 Перейти в классический вид темы
     
  1. ТОП сообщений
    2018-04-05   07:16
    Лучший ответ #1
    Накопленные выплаты 27419 RUB

    зря Вы так, я вчера, к примеру, взял о перегрузил операторы == и != чтобы было удобнее логику поиска паттернов видеть а на следующей неделе планирую сделать универсальный класс для Ренко - графиков, чтобы любой советник можно было на виртуальном Ренко-графике запустить

    2010-04-26   23:58
    Лучший ответ #2
    Накопленные выплаты 3750 RUB

    Вы должны понять важную вещь. То, что будет написано в MetaEditor'e, - это исходный код. То есть последовательность команд, которую будет выполнять терминал одну за другой сверху вниз. Но терминал не может выполнять исходные коды. Исходный код понятен вам, но не MetaTrader'у. Чтобы исходный код был понятен терминалу, его нужно "перевести" на соответствующий "язык". Чтобы это сделать, нужно нажать на клавишу F5 в MetaEditor'е. После этого будет выполнена компиляция исходного кода в исполняемый файл. Компиляция - это процесс "перевода" исходного кода, написанного вами и понятного вам, в специальный исполняемый файл, который понимает и способен выполнить MetaTrader. Проверьте это сами. Создайте новый скрипт под названием Test1 и сохраните, но не компилируйте. Запустите терминал и, используя Навигатор, зайдите в раздел "Скрипты". Как видно, скрипта с названием Test1 нет: После этого откроется новое окно, с которым вы в дальнейшем будете работать больше всего. В нём отображается исходный текст:


    Теперь скомпилируйте скрипт (клавиша F5):

    Опять загляните в терминал. Скрипт Test1 появился:

    Двойной клик на названии скрипта в Навигаторе терминала - и он запускается. Но ничего не происходит, так как скрипт пуст. Вы уже должны представлять, на что похож процесс написания скрипта: вы пишете исходный код, компилируете, запускаете скрипт в терминале, смотрите на результат, изменяете исходный код, компилируете, смотрите ... и так - до тех пор, пока не получите нужный результат.

    2010-04-30   00:35
    Лучший ответ #3
    Накопленные выплаты 3750 RUB

    Итак, Вы узнали много нового. Однако, чтобы детально разобраться в программировании MQL 4 необходимо потратить больше времени, нежели Вы потратили на прочтение данного материла. Поэтому, перечитывайте текст, запоминайте, практикуйтесь и вникайте в суть и тогда Вы сможете на практике применять знания полученные в материалах, посвященных MQL 4. То, что описано в этой статье, - основа всего языка MQL4. Чем лучше Вы освоите этот материал, тем проще Вам будет учиться дальше. Учебник «Программирование на алгоритмическом языке MQL4» Скачать

    2010-04-27   23:45
    Лучший ответ #4
    Накопленные выплаты 3750 RUB

    Не пугайтесь. Это очень просто. Смотрите. Допустим, вы хотите запомнить пять цен. Как можно поступить? Ну, можно вот так: double price1 = 1.2341; double price2 = 1.2321; double price3 = 1.2361; double price4 = 1.2411; double price5 = 1.2301; У нас получается пять переменных, которые имеют один тип данных и описывают один и тот же параметр - цену. Но можно поступить иначе, используя массив. Массив - это всего лишь серия переменных, которые отличаются между собой индексами, но имеют одно общее название. Посмотрите, как нужно объявлять массив из пяти элементов: double price; Общая форма: (тип массива) (название массива) ; В нашем случае: тип массива - double, название - price, количество элементов - 5. Давайте посмотрим, как можно обратиться к элементам массива: double price; // объявляем массив из 5 элементов price = 1.2341; // обращаемся к первому элементу массива и // присваиваем ему цену. Обратите внимание // на то, что индекс первого элемента // начинается с 0. Это важная особенность, // к которой нужно привыкнуть. price = 1.2321; // обращаемся ко второму элементу price = 1.2361; // и так далее price = 1.2411; price = 1.2301; С элементами массива можно проделывать любые операции, как и с обычными переменными. Собственно, элементы массива - и есть обычные переменные: double price; price = 1.2234; price = 1.2421; MessageBox("Middle price is " + (price + price) / 2.0,"middle price"); При объявлении массива можно также присвоить всем элементам начальные значения: double price = {1.2234, 1.2421}; Мы просто перечисляем через запятую начальные значения элементов в фигурных скобках. В таком случае вы можете даже не указывать количество элементов, компилятор автоматически вставит нужное значение: double price[] = {1.2234, 1.2421}; Это всё, безусловно, очень хорошо, но... К сожалению, бесполезно. Нам нужно как-то добраться до реальных данных! Например, текущих цен, времени, количества свободных денег и так далее.

    2010-04-26   23:52
    Лучший ответ #5
    Накопленные выплаты 3750 RUB

    Торговый терминал MetaTrader 4 по достоинству оценили сотни тысяч трейдеров во всем мире. Использование встроенного языка программирования MQL4 выводит трейдеров на качественно новый уровень торговли - автотрейдинг. Теперь трейдер может реализовать свои идеи в виде прикладной программы - самостоятельно написать пользовательский индикатор, скрипт для выполнения разовых операций или создать советник - автоматическую торговую систему (торговый робот). Советник может работать круглосуточно без постороннего вмешательства - отслеживать все изменения цен финансовых инструментов, отправлять сообщения по электронной почте, SMS-сообщения на мобильный телефон, а также выполнять множество других полезных действий. Основным достоинством прикладных программ является возможность совершать торговые операции в соответствии с алгоритмом, заданным трейдером по своему усмотрению. Любые идеи, которые возможно изложить на языке алгоритмов (пересечение двух скользящих средних или цифровая обработка сигналов, три экрана Элдера или фрактальный анализ Петерса, нейронная сеть или геометрические построения), можно заложить в прикладную программу и затем использовать её в практической торговле. Составление прикладных программ для торгового терминала MetaTrader 4 требует знания языка MQL4, освоив который, можно самостоятельно создавать эксперты, скрипты и индикаторы, воплощая в них свои идеи - алгоритмы прибыльной торговли. Для начала давайте разберемся, что Вы можете делать с помощью этого языка: создать скрипты, пользовательские индикаторы, советники и библиотеки. Скрипты - это последовательности команд, программы, которые выполняются только один раз по вашему запросу. Они могут заменять действия, которые вы выполняете каждый день при торговле. Например, открывать ордера. Они также могут выполнять специфические действия - например, исследовать графики и выводить статистическую информацию. Пользовательские индикаторы - это технические индикаторы, написанные в дополнение к встроенным в терминал индикаторам. Они выводят графики или другую визуальную информацию. В отличие от скриптов, пользовательские индикаторы выполняются при каждом изменении цены, то есть на каждом тике. То, что будут выводить индикаторы, зависит только от вас. Это может быть бесполезный график синуса или что-то, что будет помогать вам ориентироваться в ситуации на рынке. Например, если вы точно знаете, при каких условиях на рынке тренд, а при каких флэт, то это наверняка можно написать в виде индикатора. Советники - это механические торговые системы, которые привязаны к любому финансовому инструменту. Подобно пользовательским индикаторам, советники выполняются при каждом новом тике, но в отличие от первых могут информировать вас о состоянии рынка (например, давать конкретные советы о покупке или продаже) или торговать самостоятельно без вашего участия. Терминал поддерживает тестирование стратегий, что позволяет быстро оценить прибыльность вашего советника. Вы описываете свою стратегию на языке MQL4, а терминал хладнокровно выполняет все ваши указания. Библиотеки - это наборы функций для выполнения специфических задач. Например, один из ваших советников может использовать специальные математические функции для принятия решения о том, когда выполнять покупку, а когда - продажу. Для того, чтобы написать обычные скрипты необходимо научиться использовать специальную программу - редактор MetaEditor 4, встроенную в терминал MetaTrader 4. Чтобы её запустить, нажмите на клавишу F4 при открытом клиентском терминале. Чтобы создать новый скрипт, нажмите в редакторе MetaEditor 4 на кнопки меню File->New или используйте сочетание клавиш Ctrl+N на клавиатуре:


    После этого появится окно, в котором вам следует указать, что вы собираетесь создать. Выбираем Script и жмём на кнопку Далее:

    В следующем окне следует ввести название скрипта в поле Name. Укажите свое имя в поле Author и e-mail или адрес вашего веб-узла в поле Link. Далее нажимаем на кнопку Готово:

    После этого откроется новое окно, с которым вы в дальнейшем будете работать больше всего. В нём отображается исходный текст:

    Обратите внимание, что даже пустой, ничего не делающий скрипт включает в себя какой-то код. Теперь всё готово для начала программирования. Но, к сожалению, вы не имеете представления, как это делается. Давайте попробуем исправить ситуацию.

    2010-04-27   23:28
    Лучший ответ #6
    Накопленные выплаты 3750 RUB

    Что такое переменная? Попробуйте сами ответить на этот вопрос, а я вам помогу. Сколько вам лет? Сколько вам будет лет через пять лет? Теперь смотрите: возраст - это и есть переменная. Возраст изменяется с течением времени, как и любая другая переменная. То есть первая особенность переменной заключается в её изменении с течением времени. Другой пример: какой был ваш рост в пять лет? Очевидно, намного меньше, чем сейчас. Рост - ещё один пример переменной. Но есть важное отличие. Обратите внимание на то, что возраст мы измеряли, используя целые числа. Рост намного удобнее измерять, используя десятичные дроби ("числа с плавающей точкой"). Возраст: 20 лет, 30 лет. Рост: 1,8 метра, 1,95 метра. Это очень важная особенность: каждая переменная относится к определённому типу. Давайте посмотрим, какие еще бывают типы переменных. Вы можете описать числами многие параметры, но как представить текст? Для этого используются специальные типы - строковые. Эти типы переменных хранят только строки.Теперь давайте посмотрим, как можно создать и описать переменную на языке MQL4. int age = 25; Здесь мы объявили переменную целого типа (int - integer - целое число). int - это ключевое слово языка MQL4, которое указывает, что мы используем тип целых чисел. Дальше мы написали age (возраст) - это название переменной, то есть слово, по которому мы будем обращаться к значению, хранящемуся в этой переменной. Затем мы присвоили переменной значение 25, используя символ "=". После каждой инструкции ставится точка с запятой, что мы и сделали. Обратите внимание - объявление и инициализация любой переменной сводятся к такой форме: = ; Кстати, присваивать какое-то значение переменной (совершать инициализацию) необязательно, вы могли бы написать и так: int age; Еще один пример: double height = 1.95; Здесь мы объявляем переменную с названием height (рост), которая хранит значения типа double (число с плавающей запятой, десятичная дробь) и которой мы сразу присваиваем значение 1.95, используя оператор "=". Теперь рассмотрим строковую переменную: string name = "Janet"; string - тип переменной, name - название переменной, "Janet" - значение переменной. Обратите внимание, что значения для переменной типа string размещаются между двойными кавычками ("). Существует еще один очень полезный тип переменной - bool. Переменные этого типа могут принимать только два значения: либо true (правда), либо false (ложь). bool trend = false; Теперь вам нужно запомнить несколько важных вещей. Язык MQL4 - это регистрозависимый язык, то есть имеет большое значение, ПРОПИСНЫМИ буквами вы пишете код или строчными. Например, если вы объявите несколько переменных с одинаковыми названиями, но разным регистром, то это будут совершенно разные переменные: double HIGHTPRICE; double hightprice; double HightPrice; double hightPrice; Вышеприведённый код создаст четыре совершенно разных переменных. Также обратите внимание на то, что все ключевые слова языка MQL4 пишутся строчными буквами. Следующий пример: DOUBLE hightPrice1; Double hightPrice2; Вышеприведённый код работать не будет, потому что слово double не будет воспринято как ключевое слово языка MQL4. Ещё один важный момент заключается в том, что названия переменных не могут начинаться с цифр или специальных знаков (*,&, ,%,$). Например: double 1price; double %price; Ещё один элемент языка - комментарии. Если вы напишете "//" перед строкой, то она целиком закомментируется. Это значит, что при компиляции она будет игнорироваться. Например: // this is a comment // это комментарий Теперь вы должны заметить, что код пустого скрипта включает в себя много комментариев, которые несут информативный характер. Комментируйте свой код, иногда это может сэкономить вам много времени.

  2. Линк #41 Свернуть пост
    Кандидат форумных наук
    Nick'Otin приемлемый уровень репутации Nick'Otin приемлемый уровень репутации Nick'Otin приемлемый уровень репутации Аватар для Nick'Otin
    Регистрация:
    16.12.2009
    Сообщений:
    2,320
    Деньги за посты (Подробнее):
    3750 RUB
    Поставил(а) лайков:
    74
    Получено лайков:  420
    в 215 сообщениях
    18%
    Торговый терминал MetaTrader 4 по достоинству оценили сотни тысяч трейдеров во всем мире. Использование встроенного языка программирования MQL4 выводит трейдеров на качественно новый уровень торговли - автотрейдинг. Теперь трейдер может реализовать свои идеи в виде прикладной программы - самостоятельно написать пользовательский индикатор, скрипт для выполнения разовых операций или создать советник - автоматическую торговую систему (торговый робот). Советник может работать круглосуточно без постороннего вмешательства - отслеживать все изменения цен финансовых инструментов, отправлять сообщения по электронной почте, SMS-сообщения на мобильный телефон, а также выполнять множество других полезных действий.

    Основным достоинством прикладных программ является возможность совершать торговые операции в соответствии с алгоритмом, заданным трейдером по своему усмотрению. Любые идеи, которые возможно изложить на языке алгоритмов (пересечение двух скользящих средних или цифровая обработка сигналов, три экрана Элдера или фрактальный анализ Петерса, нейронная сеть или геометрические построения), можно заложить в прикладную программу и затем использовать её в практической торговле.

    Составление прикладных программ для торгового терминала MetaTrader 4 требует знания языка MQL4, освоив который, можно самостоятельно создавать эксперты, скрипты и индикаторы, воплощая в них свои идеи - алгоритмы прибыльной торговли.

    Для начала давайте разберемся, что Вы можете делать с помощью этого языка: создать скрипты, пользовательские индикаторы, советники и библиотеки.
    • Скрипты - это последовательности команд, программы, которые выполняются только один раз по вашему запросу. Они могут заменять действия, которые вы выполняете каждый день при торговле. Например, открывать ордера. Они также могут выполнять специфические действия - например, исследовать графики и выводить статистическую информацию.
    • Пользовательские индикаторы - это технические индикаторы, написанные в дополнение к встроенным в терминал индикаторам. Они выводят графики или другую визуальную информацию. В отличие от скриптов, пользовательские индикаторы выполняются при каждом изменении цены, то есть на каждом тике. То, что будут выводить индикаторы, зависит только от вас. Это может быть бесполезный график синуса или что-то, что будет помогать вам ориентироваться в ситуации на рынке. Например, если вы точно знаете, при каких условиях на рынке тренд, а при каких флэт, то это наверняка можно написать в виде индикатора.
    • Советники - это механические торговые системы, которые привязаны к любому финансовому инструменту. Подобно пользовательским индикаторам, советники выполняются при каждом новом тике, но в отличие от первых могут информировать вас о состоянии рынка (например, давать конкретные советы о покупке или продаже) или торговать самостоятельно без вашего участия. Терминал поддерживает тестирование стратегий, что позволяет быстро оценить прибыльность вашего советника. Вы описываете свою стратегию на языке MQL4, а терминал хладнокровно выполняет все ваши указания.
    • Библиотеки - это наборы функций для выполнения специфических задач. Например, один из ваших советников может использовать специальные математические функции для принятия решения о том, когда выполнять покупку, а когда - продажу.

    Для того, чтобы написать обычные скрипты необходимо научиться использовать специальную программу - редактор MetaEditor 4, встроенную в терминал MetaTrader 4. Чтобы её запустить, нажмите на клавишу F4 при открытом клиентском терминале. Чтобы создать новый скрипт, нажмите в редакторе MetaEditor 4 на кнопки меню File->New или используйте сочетание клавиш Ctrl+N на клавиатуре:






    После этого появится окно, в котором вам следует указать, что вы собираетесь создать. Выбираем Script и жмём на кнопку Далее:






    В следующем окне следует ввести название скрипта в поле Name. Укажите свое имя в поле Author и e-mail или адрес вашего веб-узла в поле Link. Далее нажимаем на кнопку Готово:






    После этого откроется новое окно, с которым вы в дальнейшем будете работать больше всего. В нём отображается исходный текст:






    Обратите внимание, что даже пустой, ничего не делающий скрипт включает в себя какой-то код. Теперь всё готово для начала программирования. Но, к сожалению, вы не имеете представления, как это делается. Давайте попробуем исправить ситуацию.


  3. post_thanks Получено лайков: 10

    big-fan (27.03.2018), Djvanmukta (05.01.2016), Epiharia (03.10.2013), Forewoman (24.01.2011), ipb (06.12.2010), ogarew2009 (08.04.2012), polkiloqq (23.02.2012), Smont (09.05.2013), Trendsistem (09.06.2012), ораз (31.05.2012)

  4. Линк #46 Свернуть пост
    Живая Легенда
    no
     
    ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации Аватар для ppvic
    Регистрация:
    30.05.2010
    Сообщений:
    31,677
    Деньги за посты (Подробнее):
    276261 RUB
    Поставил(а) лайков:
    8,501
    Получено лайков:  21,448
    в 11,817 сообщениях
    68%
    Цитата Сообщение от kevin Посмотреть сообщение
    Вопрос на засыпку, а с декомпиляторами никто случайно не сталкивался? А то я свой случайно потерял, но это не суть
    Собственно вопрос: Как можно максимально обезопасить откомпиленный файл от подобных софтинок? К примеру есть *.ex4 советник\скрипт, и при его декомпиляции получался не исходный код, а какая-нить "пурга". К сожалению в MQL4 не нашел никаких функций типа "eval" и т.п. Кто и как защищает свои исходники?
    Собственные .DLL пишите, желательно позаковыристей.
    В любом случае, если Ваш советник прибылен от депозита в месяц:
    1. 10% - Ваш советник не нужен и даром.
    3. 30% - Что бы Вы ни делали - его всё равно декомпилируют.
    2. 50% - Вы себе льстите - либо Вы лжёте.


  5. Линк #47 Свернуть пост
    В начале пути
    kevin стараюсь положительно себя зарекомендовать Аватар для kevin
    Регистрация:
    19.07.2010
    Сообщений:
    11
    Деньги за посты (Подробнее):
    142 RUB
    Поставил(а) лайков:
    1
    Получено лайков:  0
    в 0 сообщениях
    0%
    А так-же этот кусок кода
    Код:
    int a=0;
    int result;
     
    if(a==0)
    {
      result=1;
    }
    else if(a==1)
    {
      result=2;
    }
    else if(a==2)
    {
      result=3;
    }
    else
    {
      result=4;
    }
    можно переписать вот так

    Код:
    
    int a=0;
    int result;
    
    switch (a)
    {
        case 0:
            result = 1;
            break;
        case 1:
            result = 2;
            break;
        case 2:
            result = 3;
            break;
        default:
            result = 4;
    }
    Описание оператора switch можно найти тут-> http://book.mql4.com/ru/operators/switch


  6. Линк #48 Свернуть пост
    Живая Легенда
    no
     
    ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации Аватар для ppvic
    Регистрация:
    30.05.2010
    Сообщений:
    31,677
    Деньги за посты (Подробнее):
    276261 RUB
    Поставил(а) лайков:
    8,501
    Получено лайков:  21,448
    в 11,817 сообщениях
    68%
    Цитата Сообщение от kevin Посмотреть сообщение
    Код:
    
    int a=0;
    int result;
    
    switch (a)
    {
        case 0:
            result = 1;
            break;
        case 1:
            result = 2;
            break;
        case 2:
            result = 3;
            break;
        default:
            result = 4;
    }
    Описание оператора switch можно найти тут-> http://book.mql4.com/ru/operators/switch
    Всё верно, только вот switch в основном применяется не для подобных идиотских индусских плясок в коде.
    Ибо то, что Вы означили, заключается в двух операторах: { int result = a+1; if (result < 1 || result > 4) result = 4;}

    switch же, как правило, применяется для секционирования подпрограммы в зависимости от входного параметра.
    Впрочем, ИМХО, найдутся индусы, которым придется по вкусу и Ваше решение.


  7. Линк #49 Свернуть пост
    В начале пути
    kevin стараюсь положительно себя зарекомендовать Аватар для kevin
    Регистрация:
    19.07.2010
    Сообщений:
    11
    Деньги за посты (Подробнее):
    142 RUB
    Поставил(а) лайков:
    1
    Получено лайков:  0
    в 0 сообщениях
    0%
    1. - .DLL также могут быть декомпилированы, но согласен - в них код проще запутать
    2. - 50% и более дает тот-же илан (если руки прямые и голова трезвая) или любой подобный Мартингейл.

    MQL - язык интересный, но к сожалению не всегда удобен в использовании и неособо гибок, но в то же время он "заточен" строго под торговлю и в нем нет ничего "лишнего", а этого лишнего иногда нехватает


  8. Линк #50 Свернуть пост
    Живая Легенда
    no
     
    ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации Аватар для ppvic
    Регистрация:
    30.05.2010
    Сообщений:
    31,677
    Деньги за посты (Подробнее):
    276261 RUB
    Поставил(а) лайков:
    8,501
    Получено лайков:  21,448
    в 11,817 сообщениях
    68%
    Цитата Сообщение от kevin Посмотреть сообщение
    1. - .DLL также могут быть декомпилированы, но согласен - в них код проще запутать
    2. - 50% и более дает тот-же илан (если руки прямые и голова трезвая) или любой подобный Мартингейл.

    MQL - язык интересный, но к сожалению не всегда удобен в использовании и неособо гибок, но в то же время он "заточен" строго под торговлю и в нем нет ничего "лишнего", а этого лишнего иногда нехватает
    В самом деле, Илан даёт 50% от депозита в месяц? Вы с Карибов пишете? Устали от красивых девочек и жары?
    Не смешите мои тапки. Хорошо, если советник вообще способен хотя бы на 10% в месяц, обычно о такой результативности даже нигде не упоминают, не то, чтобы раздавать в открытый доступ...


  9. Линк #51 Свернуть пост
    В начале пути
    kevin стараюсь положительно себя зарекомендовать Аватар для kevin
    Регистрация:
    19.07.2010
    Сообщений:
    11
    Деньги за посты (Подробнее):
    142 RUB
    Поставил(а) лайков:
    1
    Получено лайков:  0
    в 0 сообщениях
    0%
    Цитата Сообщение от ppvic Посмотреть сообщение
    Всё верно, только вот switch в основном применяется не для подобных идиотских индусских плясок в коде.
    Ибо то, что Вы означили, заключается в двух операторах: { int result = a+1; if (result < 1 || result > 4) result = 4;}

    switch же, как правило, применяется для секционирования подпрограммы в зависимости от входного параметра.
    Впрочем, ИМХО, найдутся индусы, которым придется по вкусу и Ваше решение.
    1. Я написал второе решение данного выше кода (тот что с толпой if-else).
    2. Насколько я понимаю, данная тема для новичков, иначе смысл объяснять что такое условие и как оно работает.
    3. Код должен быть читабелен, и иметь возможность к дополнениям\изменениям.

    Код:
    int a=0;
    int result;
     
    if(a==0)
    {
      result=1;
    }
    else if(a==1)
    {
      result=2;
    }
    else if(a==2)
    {
      result=3;
    }
    else
    {
      result=4;
    }
    Красиво меняется на
    Код:
    int a=0;
    int result;
    
    switch (a)
    {
        case 0:
            result = 1;
            break;
        case 1:
            result = 2;
            break;
        case 2:
            result = 3;
            break;
        default:
            result = 4;
    }
    
    А так-же легко расширяется до вида
    Код:
    int a = 0;
    int b = 0;
    int result;
    
    switch (a)
    {
        case 0:
            result = 1;
            break;
        case 1:
            result = UserFunction(a);
            break;
        case 2:
            result = 3;
            break;
        default:
            result = 4;
    }
    Не спорю, ваши две строчки так-же хороши, и будут быстрее работать чем switch, но при расширении\изменении вышеописанного функционала будут несовсем к месту.

    Последний раз редактировалось kevin; 29.07.2010 в 15:55.

  10. Линк #52 Свернуть пост
    Частый гость
    Pavel_K стараюсь положительно себя зарекомендовать Аватар для Pavel_K
    Регистрация:
    26.07.2010
    Сообщений:
    128
    Деньги за посты (Подробнее):
    1587 RUB
    Поставил(а) лайков:
    6
    Получено лайков:  21
    в 12 сообщениях
    16%
    Замечательно. У меня предложение: взять конкретную задачу (небольшую) и конкретно по ней написать здесь эксперта. Дабы интересующимся врде меня было понятно откуда ноги растут. Справочную информацию можно и в МТ4 прочитать, а вот суметь ей воспользоваться без тренерских советов, наверно, под силу только проф.программерам.

    Собственно, задача, всем понятная: трал по МА, в трале возможность выбирать что тралим (стоп-лосс или стоповый ордер на переворот, или тянем лимитник на отбой). Вот если кто может пошагово объяснить, далее м.б. уже по образу и подобию. Заранее спасибо всем, кто отзовется.


  11. post_thanks Получено лайков: 2

    Epiharia (03.10.2013), polkiloqq (23.02.2012)

  12. Линк #53 Свернуть пост
    В начале пути
    uzumi стараюсь положительно себя зарекомендовать Аватар для uzumi
    Регистрация:
    11.06.2010
    Сообщений:
    20
    Деньги за посты (Подробнее):
    168 RUB
    Поставил(а) лайков:
    2
    Получено лайков:  2
    в 2 сообщениях
    10%
    Цитата Сообщение от tol64 Посмотреть сообщение
    У меня такой вопрос. Если я только начал изучать программирование, стоит ли изучать сначала MQL4, а потом переходить на MQL5? Или лучше сразу начинать с MQL5, так как есть кардинальные отличия.
    ИМХО лучше сразу учить MQL5, чтоб не забивать мозг всякими мелочами типа изменения значения какого-нибудь оператора в MQL5 после MQL4.


  13. Линк #54 Свернуть пост
    Живая Легенда
    no
     
    ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации Аватар для ppvic
    Регистрация:
    30.05.2010
    Сообщений:
    31,677
    Деньги за посты (Подробнее):
    276261 RUB
    Поставил(а) лайков:
    8,501
    Получено лайков:  21,448
    в 11,817 сообщениях
    68%
    Цитата Сообщение от uzumi Посмотреть сообщение
    ИМХО лучше сразу учить MQL5, чтоб не забивать мозг всякими мелочами типа изменения значения какого-нибудь оператора в MQL5 после MQL4.
    А вот и нет, малыш.
    MQL4 и MQL5 - это детища одной и той же конторы, под названием Metaquotes. И не настолько уж сильно изменился новый MQL, чтобы не было в нем места прежнему, четвертому...
    Кури мануалы - увидишь, что в основном изменения коснулись лишь функций и условий торговли. Всё остальное осталось, пусть и под другими названиями.


  14. Линк #55 Свернуть пост
    В начале пути
    uzumi стараюсь положительно себя зарекомендовать Аватар для uzumi
    Регистрация:
    11.06.2010
    Сообщений:
    20
    Деньги за посты (Подробнее):
    168 RUB
    Поставил(а) лайков:
    2
    Получено лайков:  2
    в 2 сообщениях
    10%
    Цитата Сообщение от ppvic Посмотреть сообщение
    А вот и нет, малыш.
    MQL4 и MQL5 - это детища одной и той же конторы, под названием Metaquotes. И не настолько уж сильно изменился новый MQL, чтобы не было в нем места прежнему, четвертому...
    Кури мануалы - увидишь, что в основном изменения коснулись лишь функций и условий торговли. Всё остальное осталось, пусть и под другими названиями.
    Пост можно отнести в мою поддержку, ведь изменения коснулись лишь функций и условий торговли. Всё остальное осталось, пусть и под другими названиями.:

    Пы.сы. Если ваапще ниче в программировании не понимаете-наверное лучше начинать с MQL4, ведь тут по пятой млао данных, а по 4 все уже написано.


  15. Линк #56 Свернуть пост
    Частый гость
    Necron стараюсь положительно себя зарекомендовать Аватар для Necron
    Регистрация:
    09.06.2010
    Сообщений:
    89
    Деньги за посты (Подробнее):
    1146 RUB
    Поставил(а) лайков:
    12
    Получено лайков:  40
    в 21 сообщениях
    45%
    Цитата Сообщение от uzumi Посмотреть сообщение
    Пы.сы. Если ваапще ниче в программировании не понимаете-наверное лучше начинать с MQL4, ведь тут по пятой млао данных, а по 4 все уже написано.
    соглашусь. Если с программированием не знакомы - лучше MQL4, так как в пятом вряд ли так с ходу разберетесь. На четверку у меня ушло: 1 день на чтение книжки и пары статей, 1 день на осмысление прочитанного, на третий день - полностью своего советника написал без копипаста. А MQL пятый... Раньше как-то не обращал внимания на него (считал, что раз так часто обновляют билды, значит все-таки ошибок и недоработок еще хватает), а тут почитал пару статей по нему, посмотрел в CodeBase как пишут экспертов и индикаторы - ничего такого сложного там и не нашел Но повторюсь, что это уже после неплохого опыта работы с MQL4.


  16. post_thanks Получено лайков: 1

    ppvic (09.08.2010)

  17. Линк #57 Свернуть пост
    Частый гость
    fxtrial стараюсь положительно себя зарекомендовать Аватар для fxtrial
    Регистрация:
    01.09.2010
    Сообщений:
    101
    Деньги за посты (Подробнее):
    909 RUB
    Поставил(а) лайков:
    6
    Получено лайков:  14
    в 12 сообщениях
    14%
    Задам всем вопрос... ведь написанный советник в MQL5 просто не будет читаться в MQL4, просто потому что это новая версия, а то старая... и наоборот... написанное в MQL4 всегда будет читаться в MQL5... это программа и я недумаю что ее создатели будут делать подобную за***** всем трейдерам (тогда на 5 версию вообще никто не перейдет)... все как с обычным старым ВОРДОМ... он не читает версий которые моложе, а молодые с лихвой открывают и поддерживают даже сохранение в формате более старшого брата... вот и решейте зачем вообще париться с MQL5 если можно делать все проще и легче в MQL4... Я конечно могу и ошибаться, если так то подправте меня пожалуйста и я сразу перейду на версию под номером пять...

    С уважением ко всем, Артем!

    Я не волшебник... я только учусь)

  18. Линк #58 Свернуть пост
    Живая Легенда
    no
     
    ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации Аватар для ppvic
    Регистрация:
    30.05.2010
    Сообщений:
    31,677
    Деньги за посты (Подробнее):
    276261 RUB
    Поставил(а) лайков:
    8,501
    Получено лайков:  21,448
    в 11,817 сообщениях
    68%
    Цитата Сообщение от fxtrial Посмотреть сообщение
    Задам всем вопрос... ведь написанный советник в MQL5 просто не будет читаться в MQL4, просто потому что это новая версия, а то старая... и наоборот... написанное в MQL4 всегда будет читаться в MQL5... это программа и я недумаю что ее создатели будут делать подобную за***** всем трейдерам (тогда на 5 версию вообще никто не перейдет)... все как с обычным старым ВОРДОМ... он не читает версий которые моложе, а молодые с лихвой открывают и поддерживают даже сохранение в формате более старшого брата... вот и решейте зачем вообще париться с MQL5 если можно делать все проще и легче в MQL4... Я конечно могу и ошибаться, если так то подправте меня пожалуйста и я сразу перейду на версию под номером пять...

    С уважением ко всем, Артем!
    Артем... Вы бы хоть примерно изучили этот раздел форума, прежде чем писать ерунду...
    MQL4 и MQL5, как и программы, написанные на них - ВЗАИМНО НЕСОВМЕСТИМЫ!


  19. Линк #59 Свернуть пост
    Частый гость
    fxtrial стараюсь положительно себя зарекомендовать Аватар для fxtrial
    Регистрация:
    01.09.2010
    Сообщений:
    101
    Деньги за посты (Подробнее):
    909 RUB
    Поставил(а) лайков:
    6
    Получено лайков:  14
    в 12 сообщениях
    14%
    Цитата Сообщение от ppvic Посмотреть сообщение
    Артем... Вы бы хоть примерно изучили этот раздел форума, прежде чем писать ерунду...
    MQL4 и MQL5, как и программы, написанные на них - ВЗАИМНО НЕСОВМЕСТИМЫ!
    в таком случае означает, что реально лучше изначально изучать МQL5 а не МQL4... вот и все что я хотел от вас услышать... что касается программирования то я действительно в этом не силен на столько ка Вы... и не боюсь это го признать... т.ч. вообще не вижу смысла изучать МQL4... давайте перейдем все на МQL5 и делу конец

    Я не волшебник... я только учусь)

  20. Линк #60 Свернуть пост
    Свой человек
    vasili приемлемый уровень репутации Аватар для vasili
    Регистрация:
    16.03.2010
    Пол:
    Мужчина
    Сообщений:
    698
    Деньги за посты (Подробнее):
    7978 RUB
    Поставил лайков:
    28
    Получено лайков:  188
    в 160 сообщениях
    27%
    Я думаю человек больше жалуется на потерю наследственности... тоже об этом думал почему бы сделать как в том же выше описанном ворде...новая поддерживает старый код... а старая нет....понятное дело что вопрос не по адресу...так просто в поддежку выше сказанного товарищем...а что касается того что учить 4 или 5...да емае я без книжки за пару часов разобрался с примерами...больше времени потратили на вопросы что и как учить.всем удачи


  21. post_thanks Получено лайков: 1

    ppvic (10.09.2010)

  22. Линк #61 Свернуть пост
    Частый гость
    JudgeAlex стараюсь положительно себя зарекомендовать Аватар для JudgeAlex
    Регистрация:
    16.09.2010
    Сообщений:
    193
    Деньги за посты (Подробнее):
    2124 RUB
    Поставил(а) лайков:
    6
    Получено лайков:  65
    в 40 сообщениях
    34%
    Цитата Сообщение от ppvic Посмотреть сообщение
    До MQL5 еще нужно дожить, как говорится...
    А именно - есть у меня сомнения, что тотальный переход на МТ5 состоится в ближайшее время.
    Так что начинайте с MQL4, да и особенных отличий в принципах языка не предвидится - будут просто другие функции, в чем и заключается основное отличие.
    некоторые брокеру уже сейчас предлагают возможность открытия реальных счетов на платформе МТ5, поэтому думаю задумываться о полном переходе наврятли стоит пока что, но возможность работать через МТ5 на реале, уже в ближайшем будущем будет и большинства брокеров. А вот язык MQL5 намного мощнее чем MQL4, но и сложнее на порядок, поэтому стоит начинать с MQL5, но быть готовым к долгому освоению, если вы не разбираетесь в программировании, ну а если разбираетесь, то не составит труда изучить хоть mql4 хоть mql5.


    Сигналы по EURUSD и GBPUSD: M15, H1, H4; Сигналы по EURJPY и GBPJPY: M15, H1, H4;

  23. Линк #62 Свернуть пост
    Свой человек
    vasili приемлемый уровень репутации Аватар для vasili
    Регистрация:
    16.03.2010
    Пол:
    Мужчина
    Сообщений:
    698
    Деньги за посты (Подробнее):
    7978 RUB
    Поставил лайков:
    28
    Получено лайков:  188
    в 160 сообщениях
    27%
    Насчет быстрого перехода... вопрос спорный...я думаю что единственный момент который это останавливает -это невозможность локировать....если посчитать то большая половина всех пользователей работают по мартину (кто-то называет его усреднением, кто как)...то при тотальном переходе наверняка останется пару дилеров которые специально останутся на 4... а никто клиентов терять не хочет.
    Так что mq4 остается пока актуальна.