Скрипты Обсуждение, доработка и поиск скриптов для терминала MT4.

Ответить
05.06.2010, 08:38
Аватар для cmillion
cmillion cmillion вне форума Элитный участник
Регистрация: 04.12.2009 / Сообщений: 1,331
Поблагодарили 1,214 раз(а) / Репутация: 1221
  • Отправить сообщение для cmillion с помощью ICQ Отправить сообщение для cmillion с помощью Skype™

По умолчанию Несколько скриптов для упрощения торговли

Иногда требуется помочь советнику и добавить ордер, но чтобы советник его принял за свой необходим Magic номер, для выставления ордера с таким номером и предназначен этот скрипт.

Переменные:

stoploss - уровень выставления SL, если 0, то SL не выставляется
takeprofit - уровень выставления TP, если 0, то TP не выставляется
Magic - уникальный номер ордера
SELL - открыть ордер SELL
BUY - открыть ордер BUY
Lot - объем ордера
slippage - максимально допустимое отклонение цены для рыночных ордеров


Возможна одновременная установка разнонаправленных ордеров, для этого переменным SELL и BUY установите значение true.

При сбоях связи или резком движении цены, будет 10 попыток выставления ордера, после чего скрипт закончит работу.

Для запуска скрипта, бросьте его в окно графика и в появившемся меню выберите параметры и тип открываемого ордера.

Удачи!

Другие мои работы
_http://cmillion.narod.ru Программные помощники MQL для работы на финансовых рынках
Программист MQL Skype: mqlcmillion Email: cmillion@narod.ru
15.09.2011, 10:44
Аватар для morozik1959
morozik1959 morozik1959 вне форума Местный знаток
За призовое место в конкурсе 

Регистрация: 23.05.2011 / Сообщений: 629
Поблагодарили 903 раз(а) / Репутация: 904
Очень нужен такой скрипт ставить отложки
15.09.2011, 11:18
Аватар для cmillion
cmillion cmillion вне форума Элитный участник
Регистрация: 04.12.2009 / Сообщений: 1,331
Поблагодарили 1,214 раз(а) / Репутация: 1221
  • Отправить сообщение для cmillion с помощью ICQ Отправить сообщение для cmillion с помощью Skype™
Очень нужен такой скрипт ставить отложки
Нет проблем вот несколько скриптов для отложенных ордеров.
Скрипты могут выставлять сразу сеть ордеров.

extern int stoploss = 50, //уровень выставления SL, если 0, то SL не выставляется
takeprofit = 50, //уровень выставления TP, если 0, то TP не выставляется
delta = 10, //расстояние от текущей цены
MaxOrders = 5, //кол-во ордеров сетки
Magic = 123456; //уникальный номер ордера
extern bool SELL = true, //открыть ордер LIMITSTOP
BUY = true; //открыть ордер LIMITSTOP
extern double Lot = 0.1; //объем ордера
extern double FirstBuyStop = 0; //если 0 то по цене Ask+delta
extern double FirstSellStop = 0; //если 0 то по цене Bid-delta
extern double K_Lot = 1; //увеличение лота с шагом

Более широкий спектр советников и скриптов, выставляющих и удаляющих отложенные ордера Вы всегда можете найти на моем сайте или в отдельной ветке (ссылку на нее могу дать в личке или по почте cmillion@narod.ru)

Удачной торговли!
Программист MQL Skype: mqlcmillion Email: cmillion@narod.ru
15.09.2011, 11:23
Аватар для morozik1959
morozik1959 morozik1959 вне форума Местный знаток
За призовое место в конкурсе 

Регистрация: 23.05.2011 / Сообщений: 629
Поблагодарили 903 раз(а) / Репутация: 904
Большое спасибо
07.02.2013, 08:49
Аватар для cmillion
cmillion cmillion вне форума Элитный участник
Регистрация: 04.12.2009 / Сообщений: 1,331
Поблагодарили 1,214 раз(а) / Репутация: 1221
  • Отправить сообщение для cmillion с помощью ICQ Отправить сообщение для cmillion с помощью Skype™

По умолчанию скрипт частичного закрытия ордеров при пересечении горизонтальной линии

Работа скрипта.
При старте скрипт выставляет линию, на расстоянии TakeProfit от текущей цены.
При достижении ценой этой горизонтальной линии закрываются прибыльные ордера.
Скрипт закрывает от каждого ордера заданный процент, при значении PercentClose = 100% закрывает ордера полностью.
Далее скрипт заканчивает свою работу


