Jump to content
Rosh

Индикаторы и советники для МТ4

Recommended Posts

Rosh

Дабы не искать по всем ресурсам инета и других форумов, заведена данная ветка. Только для файлов-исходников МТ4. Обсуждение правильности/перспективности конкретного индикатора или эксперта, думаю, лучше вести в других ветках. Взято с http://cdspam.narod.ru/index.html#mt

Добавление новых индикаторов/советников приветствуется.

 

Ветка по индикаторам для МТ3 находится здесь http://forum.alpari-idc.ru/showthread.php?t=24586&highlight=%C8%ED%E4%E8%EA%E0%F2%EE%F0%FB

 

 

Содержание ( от lukas1 )

 

1 ссылка

http://forum.alpari-idc.ru/thread24588.html'>http://forum.alpari-idc.ru/thread24588.html пост #2

Торговля одним кликом мышки. Вся инструкция по использованию внутри скрипта, читайте.

send_pending_order_161.mq4

 

2 ссылка

http://forum.alpari-idc.ru/thread24588.html пост #7

Скрипт. Выводит закрытые позиции и статистику по ним.

report_567.mq4

 

3 ссылка

http://forex.kbpauk.ru/showflat.php/.../fpart/46/vc/1 #141026

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

 

4 ссылка

http://forum.alpari-idc.ru/thread24588-10.html #97

Скрипт Штирлиц.

james_bond-1_289.mq4

http://forum.alpari-idc.ru/thread24588-14.html #137

скрипт Штирлиц (James Bond). для трассировк сделок , совершенных на демо или реал

james_bond-1_542.mq4

 

5 ссылка

http://forum.alpari-idc.ru/thread24588-11.html #101

Скрипт, который закрывает все открытые позиции.

close-all-orders_520.mq4

 

6 ссылка

http://forum.alpari-idc.ru/thread24588-23.html # 223

Скрипт выполнен для "заклейки" дыр истории

dehole_hst_138.mq4

 

7 ссылка

http://forum.alpari-idc.ru/thread24588-30.html #293

Скрипт, нормализующий историю, автор Candid

normalizehistory_206.mq4

 

8 ссылка

http://forum.alpari-idc.ru/thread30738.html'>http://forum.alpari-idc.ru/thread30738.html'>http://forum.alpari-idc.ru/thread30738.html'>http://forum.alpari-idc.ru/thread30738.html'>http://forum.alpari-idc.ru/thread30738.html'>http://forum.alpari-idc.ru/thread30738.html'>http://forum.alpari-idc.ru/thread30738.html'>http://forum.alpari-idc.ru/thread30738.html'>http://forum.alpari-idc.ru/thread30738.html #2

Скрипт "Закачать все котировки"

Закачать все котировки.mq4

http://forum.alpari-idc.ru/thread30738-4.html #37

Обновлена редакция скрипта "Закачать все котировки"; можно получить около 16000 баров.

Закачать все котировки.mq4

 

9 ссылка

http://forum.alpari-idc.ru/thread30738.html #3

Скрипт "Закрыть все ордера"

Закрыть все ордера.mq4

 

10 ссылка

http://forum.alpari-idc.ru/thread30738.html #4

Скрипт "Удалить все отложенные ордера"

Удалить все отложенные ордера.mq4

 

11 ссылка

http://forum.alpari-idc.ru/thread30738.html #5

Скрипт "Открыть позицию" + выскакивает окошко с описанием ошибки.

Buy.mq4

Sell.mq4

 

12 ссылка

http://forum.alpari-idc.ru/thread30738.html #6

Скрипт Открыть позицию как процент от максимальной; + выскакивает окошко с описанием ошибки.

Buy Percent.mq4

Sell Percent.mq4

 

13 ссылка

http://forum.alpari-idc.ru/thread30738.html #7

Закрыть прибыльные ордера Buy и Sell с прибылью Profit пунктов и выше на всех графиках.

Закрыть прибыльные ордера.mq4

 

14 ссылка

http://forum.alpari-idc.ru/thread30738.html #8

