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

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


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

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



double array1[][6];
ArrayCopyRates(array1,"EURUSD", PERIOD_H1);
Print("Current bar ",TimeToStr(array1[0][0]),"Open", array1[0][1]);



Не, надо как раз с файла .hst и передать в архив данные лоу, хейдж, макс, мин.... с графика можно забрать, только не в этой ситуации


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

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

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

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

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

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

Перейти

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

Перейти

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

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


Не, надо как раз с файла .hst и передать в архив данные лоу, хейдж, макс, мин.... с графика можно забрать, только не в этой ситуации


Грааль строишь? :)

Видел такое, но под рукой нет. Обращаешься к .hst файлу как обычному файлу данных и читаешь, что надо. Посмотри скрипты, которые генерируют .hst файлы, там видно как они строятся.
Ссылка на сообщение
Поделиться на другие сайты

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

парни, еще раз обращаюсь. Нужна помощь профи! Павел, большое спасибо за новый урок!!!! Завтра начну разбирать его, ждем новых новинок!
зона - это когда есть МА, и +- 10 пп в стороны.
Моя проблема: нужно, что бы как только цена подходила к *зоне* сова открывала покупку и отложку на продажу на заданное количество пунктов. У меня толком не выходит написать функцию.
Вот моя функция

Цитата


PriceMA = iMA(Symbol(), 0, period, 0, MODE_SMMA, PRICE_CLOSE, 0) + Step * Point;
PriceMA1 = iMA(Symbol(), 0, period, 0, MODE_SMMA, PRICE_CLOSE, 0) - Step * Point;


Одна из них для условие на покупку, другая на продажу. К индикатору нужно добавить область в размере 10 пп в обе стороны (в обе стороны у меня не получается, потому отдельные функции) . Кто то может отредактировать функцию? Буду очень благодарен!!!
Ссылка на сообщение
Поделиться на другие сайты

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


парни, еще раз обращаюсь. Нужна помощь профи! Павел, большое спасибо за новый урок!!!! Завтра начну разбирать его, ждем новых новинок!
зона - это когда есть МА, и +- 10 пп в стороны.
Моя проблема: нужно, что бы как только цена подходила к *зоне* сова открывала покупку и отложку на продажу на заданное количество пунктов. У меня толком не выходит написать функцию.
Вот моя функция

Цитата


PriceMA = iMA(Symbol(), 0, period, 0, MODE_SMMA, PRICE_CLOSE, 0) + Step * Point;
PriceMA1 = iMA(Symbol(), 0, period, 0, MODE_SMMA, PRICE_CLOSE, 0) - Step * Point;


Одна из них для условие на покупку, другая на продажу. К индикатору нужно добавить область в размере 10 пп в обе стороны (в обе стороны у меня не получается, потому отдельные функции) . Кто то может отредактировать функцию? Буду очень благодарен!!!

>К индикатору нужно добавить область в размере 10 пп в обе стороны
Ты чет написал для меня например не понятное, одно число не может быть одновременно больше и меньше значения iMA. Поэтому у тебя две "функции". Дальше можно через оператор IF привести к выполнению желаемого действия.
Ссылка на сообщение
Поделиться на другие сайты

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

Почему может не работать советник с трейлингом на золоте, если на других парах он работал?

И как его допилить, чтобы он автоматом подхватывал все открытые ордена на графике, на котором установлен?

TrailingRatchetB.mq4

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

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

Добрый день сильно не бить x_x не могу сообразить, как вытащить угол наклона ТМА из индикатора?

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

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


Почему может не работать советник с трейлингом на золоте, если на других парах он работал?

И как его допилить, чтобы он автоматом подхватывал все открытые ордена на графике, на котором установлен?


что бы тралил все ордера на графике, то наверное, нужно убрать Магик в советнике. Вписать "0" и все.
Ссылка на сообщение
Поделиться на другие сайты

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