PHP код:
extern int     TakeProfit     30;     //прибыль закрытия ордера в пунктах, на такое расстояние от текущей цены ставим линию Close 
extern double  PercentClose   30;     //процент закрытия ордера 
extern int     Magic          = -1;     //если -1 все, если 0 ручные, если есть номер то по конкретному магику. 
удачной торговли!
Программист MQL Skype: mqlcmillion Email: cmillion@narod.ru
07.02.2013, 09:03
Аватар для cmillion
cmillion cmillion вне форума Элитный участник
Регистрация: 04.12.2009 / Сообщений: 1,331
Поблагодарили 1,214 раз(а) / Репутация: 1221
  • Отправить сообщение для cmillion с помощью ICQ Отправить сообщение для cmillion с помощью Skype™

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

Советник ставит линии (красные для sell и синие для buy) и по этим линиям ставит стоп лосс и тейкпрофит. Если линию удалить, то отменятся и соответствующие стопы.
При премещении линии перемещаются и стопы под ними.


PHP код:
extern bool    BUY            false;  //разрешить изменять Buy 
extern bool    SELL           true;   //разрешить изменять Sell 
extern int     Stoploss       20,     //стоплосс ордеров 
               
Takeprofit     20;     //тейкпрофит ордеров 
extern bool    DelStopNoLine  true;   //удалять стопы при отсутствии линии 
Программист MQL Skype: mqlcmillion Email: cmillion@narod.ru
07.02.2013, 09:06
Аватар для cmillion
cmillion cmillion вне форума Элитный участник
Регистрация: 04.12.2009 / Сообщений: 1,331
Поблагодарили 1,214 раз(а) / Репутация: 1221
  • Отправить сообщение для cmillion с помощью ICQ Отправить сообщение для cmillion с помощью Skype™

По умолчанию Автоматическая установка стопов.

Советник выставляет стоп лосс и тейк профит у всех позиций текущего инструмента ( и рыночным и отложкам), если выставлено значение менее STOPLEVEL, то советник не меняет стоп.

Переменные:

PHP код:
stoploss уровень выставления SLесли 0то SL не изменяется
takeprofit 
уровень выставления TPесли 0то TP не изменяется  
SetStop
.mq4 
Программист MQL Skype: mqlcmillion Email: cmillion@narod.ru
Pars 
16.02.2013, 15:07
Аватар для KiWi
KiWi KiWi вне форума Заблокирован
Регистрация: 16.02.2013 / Сообщений: 37
Поблагодарили 7 раз(а) / Репутация: 7
хорошо когда советник работает по такой схеме, а скрипты при переключении ТФ сбрасываются
16.02.2013, 16:24
Аватар для cmillion
cmillion cmillion вне форума Элитный участник
Регистрация: 04.12.2009 / Сообщений: 1,331
Поблагодарили 1,214 раз(а) / Репутация: 1221
  • Отправить сообщение для cmillion с помощью ICQ Отправить сообщение для cmillion с помощью Skype™

По умолчанию Скрипт открытия сетки ордеров

Универсальный скрипт выставления сетки ордеров.

Выставляет сетку отложенных ордеров по Вашему выбору.
Можно выставлять Стоп и/или Лимит ордера в любом сочетании
Можно задавать время жизни ордеров
Можно задавать время выставления ордеров.
Варианты торговых стратегий различны, от торговли на новостях до математических ловушек.
Все зависит от Вашей фантазии.

Параметры

