Перейти к содержанию

Обучение языку MQL4 под MetaTrader 4


Рекомендуемые сообщения

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Есть ли возможность изменять внешние переменные в советниках , запущенных в одном терминале , с помощью "управляющего" советника. Конкретно, в "идентичном илане" нужно изменить методы закрытия корзин, в зависимости от количества колен.




Можно, через Global Variables

Всем профитов! Изменено пользователем Pavel888
Ссылка на сообщение
Поделиться на другие сайты

  • Ответов 6,8k
  • Создано
  • Последний ответ

Популярные авторы

Популярные авторы

Популярные посты

Смотрим видео-уроки, изучаем MQL:       Скачать видеокурс «MQL программирование. Как самому написать форекс советник/ индикатор/ скрипт»   P.S. Тема про Обучение MQ

Перейти

Циклы цикл for Иногда необходимо повторять одно и то же действие несколько раз подряд. Для этого используют циклы. К примеру, мы хотим проанализировать последние 10 баров и выяснить наименьшую цен

Перейти

Речь идет о том, что не будет значимых нововведений. А только баги периодически будут править. А вот все новое мол - в МТ5. Когда они вживую сказали то же самое на конференции в Москве, я уточнил: "То

Перейти
Обучение языку MQL4 под MetaTrader 4 Опубликовано

Добрый день xbms.
Известная ситуация - надо частично закрыть ордер, а стоп-лосс перевести в безубыток.
Существует ли такая функция, которая не просто закрывает (удаляет) ордер, а закрывает его частично?

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Добрый день xbms.
Известная ситуация - надо частично закрыть ордер, а стоп-лосс перевести в безубыток.
Существует ли такая функция, которая не просто закрывает (удаляет) ордер, а закрывает его частично?




bool OrderClose int ticket, double lots, double price, int slippage, color Color=CLR_NONE)

Закрытие позиции. Возвращает TRUE при успешном завершении функции. Возвращает FALSE при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

Параметры:
ticket - Уникальный порядковый номер ордера.
lots - Количество лотов для закрытия.
price - Цена закрытия.
slippage - Значение максимального проскальзывания в пунктах.
Color - Цвет стрелки закрытия на графике. Если параметр отсутствует или его значение равно CLR_NONE, то стрелка на графике не отображается.


я ответил на Ваш вопрос?
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Спасибо xbms, ответили.

Более конкретный вопрос применительно к Вашему 3-му уроку.
Цена пересекает серединный уровень ТМА, срабатывает OrderClose c лотом равным,например, половине лота открытия ордера, далее OrderModify передвигает стоп-лосс в безубыток. Далее по сценарию урока ждем пересечения верхней (нижней) границы ТМА. Алгоритм правильный или есть какие-то подводные камни?

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Спасибо xbms, ответили.

Более конкретный вопрос применительно к Вашему 3-му уроку.
Цена пересекает серединный уровень ТМА, срабатывает OrderClose c лотом равным,например, половине лота открытия ордера, далее OrderModify передвигает стоп-лосс в безубыток. Далее по сценарию урока ждем пересечения верхней (нижней) границы ТМА. Алгоритм правильный или есть какие-то подводные камни?



правильный-ли алгоритм - ты узнаешь тогда, когда визуально в тестере его проверишь... :)
а тут мы ждём ваших домашних заданий, т.е. уже решений...
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Вопрос к знатокам. Столкнулся с такой проблемой: Уточняю сразу работу проводил на выходных. Открыл декомпилированный советник, провел там изменения, скомпилировал его, а в папке с терминалом файл ex4 не появляется, хотя раньше появлялся всегда.
Подскажите с чем это может быть связано? Может работу нужно проводить в рабочие дни, когда и идет торговля и работают терминалы?

Изменено пользователем Nikodim
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Вопрос к знатокам. Столкнулся с такой проблемой: Уточняю сразу работу проводил на выходных. Открыл декомпилированный советник, провел там изменения, скомпилировал его, а в папке с терминалом файл ex4 не появляется, хотя раньше появлялся всегда.
Подскажите с чем это может быть связано? Может работу нужно проводить в рабочие дни, когда и идет торговля и работают терминалы?