Скрипт Развернуть все ордера. Закрывает по порядку ордера Buy или Sell и открывает противоположный с тем же символом, количеством лотов, нулевым стоп лоссом и нулевым тейк профитом.

Развернуть все ордера.mq4

 

15 ссылка

http://forum.alpari-idc.ru/thread30738.html #9

Скрипт "Уровень безубытка".

Показывает значение уровня безубытка. На этом уровне суммарный профит всех позиций Buy и Sell равен 0. Полезен для начального сдвига SL/TP открытых ордеров при работе в тренде или для принятия решения о закрытии части или всех позиций.

Уровень безубытка.mq4

 

16 ссылка

http://forum.alpari-idc.ru/thread30738.html #10

Хотите быстро узнать, сколько всего лотов Вы можете купить или продать в данный момент для любого инструмента? Запустите скрипт "Информация о счете и свойства символа". Скрипт выводит всё, что может о счете и о текущем символе.

Инфо.mq4

 

17 ссылка

http://forum.alpari-idc.ru/thread30738-5.html #49

скрипт – чтение новостей через ИнтернетЭксплорер

!!!News.mq4

 

18 ссылка

http://forum.alpari-idc.ru/thread30738-6.html #51

СКРИПТ, который дублирует сделки,с другого счёта. Есть и у Игоря Кима…

Dubl.rar

 

19 ссылка

http://forum.alpari-idc.ru/thread24588-59.html #586

скрипт "About", который выдает название директории, из которой запущен данный терминал

About.mq4

 

20 ссылка

http://forum.alpari-idc.ru/thread24588-70.html #691

Скрипт уменьшающий на 2, позиции по инструменту

Уменьшить на 2 поз_ по инструм_.mq4

 

21 ссылка

http://forum.alpari-idc.ru/thread24588-83.html #821

Комплект скриптов от KimIV выставление SL & TP

SetSL&TP.rar

 

22 ссылка

http://forum.alpari-idc.ru/thread24588-91.html #908

Скрипт, который у всех открытых ордеров определенного типа выставляет TakeProfit в "безубыток". Т.е. есть, допустим, 3 ордера BUY. Открытых в разных местах. Нужно выстовить такой TP, что-бы при достижении оного получился нулевой профит. Ну или заранее указанный.

e-MovingInWL.rar

 

23 ссылка

http://forum.alpari-idc.ru/thread24588-108.html #1080

Скрипт реализует пример передачи котировок по необходимым символам срествами dll в любую стороннюю программу

example.zip

 

24 ссылка

http://forum.alpari-idc.ru/thread24588-112.html #1111

при одном нажатии клавиши закрывало ордер и открывало ордер в обратную сторону желательно с всегда одним и тем же заранее установленным стоп лоссом

Reverse.rar

 

25 ссылка

http://forum.alpari-idc.ru/thread24588-114.html #1134

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

CloseAll.rar

DeleteAllOrders.rar

 

26 ссылка

http://forum.alpari-idc.ru/thread24588-115.html #1142

скрипт, который будет ставить стоп на заданное кол-во пунктов, при открытии сделки с рынка

Script_SetSL&TP.mq4

 

27 ccылка

http://forum.alpari-idc.ru/thread24588-116.html #1151

Скипты открывают ордера максимально близко к рынку +3 пункта. Написаны специально для пипсовки

Test_Market_Buy.mq4

Test_Market_Sell.mq4

new_mt4_755.zip

mt4_164.zip

  • Thanks 1

Share this post


Link to post
Share on other sites
Rosh

Очень интересный скрипт от komposter'a . В будущем может быть востребован интрадейщиками (когда МТ4 в реал запустят). Торговля одним кликом мышки. Вся инструкция по использованию внутри скрипта, читайте.

 

PS Кидать в папку Scripts

 

PSS И не забудем сказать спасибо komposter'у.

:smt056:smt109

send_pending_order_161.mq4

post-18076-1404209353,2152_thumb.png

Share this post


Link to post
Share on other sites
Rosh

Эксперт, торгующий в границах дипазона или от границ тренда. Автор Mak.