PHP код:
extern datetime TimeSet        D'2012.07.20 00:00'//Время выставления ордеров, если текущее время больше установленного, то выставляются сразу 
extern bool     BuyStop        true;     //открыть BuyStop ордера  
extern bool     BuyLimit       true;     //открыть BuyLimit ордера  
extern bool     SellStop       true;     //открыть SellStop ордера  
extern bool     SellLimit      true;     //открыть SellLimit ордера  
extern string   __             ""
extern double   FirstBuyStop   0;        //цена выставления первого BuyStop ордера, если 0 то первый BuyStop будет выставлен по цене Ask+FirstStop 
extern double   FirstSellStop  0;        //цена выставления первого SellStop ордера, если 0 то первый SellStop будет выставлен по цене Bid-FirstStop 
extern double   FirstBuyLimit  0;        //цена выставления первого BuyLimit ордера, если 0 то первый BuyLimit будет выставлен по цене Bid-FirstStop 
extern double   FirstSellLimit 0;        //цена выставления первого SellLimit ордера, если 0 то первый SellLimit будет выставлен по цене Ask+FirstStop 
extern int      FirstStop      100;      //расстояние (в пунктах) от текущей цены до первого Stop ордера в случае First..Stop=0  
extern int      FirstLimit     50;       //расстояние (в пунктах) от текущей цены до первого Limit ордера в случае First..Limit=0 
extern int      StepStop       30;       //расстояние (в пунктах) между Stop ордерами 
extern double   K_StepStop     1;        //коэффициент расширения сетки 
extern int      StepLimit      30;       //расстояние (в пунктах) между Limit ордерами 
extern double   K_StepLimit    1;        //коэффициент расширения сетки 
extern string   _              ""
extern int      Orders         5;        //кол-во ордеров сетки 
extern double   LotStop        0.5;      //объем первого Stop ордера 
extern double   K_LotStop      1;        //умножение лота Stop ордеров  
extern double   Plus_LotStop   0;        //добавление лота Stop ордеров  
extern double   LotLimit       0.1;      //объем первого Limit ордера 
extern double   K_LotLimit     2;        //умножение лота Limit ордеров 
extern double   Plus_LotLimit  0;        //добавление лота Limit ордеров 
extern int      stoploss       50;       //уровень выставления SL, если 0, то SL не выставляется 
extern int      takeprofit     100;      //уровень выставления TP, если 0, то TP не выставляется 
extern int      Expiration     1440;     //Срок истечения отложенного ордера в минутах, если 0, то срок не ограничен (1440 - сутки) 
extern int      attempts       10;       //кол-во попыток открытия ордера  
extern int      Magic          0;        //уникальный номер ордера 
extern string   Order_Comment  "http://cmillion.narod.ru"
Программист MQL Skype: mqlcmillion Email: cmillion@narod.ru
16.02.2013, 16:39
Аватар для cmillion
cmillion cmillion вне форума Элитный участник
Регистрация: 04.12.2009 / Сообщений: 1,331
Поблагодарили 1,214 раз(а) / Репутация: 1221
  • Отправить сообщение для cmillion с помощью ICQ Отправить сообщение для cmillion с помощью Skype™

По умолчанию Скрипт удаления отложенных ордеров

В параметрах можно выбрать тип ордеров, которые необходимо удалить.

Параметры

PHP код:
extern bool DEL_BUYSTOP true
extern bool DEL_BUYLIMIT true
extern bool DEL_SELLSTOP true
extern bool DEL_SELLLIMIT true
Программист MQL Skype: mqlcmillion Email: cmillion@narod.ru
16.02.2013, 16:44
Аватар для cmillion
cmillion cmillion вне форума Элитный участник
Регистрация: 04.12.2009 / Сообщений: 1,331
Поблагодарили 1,214 раз(а) / Репутация: 1221
  • Отправить сообщение для cmillion с помощью ICQ Отправить сообщение для cmillion с помощью Skype™

По умолчанию Советник закрытия ордеров при достижении профита

Советник закрытия ордеров при достижении суммарного профита в валюте депозита


Параметры

PHP код:
extern double ProfitClose     15;   //закрывать все ордера при получении профита в валюте депозита
extern double LossClose       1000//закрывать все ордера при получении убытка в валюте депозита
extern bool   AllSymbol       false;//учитывать все инструменты или только тот, на котором стоит советник
extern bool   AlertON         false;//сигнал при достижении профита или убытка
extern bool   TradeON         false;//разрешить советнику закрывать ордера при достижении профита или убытка 
Советник закрывает все ордера при достижении заданного размера профита или убытка в валюте депозита.
Советник может работать только по той паре на которую брошен или по всем инструментам счета.
Стопы он не ставит.
Как только прибыль по всем открытым ордерам (если AllSymbol = true то всего счета, если AllSymbol = false то только ордеров текущей валютной пары) достигает уровня ProfitClose (в валюте депозита), то все ордера закроются.Стопы он не ставит. ProfitClose и LossClose указываются в валюте депозита.
Пример:
На Вашем счете работает несколько советников. Они открыли много ордеров на разных валютах.
Как только общая прибыль по счету достигла 15$ (задается в параметрах) или убыток достиг 1000$, все ордера закроются.
Программист MQL Skype: mqlcmillion Email: cmillion@narod.ru
16.02.2013, 16:48
Аватар для cmillion
cmillion cmillion вне форума Элитный участник
Регистрация: 04.12.2009 / Сообщений: 1,331
Поблагодарили 1,214 раз(а) / Репутация: 1221
  • Отправить сообщение для cmillion с помощью ICQ Отправить сообщение для cmillion с помощью Skype™