Всем Привет! У меня похожая проблема. После редактирование советника, ошибок и предупреждении "0"! В разделе советников новый продукт появляется, а вот на график не перетаскивается... в журнале тестера пишет - Cannot open file 'D:\MT4\ROBO\experts\ggggg.ex4' on the ,

С чем это связано?
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


xbms, добрый день

При частичном закрытии ордера, оставшийся ордер сохраняет magic исходного ордера?



Да, сохраняет...
Вы ведь закрываете только часть объёма этого ордера...


Добавлено: 04-06-2013 05:43:49

Кстати, а где домашние задания?
Кто-то вообще смотрит уроки?
Нужны они кому-то?
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано



xbms, добрый день

При частичном закрытии ордера, оставшийся ордер сохраняет magic исходного ордера?



Да, сохраняет...
Вы ведь закрываете только часть объёма этого ордера...


Добавлено: 04-06-2013 05:43:49

Кстати, а где домашние задания?
Кто-то вообще смотрит уроки?
Нужны они кому-то?



Конечно нужны. Вот, например, Ваше задание немного измененное: половина позиции закрывается при пересечении срединной линии ТМА, а стоп-лосс переводится в безубыток.
ЗЫ: перед закрытием позиции у верхней/нижней границы ТМА, я вставил в код comment чтобы определить magic ордера перед его закрытием. Но comment ничего не показывает.

Test3_01.mq4

  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Простите за тупость, но я так и не понял нахрена нужен параметр PipStop, если есть Indent? Что он меняет (делает)?


Добавлено: 08-06-2013 16:57:51

Уважаемый учитель, а где мне найти Тма? Я прошел третий урок, но писал советник по TMA with Distances, сделок он не открывает вообще. Причина в разногласиях индикаторов? Перерыл весь портал, просто Тма нет. Прикрутил ко второму советнику трейлингстоп .

Test2__байстоп_селстоп_с_трейлингстопом.mq4.txt

Изменено пользователем Серега7317
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Здрасте всем, это мой 1 пост :-H
А я всё ещё пытаюсь циклы покурить и понимаю, что не хватает примеров из нормальных (стандартных) индикаторов, как там эти циклы там работают.
Уважаемый сенсей xbms, кусочки кода что-то говорят, только опытным прогерам, а остальным (это я про себя x_x) надо картину целиком видеть, что-бы понять, где, как и зачем, это применяется. И лучше в стандартных индикаторах, например - МА, RSI, volume и т.п.
Ну а в целом спасибон, я всё понимаю, что никто никому ничего не должен и всё такое. \M/

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Простите за тупость, но я так и не понял нахрена нужен параметр PipStop, если есть Indent? Что он меняет (делает)?


Добавлено: 08-06-2013 16:57:51

Уважаемый учитель, а где мне найти Тма? Я прошел третий урок, но писал советник по TMA with Distances, сделок он не открывает вообще. Причина в разногласиях индикаторов? Перерыл весь портал, просто Тма нет. Прикрутил ко второму советнику трейлингстоп .


Tma и есть старый-добрый TMA with Distances...
Просто у меня он переименован.


Добавлено: 10-06-2013 08:30:12


Здрасте всем, это мой 1 пост :-H
А я всё ещё пытаюсь циклы покурить и понимаю, что не хватает примеров из нормальных (стандартных) индикаторов, как там эти циклы там работают.
Уважаемый сенсей xbms, кусочки кода что-то говорят, только опытным прогерам, а остальным (это я про себя x_x) надо картину целиком видеть, что-бы понять, где, как и зачем, это применяется. И лучше в стандартных индикаторах, например - МА, RSI, volume и т.п.
Ну а в целом спасибон, я всё понимаю, что никто никому ничего не должен и всё такое. \M/