Необходимо провести линии синего(Blue) и красного (Red) цветов. Задать описание "Take", "Sell", "Buy","Stop" для этих линий. Толщину и стиль линий эксперт установит сам.

Вот краткое описание автора:

Как эксперт работает.

1. Он понимает только горизонтальные и трендовые линии.

2. Рисуем на чарте произвольное число горизонтальных и трендовых линий.

3. В свойствах линии в Описании пишем слово обозначающее смысл линии - Buy, Sell, Stop, Take.

4. Смотрим как оно работает :))

5. При перемещении линий вручную, все ордера должны автоматом скорректироваться.

 

Если имеем несколько линий одинакового типа, эксперт выбирает ближайшую к цене.

Кроме того эксперт различает тейки и стопы для ордеров Buy и Sell.

Т.е. линии типа Stop могут быть и выше цены и ниже цены (первые для ордеров Sell, вторые для Buy).

При открытии позиции делается реверс (т.е. противоположная закрывается)

 

Применение: торговля в диапазоне, сользящие каналы Баришпольца и т.д.

 

Надписи на графике сделал я сам для наглядности. Проверил, советник работает.

tradechannel_171.mq4

post-18076-1404209354,0643_thumb.gif

Share this post


Link to post
Share on other sites
Rosh

Код для отсылки SMS при изменении цены на заданное количество пунктов. По умолчанию в этом советнике значение порога отсылки (Level) равно 10 пунктам. Работает через глобальную переменную LastBid, поэтому вешать один и тот же советник на несколько инструментов без переделки нельзя , SMS-ки быстро опустошат ваш счет и телефон замолчит (я за час получил на свой почтовый ящик более 500 сообщений как-то).

smsalert_469.mq4

Share this post


Link to post
Share on other sites
Rosh

Еще 5 советников с англоязычного форума.

 

Внимание! Советники в архиве не работают, так как содержат мелкие синтаксические ошибки. Вроде того, что в функции OrderSend(...) пропущен параметр Symbol().

Доработать их наверно можно.

 

 

Стирать не стал, пусть останутся для истории. :D

__4_experts_from_yahoo_669.zip

Share this post


Link to post
Share on other sites
Rosh

Вторая версия графического эксперта от Mak'а

http://www.metaquotes.ru/forum/4736/

 

Пояснения автора:

Изменений 2.

 

1. Добавлен контроль MagicNumber и соответствующий параметр.

Если параметр <= 0, то эксперт как и раньше обрабатывает все ордера.

Если параметр > 0, то он помечает свои ордера и управляет только ими.

Маджик также пишется в коммент к ордеру для контроля чей ордер.

 

2. Введен ТрейлингСтоп и соответствующий параметр.

Трейлинг задается в пипсах.

Если он <= 10, то работает как раньше без трейлинга.

Если он > 10, то используется ближайшее к цене значение из трейлинга и линии стопа.

Да, есть еще одно изменение.

 

Собственно себе я его давно сделал, но в опубликованной в начале версии его нет.

 

Линия Buy дополнительно выполняет роль SellTake.

Линия Sell дополнительно выполняет роль BuyTake.

Линия Stop ниже цены дополнительно выполняет роль SellTake.

Линия Stop выше цены дополнительно выполняет роль BuyTake.

Линия Take ниже цены дополнительно выполняет роль BuyStop.

Линия Take выше цены дополнительно выполняет роль SellStop.

 

Получается, что линии Stop и Take дублируют друг друга.

А линия Sell не только открывает шорт, но и закрывает лонговую позицию.

Т.е. делает переворот.

 

Смыслов тут несколько.

Объяснять долго, и на картинках нужно.

В общем посмотрите сами, если непонравится, можно закоментировать эти операторы.

 

Пример для Buy:

 

...............
        if (ObjDesc == "Buy")  
        {
           pBuy      = SetLevel(pBuy,  Price, ObjName, 1);  //  <--- основной оператор (как в 1 версии)
           pSellTake = SetLevel(pSellTake,  Price);  // <--- второй смысл, ее можно закоментировать
        } else
.............

 

 

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

 