Советник имеет те же функции, что и предыдущий, только закрытие происходит при достижении заданного процента прибыли.

PHP код:
extern double ProfitClose     0.1;    //закрывать все ордера при получении профита в % от депозита
extern bool   AllSymbol       true//учитывать все инструменты или только тот, на котором стоит советник
extern int    Magic           0;    //0 - учитывать все ордера (с любым Magic номером) 
Программист MQL Skype: mqlcmillion Email: cmillion@narod.ru
autya , Milord , sly 
20.02.2013, 08:52
Аватар для cmillion
cmillion cmillion вне форума Элитный участник
Регистрация: 04.12.2009 / Сообщений: 1,331
Поблагодарили 1,214 раз(а) / Репутация: 1221
  • Отправить сообщение для cmillion с помощью ICQ Отправить сообщение для cmillion с помощью Skype™

По умолчанию Скрипт частичного закрытия ордеров при пересечении горизонтальной линии

Работа скрипта.
При старте скрипт выставляет линию, на расстоянии TakeProfit от текущей цены.
При достижении ценой этой горизонтальной линии закрываются прибыльные ордера.
Скрипт закрывает от каждого ордера заданный процент, при значении PercentClose = 100% закрывает ордера полностью.
Далее скрипт заканчивает свою работу
Линию можно перемещать на любую цену.

PHP код:
extern int     TakeProfit     30;     //прибыль закрытия ордера в пунктах, на такое расстояние от текущей цены ставим линию Close
extern double  PercentClose   30;     //процент закрытия ордера
extern int     Magic          = -1;     //если -1 все, если 0 ручные, если есть номер то по конкретному магику. 

Удачи в торговле!
Программист MQL Skype: mqlcmillion Email: cmillion@narod.ru
20.02.2013, 19:50
Аватар для 8bit
8bit 8bit вне форума Активный участник
Регистрация: 22.11.2012 / Сообщений: 281
Поблагодарили 51 раз(а) / Репутация: 53
Советник закрытия ордеров при достижении суммарного профита в валюте депозита

А можно такой же скрипт, но только с закрытием по эквити? Например, у меня сейчас по открытым позициям плюс 2000$. Хочу чтобы сделки закрылись или при +1000$ (стоп с прибылью) или +5000$. Ваш скрипт поможет закрыть все сделки, когда будет +5000$, но +1000$ нет.
28.02.2013, 06:34
Аватар для cmillion
cmillion cmillion вне форума Элитный участник
Регистрация: 04.12.2009 / Сообщений: 1,331
Поблагодарили 1,214 раз(а) / Репутация: 1221
  • Отправить сообщение для cmillion с помощью ICQ Отправить сообщение для cmillion с помощью Skype™
А можно такой же скрипт, но только с закрытием по эквити? Например, у меня сейчас по открытым позициям плюс 2000$. Хочу чтобы сделки закрылись или при +1000$ (стоп с прибылью) или +5000$. Ваш скрипт поможет закрыть все сделки, когда будет +5000$, но +1000$ нет.
Не совсем понимаю. У Вас есть 2000 прибыли и Вы хотите закрыть когда останется 1000 ? Это такой финансовый мазахизм или Вам нужен тралл по профиту, что при откате на 1000 ордера закроются? В обжем здесь про эквити ничего нет, поясните.
Программист MQL Skype: mqlcmillion Email: cmillion@narod.ru
01.03.2013, 21:05
Аватар для cmillion
cmillion cmillion вне форума Элитный участник
Регистрация: 04.12.2009 / Сообщений: 1,331
Поблагодарили 1,214 раз(а) / Репутация: 1221
  • Отправить сообщение для cmillion с помощью ICQ Отправить сообщение для cmillion с помощью Skype™

По умолчанию скрипт открытия ордеров

Иногда требуется помочь советнику, добавить ордер, но чтобы советник его
принял за свой необходим Magic номер, для выставления ордера с таким номером
поможет этот скрипт.
Помимо этого скрипт может быть полезным при работе с брокерами MarketExecution, (это когда они не разрешают устанавливать стопы совместно с открытием ордера).
Скрипт выставляет ордер, а на следующем тике выставляет к нему стопы.
Можно использовать его и как советник для того, чтобы он выставлял стопы всем Вашим ордерам, открытым вручную.