Привет!
Если не ошибаюсь я в первом уроке расписывал циклы и достаточно простые примеры, также объяснял зачем они нужны. Вам нужно просто поэксперементировать с ними, посмотреть как и что работает с ними и без них...
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

int start() //Поехали!
{
int i,counted_bars=IndicatorCounted(); //что происходит?

if(Bars
if(counted_bars for(i=1;i
i=Bars-MomPeriod-1; // и вот так по каждой строчке пояснить..
if(counted_bars>=MomPeriod) i=Bars-counted_bars-1; //что, где, когда и почему.
while(i>=0) //ещё цикл, а зачем?
{
MomBuffer=Close*100/Close[i+MomPeriod]; //моментум пошёл
i--; //вернули бар, для чего?
}
return(0);
}

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

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Уважаемый V!

Вы пока полезли в дебри, попробуйте разобраться с чем-нить попроще...

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


int start() //Поехали!
.........

}

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



Почитай учебник на MQL4: _http://book.mql4.com/ru/content
Если терпения хватит - через пару месяцев что-нить напишешь...
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано



xbms, добрый день

При частичном закрытии ордера, оставшийся ордер сохраняет magic исходного ордера?



Да, сохраняет...
Вы ведь закрываете только часть объёма этого ордера...


Добавлено: 04-06-2013 05:43:49

Кстати, а где домашние задания?
Кто-то вообще смотрит уроки?
Нужны они кому-то?


Конечно нужны, к 1 уроку дз не делал, вот ко второму сделал, а третье сейчас мучаю.

Добавлено: 15-06-2013 09:57:29

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

Test2ДЗ.ex4
Test2ДЗ.mq4
Test2ДЗ2.ex4
Test2ДЗ2.mq4

Изменено пользователем Dimasyok
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Сделал !
Усталость берет свое. С 3 до 6 утра делал этот урок. Немудрено и попутать какие то запятые )
Ну что, смотря на график так и хочется прибавить функцию на дополнение лотности в обратную сторону.
Посмотрите сами, баланс высыхает из-за пересидки и добавления в изначальную сторону. А это Смерть !

Прошу программера доработать вариант открытия в противоположном направлении.


К примеру

Открывается первая
прошли степ
смотрим она висит
Открываем вторую (противоположно)
естественно с умножением лота
если цена в направлении второй - закрыли обе с прибылью
если цена в направлении первой закрыли первую
открыли третью в направлении первой
учли просадку по второй и умножили лот
прошел степ
Открыли четвертую в направлении второй
учли просадку по открытым ордерам


Да , это былобы ССУПЕР )))

Изменено пользователем Шамиль
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Дружище, зачем тут выкладывать такие портянки?
Достаточно просто прикрепить файл...

По поводу ошибки, загляние в функцию CountTrades()...
всё-ли там правильно?
в частности в этой строке:

for(int i=OrdersTotal()-1; i


Добавлено: 22-06-2013 03:31:33

кстати, это не единственная ошибка...
предлагаю более внимательно изучить код.
нам нужна рабочая версия советника с домашним заданием :)
Изменено пользователем xbms
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Вот тоже столкнулся с проблемой, открывается только 1 ордер :(
Задание вроде выполнил, посмотрите пожалуйста что не так...

Martin.mq4
Martin.ex4

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

1. Нажимаешь вверху на кнопку "навигатор"
2. Справа появится меню, выбери внизу вкладку "Поиск"
3. Скопируй функцию
4. Вставь в меню поиска
5. Вуаля, описание функции внизу

Безымянный.jpg

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


1. Нажимаешь вверху на кнопку "навигатор"
2. Справа появится меню, выбери внизу вкладку "Поиск"
3. Скопируй функцию
4. Вставь в меню поиска
5. Вуаля, описание функции внизу

Даже этот способ не работает! Все пошел вагоны разгружать!(((
Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Специальное предложение


  • Рекомендуемые брокеры

  • ×
    ×
    • Создать...