Помогите исправить ошибку, у меня не выходит(((


в чем ошибка то?
для начала код не компилируется, выдает ошибку
со скобками напутал вот здесь
void Trailing()
{
for ( int i=0; i


а надо так
void Trailing()
{
for ( int i=0; i {
Ссылка на сообщение
Поделиться на другие сайты

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



Помогите исправить ошибку, у меня не выходит(((


в чем ошибка то?
для начала код не компилируется, выдает ошибку
со скобками напутал вот здесь
void Trailing()
{
for ( int i=0; i


а надо так
void Trailing()
{
for ( int i=0; i {



большое спасибо! да, именно здесь я накосячил. Не заметил скобки,(((
Ссылка на сообщение
Поделиться на другие сайты

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

Здравствуйте!
Подскажите, как сделать, чтобы одним из условий открытия ордера было изменение цвета свечей Heiken Ashi. Там во внешних переменных только цвета, задействовано четыре буфера, ничего толкового не выходит.

И еще: например сделка закрылась по SL. Как в советнике сделать TimeOut (в минутах, часах, барах -- неважно), чтобы какое-то время он ничего не делал, по истечении заданного времени опять продолжал работу.

С уважением.

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

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


Почему может не работать советник с трейлингом на золоте, если на других парах он работал?

И как его допилить, чтобы он автоматом подхватывал все открытые ордена на графике, на котором установлен?


1. Некорректно выставленные уровни, высокая волатильность, нет нормализации цены в коде...
2.
Цитата

При запуске эксперта ему необходимо указать уникальный номер (тикет) открытой позиции (iTicket)


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

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


В коде всё завязано на тикет


В том то и дело. А тикет стоит в параметрах функции. Я еще слабоват в MQL, с параметрами работать не умею.
Но ведь можно вставить кусок кода для перебора открытых позиций и передать тикет в фунцию трала?
Ссылка на сообщение
Поделиться на другие сайты

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


Но ведь можно вставить кусок кода для перебора открытых позиций и передать тикет в фунцию трала?

Да. Так, наверно, проще.
Должен тралить все ордера про символу:

TrailingRatchetB_02.mq4

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

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


Cerebellum, с этим понятно.

А как написать: if(ордер закрылся по SL) Sleep();
void Sleep( int milliseconds) .

Вот что неясно.



как вариант: при использовании виртуального СЛ, когда сов сам закрывает ордер, то передавать управление соответствующей функции.
вар 2: перебрать закрытые ордера, найти последний, определить его тип, сравнить цену открытия с ценой закрытия - поймешь закрылся по ТП или по СЛ, если по СЛ - сохраняешь его тикет и вкл. паузу, тикет нужно сохранить что бы повторно не включать паузу. Но я бы сделал паузу привязав к торговым условиям - после открытия ордера сов не открывает больше по данному условию новых ордеров(если открытый до этого закрылся по стопу) пока цена допустим не закроется опять выше\ниже МА или твои условия. з.ы. в программировании 1 месяц, так что могу глубоко заблуждаться.
Ссылка на сообщение
Поделиться на другие сайты

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


Должен тралить все ордера про символу:


Попробую. А что с iTicket делать? Убрать из внешних переменных или как?
Ссылка на сообщение
Поделиться на другие сайты

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

Попробую. А что с iTicket делать? Убрать из внешних переменных или как?

Можно ничего не делать. Если мешает, объявить как обычную...
Ссылка на сообщение
Поделиться на другие сайты

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


Должен тралить все ордера про символу:


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

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


Не тралит. Закрывает ордер на первом тейке вместо перевода в безубыток.


Проверил. Тралит.
Поставил: iPf_level_1 = 100, iPf_level_2 = 200, iPf_level_3 = 300 (пятизнак) - всё делает правильно.
Ссылка на сообщение
Поделиться на другие сайты

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


Проверил. Тралит.


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

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


Может я чего с пунктами напутал. Я на золоте пытаюсь тралить. Получается нужно тейк в новых пунктах ставить?


Советник не проверяет Digits. Если брокер пятизнак, нужно множить на 10.
Если на золоте два знака после запятой и спред пунктов 50, то профит 500, 1000, 1500 (можно и поменьше, конечно)
Ссылка на сообщение
Поделиться на другие сайты

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

Привет всем!
Недавно начал изучать MQ4. Понравились Ваши уроки. ДОХОДЧИВО!!! Спасибо!
Есть такая задача. У меня есть советник в который я хочу добавить долив ордеров по тренду.
Сделал просто! При достижении трала, пунктов включения трала в настройках, меняется магик, и сова автоматически выставляет новый ордер, так как изменился магик.
А ордер с первым магиком тралится дальше. И так идет долив пока идет тренд, ордера собираются и при откате закрываются согласно пункта TralStop.
А оставшийся ордер начинает мартинится!
Работа в два окна Long Short.
Сову заказывал у программиста, но он исчез похоже с концами.
Надо исправить некоторые недочеты.
Например.
1. При открытии следующего ордера он начинает тралить свой ордер, а так же все в том же направлении (ручные и с другими магиками от другой совы),
Это я исправил, но теперь трал не тянется за ценой а перескакивает при открытии очередного ордера. (может быть так оно и лучше).
Как зделать что бы трал тянулся за ценой?

2. После выходных, при открытии рынка, Он начинает с магика который в настройках, а надо что бы он подхватывал тот что остался на выходные.

Вот кусок из совы:

if(tip==0 && tp1!=tp && mn1==magic1 && ko1>1)
OrderModify(ticket1,price1,OrderStopLoss(),tp1,0);

if(tip==1 && tp2!=tp && mn1==magic2 && ko2>1)
OrderModify(ticket1,price1,OrderStopLoss(),tp2,0);

if (UseTral)
{
if(tip==0 && sl12>=NormalizeDouble(sl11+TralStep*Point,Digits) && Bid-prbp>=TralStart*Point && mn1 OrderModify(ticket1,price1,sl12,tp,0);

if(tip==1 && (sl13=TralStart*Point && mn1 OrderModify(ticket1,price1,sl13,tp,0);


if(tip==0 && sl12>=NormalizeDouble(sl11+TralStep*Point,Digits) && Bid-price1>=TralStart*Point && mn1==magic1 && ko1==1)
{
magic1=magic1+1;

return(0);
}

if(tip==1 && (sl13=TralStart*Point && mn1==magic2 && ko2==1)
{
magic2=magic2+1;

return(0);
}

Буду очень благодарен если подскажите!!!
Сову выкладывать не буду, слишком дорого заплатил за него.
Есть Стратегия Ловля тренда, на другом форуме мы с партнерами ведем тему Если надо выяснит алгоритм, то там есть все по стратегии Загуглите Советник RealForex!
Спасибо!
В общем то мы можем и на этот форум переселиться! У нас много наработок!

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

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

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

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

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

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

Войти

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

Войти

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


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

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