Если терминал на какое-то время выключен, или переключен на другой счет, то эти тейки и стопы соответствуют линиям, которые были до отключения.

 

Если через некоторое время снова подключить терминал,

то эксперт просто подкорректирует значения стопов и тейков для ордеров.

tradechannel2_424.mq4

Share this post


Link to post
Share on other sites
RickD

Скрипт. Выводит закрытые позиции и статистику по ним.

Позволяет не выводить некоторые столбцы.

Позволяет сортировать выводимые данные по одному или нескольким столбцам. Позволяет фильтровать данные.

Например чтобы вывести все закрытые только по eurusd позиции и отсортировать их по профиту, надо написать:

int SortBy[] = {BY_PROFIT};
int SortBy2[] = {ASK};

bool Validate(int ticket) {
 if (OrderSymbol() == "EURUSD") return(true);

 return(false);
}

 

Файл отчета создается в каталоге experts\files.

 

PS. При расчете статистики могут быть ошибки. Скажите - поправим. :wink:

report_567.mq4


MQL4: идея * опыт + творческий подход

:agree:

Share this post


Link to post
Share on other sites
Rosh

Полезная утилита от Mak'а (Юрий Макаров). Позволяет писать лог-файлы с разным уровнем детализации. Взято здесь - http://www.metaquotes.ru/forum/5034/

 

Комментарии автора:

Предлагаю желающим небольшую библиотеку утилит.

 

Основное в ней - это средства отладки,

т.е. просто вывод диагностики в файл или лог эксперта.

 

С ее помощью я у себя в скриптах много удивительного обнаружил :))

Многое работает не так, как я ожидал при написании экспертов ...

 

Только не спрашивайте что там и зачем.

Разжевывать все детали времени нет, приведу только некоторые примеры.

Далее:

При использовании библиотеки нужно убрать из скриптов функцию start().

Вместо нее нужно использовать события

 

int newBar() {}
int newTick() {}

Первая функция вызывается при формировании нового бара,

вторая это и есть аналог start(), т.е. она вызывается на каждом тике.

 

Если комуто это не нравится, можно закоментировать в тексте библиотеки функцию start() и использовать ее в скриптах как и раньше.

 

LogOpen(File = "", Level = 0) - Открытие лога

-- File - имя файла куда пишется лог, если = "", то лог выдается в закладку эксперта в МТ

-- Level - уровень отладки, будут выводиться только строки с уровнем меньше или равным Level.

 

LogClose() - закрытие лога.

Закрывается файл лога на диске и устанавливается вывод уровня 0 в закладку МТ.

 

Log(Level, Message) - вывод Message в лог, если Level <= заданному уровню отладки.

 

Check(Condition, Message) - вывод Message в лог, если выполнено условие Condition.

Возвращает Condition.

 

Использование.

 

Пример.

int init()
{
  LogOpen("log.txt",5);
  Log(0,"Init --- "+TimeToStr(LocalTime(),TIME_SECONDS));
  ..............
}

int deinit() 
{ 
  Log(0,"DeInit --- "+TimeToStr(LocalTime(),TIME_SECONDS));
  LogClose(); 
}

int newBar() { Log(1,"NewBar "+TimeToStr(LocalTime(),TIME_SECONDS)); }
int newTick()
{
  Log(2,"NewTick, Ask = "+Ask+" Bid = "+Bid);
  int counted_bars=IndicatorCounted();
  if ( Bars <= 100 ) return(-1);
   ..............

}

 

Общее правило,

Чем детальнее и обильнее вывод (например в цикле),

тем больше ставится Level в функции Log().

 

Задавая уровень отладки в LogOpen(),

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

 

Т.е.

LogOpen("", 0) - вывод только самых основных сообщений.

LogOpen("", 1) - более детальный вывод.

LogOpen("", 2) - еще более детальный вывод.

и т.д.

 

Функция Check() используется для проверки некоторых условий,

например входных параметров на допустимые значения,

инвариантов в циклах (см. Вирта) и пр.

 

Check выводит в лог всегда, независимо от установленного уровня отладки.

 

 

PS Файл поместить в папку ....\MetaTrader 4\experts\include

utils_436.mq4

Share this post


Link to post
Share on other sites
Rosh

..Для получения нестандартных тайм-фреймов можно использовать скрипт Period_converter.mql , который идет в стандартной поставке МТ4 и находится в папке /experts/scripts

post-18076-1404209410,7207_thumb.gif

Share this post


Link to post
Share on other sites
Sergiy

Доброго времени суток. Не подскажете почему Ваш индикатор не запускается у меня в МТ4? В списке индикаторов он он отмечен светлым шрифтом и запускаться не желает. Подскажите в чем проблемма.я МТ4 Build 173

Share this post


Link to post
Share on other sites
Rosh

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

Share this post


Link to post
Share on other sites
Regwall

Добрый день всем!

На форуме в Пауке нашел индикатор.

Вопрос - может кто-то сможет сделать по нему каналы типа Envelopes?

С уважением, Regwall.

at_itp4_680.mq4

Share this post


Link to post
Share on other sites
RYBIKON
..Для получения нестандартных тайм-фреймов можно использовать скрипт Period_converter.mql , который идет в стандартной поставке МТ4 и находится в папке /experts/scripts

 

Уважаемый!

 

А по подробнее можно, как этим пользоваться... куда нажать, или переложить .. :shock::roll::roll:


Во что ты веришь, того и достигнешь.

Норман Пил.

Share this post


Link to post
Share on other sites
Rosh

Допустим, мы хотим получить 2-х часовки на Евре. Для этого открываем часовой график Евры и окно Навигатора. Из окна Навигатора набрасываем скрипт Period_Converter на график часовки.

post-18076-1404209457,696_thumb.gif

Share this post


Link to post
Share on other sites
Rosh

Далее выскакивает диалоговое окошко скрипта. Здесь мы меняем значение множителя на 2 (2*H1=H2). Жмем кнопку "ОК".

post-18076-1404209457,7634_thumb.gif

Share this post


Link to post
Share on other sites
Rosh

Далее из меню "Файл" выбираем пункт "Открыть автономно".

post-18076-1404209457,8593_thumb.gif

Share this post


Link to post
Share on other sites
Rosh

Ищем файл истории по EURUSD с тайм-фреймом 2 часа - EURUSDH2

post-18076-1404209457,9266_thumb.gif

Share this post


Link to post
Share on other sites
Rosh

Жмем кнопку "Открыть" и настраиваем вид графика как нам нужно. Можно набрасывать свои или стандартные индикаторы.

post-18076-1404209457,981_thumb.gif

Share this post


Link to post
Share on other sites
Rosh

Исправлена маленькая ошибка, из-за которой на не Стоп-и-Реверс системах метки закрытия рисовались в неправильных местах.

 

Описание скрипта там же - http://***************/phpBB/viewtopic.php?p=7451#7451

tracert_845.zip

Share this post


Link to post
Share on other sites
RYBIKON

ТО :Rosh

 

Вот спасибо тебе огромное! :smt026


Во что ты веришь, того и достигнешь.

Норман Пил.

Share this post


Link to post
Share on other sites
RYBIKON

А вот ещё вопросик. График я построил, но он увы не работает в он лайне. Почему? Моежет ещё что нить нажать надоть ? :roll:


Во что ты веришь, того и достигнешь.

Норман Пил.

Share this post


Link to post
Share on other sites
Rosh
А вот ещё вопросик. График я построил, но он увы не работает в он лайне. Почему? Моежет ещё что нить нажать надоть ? :roll:

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

Share this post


Link to post
Share on other sites
PUTNIK

В On-Line работает при условии, что открыт базовый график (на котором запускался script). Причем On-line поддерживается до тех пор, пока окна графиков открыты, если открывается окно с другими графиками или инструментами, либо перезапускается MT, то следует вновь на базовом графике запустить скрипт, а на графике off-line выполнить команду "обновить", и on-line обновления пойдут снова. Естественно на обоих графиках нельзя менять Time-frame.

Вроде бы так все и работает.


...катящиеся камни не обрастают мхом...

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×