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

Показаны сообщения: с 21 по 40 из 2401

Тема: 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. Линк#21
    Кандидат форумных наук
    Nick'Otin приемлемый уровень репутации Nick'Otin приемлемый уровень репутации Nick'Otin приемлемый уровень репутации Аватар для Nick'Otin
    Регистрация:
    16.12.2009
    Сообщений:
    2,320
    Деньги за посты (Подробнее):
    3750 RUB
    Поставил(а) лайков:
    74
    Получено лайков:  423
    в 216 сообщениях
    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 Получено лайков: 11

    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), voinG (13.01.2020), ораз (31.05.2012)

    <a href="https://www.mt5.com/ru/forex_analysis">Форекс портал</a>
  4. Линк#26
    Свой человек
    sydiya хорошая репутация sydiya хорошая репутация sydiya хорошая репутация sydiya хорошая репутация Аватар для sydiya
    Регистрация:
    15.12.2009
    Сообщений:
    419
    Деньги за посты (Подробнее):
    3670 RUB
    Поставил(а) лайков:
    825
    Получено лайков:  520
    в 166 сообщениях
    124%
    Цитата Сообщение от Andruwka Посмотреть сообщение
    привет!
    нужна помощь, ищу исходники стандартных индюков мт4, может знаешь где их можно откопать?)
    Так а чего их искать. Все файлы с расширением mq4 стандартных индикаторов лежат в папке индикаторов терминала. Открываешь и все дела.


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

    polkiloqq (23.02.2012)

  6. Линк#27
    Свой человек
    Псих
     
    Andruwka стараюсь положительно себя зарекомендовать Аватар для Andruwka
    Регистрация:
    27.05.2010
    Сообщений:
    594
    Деньги за посты (Подробнее):
    5564 RUB
    Поставил(а) лайков:
    39
    Получено лайков:  72
    в 55 сообщениях
    12%
    Цитата Сообщение от sydiya Посмотреть сообщение
    Так а чего их искать. Все файлы с расширением mq4 стандартных индикаторов лежат в папке индикаторов терминала. Открываешь и все дела.
    спасибо конечно, но это "Пользовательские", это не совсем то, мне нужны исходники envelopes, ma и rsi

    Когда не знаешь, что делать, делай шаг вперед

  7. Линк#28
    В начале пути
    Вот это да!
     
    Freddy стараюсь положительно себя зарекомендовать Аватар для Freddy
    Регистрация:
    29.06.2010
    Сообщений:
    25
    Деньги за посты (Подробнее):
    228 RUB
    Поставил(а) лайков:
    0
    Получено лайков:  8
    в 6 сообщениях
    32%
    Цитата Сообщение от Andruwka Посмотреть сообщение
    привет!
    нужна помощь, ищу исходники стандартных индюков мт4, может знаешь где их можно откопать?)
    Привет! Такие вещи сразу ищите на http://codebase.mql4.com/ru/
    В частности rsi здесь


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

    Andruwka (01.07.2010), Epiharia (10.10.2013), rvv (07.04.2018)

  9. Линк#29
    Свой человек
    Псих
     
    Andruwka стараюсь положительно себя зарекомендовать Аватар для Andruwka
    Регистрация:
    27.05.2010
    Сообщений:
    594
    Деньги за посты (Подробнее):
    5564 RUB
    Поставил(а) лайков:
    39
    Получено лайков:  72
    в 55 сообщениях
    12%
    Цитата Сообщение от Freddy Посмотреть сообщение
    Привет! Такие вещи сразу ищите на http://codebase.mql4.com/ru/
    В частности rsi здесь
    граци, амиго!)

    Когда не знаешь, что делать, делай шаг вперед

  10. Линк#30
    Свой человек
    Псих
     
    Andruwka стараюсь положительно себя зарекомендовать Аватар для Andruwka
    Регистрация:
    27.05.2010
    Сообщений:
    594
    Деньги за посты (Подробнее):
    5564 RUB
    Поставил(а) лайков:
    39
    Получено лайков:  72
    в 55 сообщениях
    12%
    Привет всем, кто посещает эту ветку!)
    Это абзац, такого я не встречал нигде, никакой компилятор так не гнал, ни сишный, ни явашный...по этому прошу помощи
    короче написал я советника, откомпилил и эта ...кхм... компилятор этот выдает последовательно такие вот ошибки "')' - unbalanced right parenthesis", при чем на всех строках, где есть скобки (обе), на пример в такой строчке вылетает ошибка - RefreshRates (); или if ((start==1 && shift==1) || start==-1), а раньше такого не было

    Когда не знаешь, что делать, делай шаг вперед

  11. Линк#31
    отдыхает от форума
    В думах
     
    AnSol хорошая репутация AnSol хорошая репутация AnSol хорошая репутация Аватар для AnSol
    Регистрация:
    22.06.2010
    Пол:
    Мужчина
    Сообщений:
    3,734
    Деньги за посты (Подробнее):
    32177 RUB
    Поставил лайков:
    573
    Получено лайков:  696
    в 545 сообщениях
    19%
    Да, я тоже не нашел, как искать непарные скобки в тексте, можно взять другой редактор с подсветкой синтаксиса типа ультраэдит и поискать с помощью него, подсветку включить типа C++.
    А метаэдитор начинает в этом случае конкретно гнать пургу, т.е. он видит, что скобок не хватает, но показывает не то и не там. В другом редакторе я хотя бы запустил счетчик правых и левых скобок и
    увидел, что их число неодинаково. Может, кто еще что посоветует, а в таких случаях так вот выкручиваюсь.


  12. Линк#32
    Свой человек
    Псих
     
    Andruwka стараюсь положительно себя зарекомендовать Аватар для Andruwka
    Регистрация:
    27.05.2010
    Сообщений:
    594
    Деньги за посты (Подробнее):
    5564 RUB
    Поставил(а) лайков:
    39
    Получено лайков:  72
    в 55 сообщениях
    12%
    было бы дело только в подсвечивании...а так оно даже не компилит
    я програмлю уже лет 5, на сишке, и всегда пользовал нотпад++, эмкъюэль не стал исключением, тоже с помощью нотпада++ пишу, он говорит, что все нормально, скобки парны везде

    Когда не знаешь, что делать, делай шаг вперед

  13. Линк#33
    отдыхает от форума
    В думах
     
    AnSol хорошая репутация AnSol хорошая репутация AnSol хорошая репутация Аватар для AnSol
    Регистрация:
    22.06.2010
    Пол:
    Мужчина
    Сообщений:
    3,734
    Деньги за посты (Подробнее):
    32177 RUB
    Поставил лайков:
    573
    Получено лайков:  696
    в 545 сообщениях
    19%
    Вот в этом самом нотепад два плюса подсчет есть. Запускаем подсчет на "(", запоминаем число, считаем ")" - при ошибке "')' - unbalanced right parenthesis" они точно разные! У меня правда было "(' - unbalanced LEFT parenthesis" с разницей в одну скобку


  14. Линк#34
    Живая Легенда
    no
     
    ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации Аватар для ppvic
    Регистрация:
    30.05.2010
    Сообщений:
    31,676
    Деньги за посты (Подробнее):
    276261 RUB
    Поставил(а) лайков:
    8,500
    Получено лайков:  21,455
    в 11,818 сообщениях
    68%
    Цитата Сообщение от Andruwka Посмотреть сообщение
    Привет всем, кто посещает эту ветку!)
    Это абзац, такого я не встречал нигде, никакой компилятор так не гнал, ни сишный, ни явашный...по этому прошу помощи
    короче написал я советника, откомпилил и эта ...кхм... компилятор этот выдает последовательно такие вот ошибки "')' - unbalanced right parenthesis", при чем на всех строках, где есть скобки (обе), на пример в такой строчке вылетает ошибка - RefreshRates (); или if ((start==1 && shift==1) || start==-1), а раньше такого не было
    Коллега, не сбивайте других с толку, неполностью разобравшись самостоятельно...
    Раз уж Вы программили на Си - Вы должны знать некую функцию main().
    Так вот в МТ4 она называется start() - это имя резервировано.

    И Ваш пример: if ((start==1 && shift==1) || start==-1)
    Всё ясно, надеюсь? Избегайте резервированных имен при обзывании переменных.

    Что касается второго Вашего примера: RefreshRates () - функция эта не void. Изучите, пожалуйста, внимательно методы языка, прежде чем жаловаться на компилятор...


  15. Линк#35
    Свой человек
    Псих
     
    Andruwka стараюсь положительно себя зарекомендовать Аватар для Andruwka
    Регистрация:
    27.05.2010
    Сообщений:
    594
    Деньги за посты (Подробнее):
    5564 RUB
    Поставил(а) лайков:
    39
    Получено лайков:  72
    в 55 сообщениях
    12%
    Цитата Сообщение от ppvic Посмотреть сообщение
    Коллега, не сбивайте других с толку, неполностью разобравшись самостоятельно...
    Раз уж Вы программили на Си - Вы должны знать некую функцию main().
    Так вот в МТ4 она называется start() - это имя резервировано.

    И Ваш пример: if ((start==1 && shift==1) || start==-1)
    Всё ясно, надеюсь? Избегайте резервированных имен при обзывании переменных.

    Что касается второго Вашего примера: RefreshRates () - функция эта не void. Изучите, пожалуйста, внимательно методы языка, прежде чем жаловаться на компилятор...
    мистика... что касается имен переменных и т.д., на что вы мне указали, исправил одну свою тупейшую ошибку - была ф-я проверки баланса за пределами ф-и init, точнее перед ней - и все эти ошибки (135 штук, ровно столько, сколько было строк с содержанием скобок) пропали...жесть

    Когда не знаешь, что делать, делай шаг вперед

  16. Линк#36
    Живая Легенда
    no
     
    ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации Аватар для ppvic
    Регистрация:
    30.05.2010
    Сообщений:
    31,676
    Деньги за посты (Подробнее):
    276261 RUB
    Поставил(а) лайков:
    8,500
    Получено лайков:  21,455
    в 11,818 сообщениях
    68%
    Цитата Сообщение от Andruwka Посмотреть сообщение
    мистика... что касается имен переменных и т.д., на что вы мне указали, исправил одну свою тупейшую ошибку - была ф-я проверки баланса за пределами ф-и init, точнее перед ней - и все эти ошибки (135 штук, ровно столько, сколько было строк с содержанием скобок) пропали...жесть
    И так бывает...
    Но, всё же, для избежания подобных, непонятных и необъяснимых моментов - старайтесь сначала подробнейшим образом изучить язык.
    Нюансы есть всегда и во всём. Тот же Борландовский С++ меня подчас просто убивал своей тупостью, когда я пытался бестолково, машинно переводить на него АНСИ Си... Так, пример.

    МТ4 - толково там всё. Не работает - ищи ошибки в себе, а не в компиляторе - многажды убеждался.


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

    kotozavr (12.10.2013)

  18. Линк#37
    Свой человек
    Kuznec приемлемый уровень репутации Kuznec приемлемый уровень репутации Аватар для Kuznec
    Регистрация:
    19.06.2010
    Сообщений:
    739
    Деньги за посты (Подробнее):
    7172 RUB
    Поставил(а) лайков:
    126
    Получено лайков:  177
    в 133 сообщениях
    24%
    Написал скриптик, занялся оптимизацией (функции, сокращения и т.д.). Вопрос по массивам. Как правильно передать массив из функции, если это возможно. Т.е. синтаксис не понял. К примеру есть некая функция:
    array () {
    int q[3];
    q[0] = 1;
    q[1] = 2;
    q[2] = 3;
    return(q);
    }

    Как она правильно вызывается из программы? У меня всё время ошибки выскакивают, то лишняя скобка квадратная. то круглая, то ещё что-то.


  19. Линк#38
    Живая Легенда
    no
     
    ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации Аватар для ppvic
    Регистрация:
    30.05.2010
    Сообщений:
    31,676
    Деньги за посты (Подробнее):
    276261 RUB
    Поставил(а) лайков:
    8,500
    Получено лайков:  21,455
    в 11,818 сообщениях
    68%
    Цитата Сообщение от Kuznec Посмотреть сообщение
    Написал скриптик, занялся оптимизацией (функции, сокращения и т.д.). Вопрос по массивам. Как правильно передать массив из функции, если это возможно. Т.е. синтаксис не понял. К примеру есть некая функция:
    array () {
    int q[3];
    q[0] = 1;
    q[1] = 2;
    q[2] = 3;
    return(q);
    }

    Как она правильно вызывается из программы? У меня всё время ошибки выскакивают, то лишняя скобка квадратная. то круглая, то ещё что-то.
    Функция (а точнее, оператор return) не может возвращать массивы. Кроме того, нужно объявить тип функции, прежде чем что-то из неё возвращать.
    Если Вам нужно передать из функции сразу несколько значений - используйте глобальные массивы, т.е. объявленные вне любой функции.


  20. Линк#39
    Свой человек
    Kuznec приемлемый уровень репутации Kuznec приемлемый уровень репутации Аватар для Kuznec
    Регистрация:
    19.06.2010
    Сообщений:
    739
    Деньги за посты (Подробнее):
    7172 RUB
    Поставил(а) лайков:
    126
    Получено лайков:  177
    в 133 сообщениях
    24%
    Глобальный массив вариант, но, видимо, он тоже не подойдёт. Как я понимаю, в массиве можно записать только строго один тип данных. Тогда вариант использовать различные глобальные переменные. Кстати, как объявить, что переменная глобальная?


  21. Линк#40
    Живая Легенда
    no
     
    ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации Аватар для ppvic
    Регистрация:
    30.05.2010
    Сообщений:
    31,676
    Деньги за посты (Подробнее):
    276261 RUB
    Поставил(а) лайков:
    8,500
    Получено лайков:  21,455
    в 11,818 сообщениях
    68%
    Цитата Сообщение от Kuznec Посмотреть сообщение
    Глобальный массив вариант, но, видимо, он тоже не подойдёт. Как я понимаю, в массиве можно записать только строго один тип данных. Тогда вариант использовать различные глобальные переменные. Кстати, как объявить, что переменная глобальная?
    Объявить её вне тела любой функции.
    Если на пальцах - то объявить в самом начале программы, не функции start(), а именно всей программы.
    Где-нибудь после #property.
    Прочие же переменные видны только в той функции, где объявлены, а также в вызванных ею (но насчет последнего на 100% не уверен).


  22. Линк#41
    Частый гость
    tol64 стараюсь положительно себя зарекомендовать Аватар для tol64
    Регистрация:
    19.07.2010
    Пол:
    Мужчина
    Сообщений:
    120
    Деньги за посты (Подробнее):
    1447 RUB
    Поставил лайков:
    15
    Получено лайков:  9
    в 5 сообщениях
    8%
    Цитата Сообщение от Nick'Otin Посмотреть сообщение
    Использование языка программирования MQL4 выводит трейдеров на качественно новый уровень торговли - автотрейдинг.
    У меня такой вопрос. Если я только начал изучать программирование, стоит ли изучать сначала MQL4, а потом переходить на MQL5? Или лучше сразу начинать с MQL5, так как есть кардинальные отличия.


  23. Линк#42
    Живая Легенда
    no
     
    ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации ppvic наивысший уровень репутации Аватар для ppvic
    Регистрация:
    30.05.2010
    Сообщений:
    31,676
    Деньги за посты (Подробнее):
    276261 RUB
    Поставил(а) лайков:
    8,500
    Получено лайков:  21,455
    в 11,818 сообщениях
    68%
    Цитата Сообщение от tol64 Посмотреть сообщение
    У меня такой вопрос. Если я только начал изучать программирование, стоит ли изучать сначала MQL4, а потом переходить на MQL5? Или лучше сразу начинать с MQL5, так как есть кардинальные отличия.
    До MQL5 еще нужно дожить, как говорится...
    А именно - есть у меня сомнения, что тотальный переход на МТ5 состоится в ближайшее время.
    Так что начинайте с MQL4, да и особенных отличий в принципах языка не предвидится - будут просто другие функции, в чем и заключается основное отличие.


  24. Линк#43
    Свой человек
    vasili приемлемый уровень репутации Аватар для vasili
    Регистрация:
    16.03.2010
    Пол:
    Мужчина
    Сообщений:
    698
    Деньги за посты (Подробнее):
    7978 RUB
    Поставил лайков:
    28
    Получено лайков:  189
    в 161 сообщениях
    27%
    Цитата Сообщение от ppvic Посмотреть сообщение
    До MQL5 еще нужно дожить, как говорится...
    А именно - есть у меня сомнения, что тотальный переход на МТ5 состоится в ближайшее время.
    Так что начинайте с MQL4, да и особенных отличий в принципах языка не предвидится - будут просто другие функции, в чем и заключается основное отличие.
    Полность согласен... я тоже думаю что как минимум года 3 с нами будет старый добрый mgl4

    пишу советники (скрипты,индикаторы) за еду...тут

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

    Chenivi (07.08.2011)

  26. Линк#44
    В начале пути
    kevin стараюсь положительно себя зарекомендовать Аватар для kevin
    Регистрация:
    19.07.2010
    Сообщений:
    11
    Деньги за посты (Подробнее):
    142 RUB
    Поставил(а) лайков:
    1
    Получено лайков:  0
    в 0 сообщениях
    0%
    ВАЖНО!
    Обратите внимание, минимальное значение индекса элемента массива - 0 (ноль), а максимальное значение - на единицу меньше, чем количество элементов в соответствующем измерении, указанное при объявлении массива.

    +

    Все массивы являются статическими, т.е. имеют вид static, даже если при инициализации это явно не указано. Это значит, что все элементы массива сохраняют свои значения в промежутке между вызовами на исполнение функции, в которой объявлен массив

    Так что будьте предельно внимательны к содержимому массивов.


  27. Линк#45
    В начале пути
    kevin стараюсь положительно себя зарекомендовать Аватар для kevin
    Регистрация:
    19.07.2010
    Сообщений:
    11
    Деньги за посты (Подробнее):
    142 RUB
    Поставил(а) лайков:
    1
    Получено лайков:  0
    в 0 сообщениях
    0%
    Вопрос на засыпку, а с декомпиляторами никто случайно не сталкивался? А то я свой случайно потерял, но это не суть
    Собственно вопрос: Как можно максимально обезопасить откомпиленный файл от подобных софтинок? К примеру есть *.ex4 советник\скрипт, и при его декомпиляции получался не исходный код, а какая-нить "пурга". К сожалению в MQL4 не нашел никаких функций типа "eval" и т.п. Кто и как защищает свои исходники?



Страница 2 из 121
Первая 1 2 3 12 ... Последняя ◄╝

Похожие темы

  1. Общие рекомендации для начинающих
    от Gold в разделе Трейдерские университеты
    Replies: 5774
    Последнее сообщение: 28.10.2019, 21:14
  2. Основы скальпинга на М1 для начинающих.
    от totsam в разделе Скальпинг и пипсовка
    Replies: 241
    Последнее сообщение: 18.06.2014, 18:17
  3. Топ-60 ошибок начинающих предпринимателей
    от Volangott в разделе Свободное общение
    Replies: 0
    Последнее сообщение: 30.01.2014, 18:42
  4. Форекс для начинающих
    от Sova в разделе Доска объявлений
    Replies: 2
    Последнее сообщение: 07.09.2011, 19:19
  5. Первые Шаги Для Начинающих
    от akella в разделе Доска объявлений
    Replies: 4
    Последнее сообщение: 05.10.2010, 23:38

Метки этой темы