Переменные:

PHP код:
extern int     stoploss    50,       //уровень выставления SL, если 0, то SL не выставляется
               
takeprofit  50,       //уровень выставления TP, если 0, то TP не выставляется
               
Magic       777;      //уникальный номер ордера
extern bool    SELL        true,     //открыть ордер SELL
               
BUY         true;     //открыть ордер BUY
extern double  Lot         0.0;      //объем ордера
extern int     Risk        1;        //% которым  мы готовы рискнуть, применяется при Lot=0
extern int     slippage    5;        //Максимально допустимое отклонение цены для рыночных ордеров
extern bool    MarketExecution true//Выставление стопов на следующем тике 
Возможна одновременная установка разнонаправленных ордеров, для этого переменным SELL и BUY установите значение true.

При сбоях связи или резком движении цены, будет 10 попыток выставления ордера, после чего скрипт закончит работу.

Для запуска скрипта, бросьте его в окно графика и в появившемся меню выберите параметры и тип открываемого ордера.
Программист MQL Skype: mqlcmillion Email: cmillion@narod.ru
04.03.2013, 11:14
Аватар для cmillion
cmillion cmillion вне форума Элитный участник
Регистрация: 04.12.2009 / Сообщений: 1,331
Поблагодарили 1,214 раз(а) / Репутация: 1221
  • Отправить сообщение для cmillion с помощью ICQ Отправить сообщение для cmillion с помощью Skype™

По умолчанию cm_StopOrders Mouse

Скрипт выставляет ордер по максимуму / минимуму прошлой свечи плюс минус фильтр.
Стоплосс ставит на противоположный экстремум свечи плюс минус фильтр.
Если перетащить его мышкой на график выше текущей цены, то он ставит BuyStop ордер, если ниже то SellStop ордер.

Параметры

PHP код:
extern int     Takeprofit        0,     //тейкпрофит ордеров 
               
фильтр            10
               
Candle            1;     //по какой свече ставим ордера (0- текущая  1- прошлая....) 
extern double  Lot               0.1;   //лот 
extern int     Magic             0;     //уникальный номер ордеров этого советника, если 0 то ведет все ордера, в том числе выставленные вручную 
extern bool    comment           true;  //выводить информацию на экран 
Программист MQL Skype: mqlcmillion Email: cmillion@narod.ru
11.03.2013, 17:53
Аватар для 8bit
8bit 8bit вне форума Активный участник
Регистрация: 22.11.2012 / Сообщений: 281
Поблагодарили 51 раз(а) / Репутация: 53
Не совсем понимаю. У Вас есть 2000 прибыли и Вы хотите закрыть когда останется 1000 ? Это такой финансовый мазахизм или Вам нужен тралл по профиту, что при откате на 1000 ордера закроются? В обжем здесь про эквити ничего нет, поясните.
Это не мазахизм. Я жду хорошего движения, но не знаю когда оно закончится. Определенную прибыль я получил. Но зачем фиксить ее, если знаю что цена пойдет дальше?
В принципе это тот же трал, но по эквити получается.
11.03.2013, 19:45
Аватар для cmillion
cmillion cmillion вне форума Элитный участник
Регистрация: 04.12.2009 / Сообщений: 1,331
Поблагодарили 1,214 раз(а) / Репутация: 1221
  • Отправить сообщение для cmillion с помощью ICQ Отправить сообщение для cmillion с помощью Skype™

По умолчанию cm-VirtualTrailingProfit

Это не мазахизм. Я жду хорошего движения, но не знаю когда оно закончится. Определенную прибыль я получил. Но зачем фиксить ее, если знаю что цена пойдет дальше?
В принципе это тот же трал, но по эквити получается.
Есть такой тралл:

Советник отслежвает профит по отдельной паре или по всему счету и при достижен заданного значения начинает тралить прбыль до указанного отката, после чего закрывает все ордера.
Программист MQL Skype: mqlcmillion Email: cmillion@narod.ru
8bit , Milord , motolga 
12.03.2013, 19:33
Аватар для 8bit
8bit 8bit вне форума Активный участник
Регистрация: 22.11.2012 / Сообщений: 281
Поблагодарили 51 раз(а) / Репутация: 53
Все три кидать на график? Или какой-то один?
Ответить


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка открытия/закрытия ордера Gliven Язык программирования MQL4 0 16.02.2011 07:32


Текущее время: 19:22. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO