Jump to content
cmillion

Несколько скриптов для упрощения торговли

Recommended Posts

unamhe
Так Вам удалять или выставлять по времени нужно?

И то и другое есть, точно помню писал. Если нет в данной ветке, то посмотрите здесь

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

 

Мне удалять нужно по времени.Для установки пользуюсь вашим скриптом OpenStopOrderNetTime.Хороший скрипт,кстати:можно выставлять ордера с точностью до секунды-что для торговли на новостях имеет значение.Ссылка не работает.

Share this post


Link to post
Share on other sites
cmillion

Cкрипт выставляет рыночный ордер, в зависимости от того куда кинуть, если выше цены то Byu ниже Sell и от него сразу выставляет сетку лимит ордеров.

 

extern int     Stoploss          = 0,     //стоплосс ордеров 
              Takeprofit        = 0;     //тейкпрофит ордеров 
extern double  Lot               = 0.1;   // 
extern int     Orders            = 5;     //кол-во лимитных ордеров 
extern int     STEP              = 5;     //шаг лимитных ордеров 
extern int     Magic             = 0;     //уникальный номер ордеров этого советника 
extern bool    comment           = true;  //выводить информацию на экран

_MarketPlusLimitOrders Mouse.mq4


Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5  

Share this post


Link to post
Share on other sites
cmillion

Разруливание сложной ситуации с помощью усреднения.
Бывает так, что на графике висит несколько ордеров с разными магиками разными лотами и пр.
Они дают просадку а разобраться с ними некогда. Советник cm-разруливание усреднением сделает эту работу за Вас.
Советник выставляет усредняющие лимит ордера по каждому направлению торговли и далее доводит каждое направление торговли до суммарного профита.
C его помощью можно разруливать и локи и другие запутанные ситуации, главное следите за размером свободных средств, не желательно чтобы их было менее половины депозита.
Если на графике нет открытых ордеров, то советник сам ничего выставлять не будет. Вы можете торговать руками, а советник будет подхватывать Ваши сделки и приводить их к прибыли даже если после выставления ордера цена пошла против Вас.

1) при старте советник находит прибыльные ордера и закрывает их так чтобы уровнять лоты встречных направлений
2) если после 1 действия идет перекос в какую то сторону, и процент просадки по данной паре более заданного в PercentLock, то советник выставляет выравнивающий лок
Например имеем 5 ордеров buy (1 в прибыли 5 лотов)(4 в убытке 10 лотов)(итого 15 лотов) и 5 sell (3 в прибыли лот 1)(2 в убытке 5 лотов)(итого 6 лотов)
Имеем перекос в сторону buy позиций в 9 лотов начит закрываем прибыльную позицию buy 5 лотов и выставляем лок ордер sell 4 лота
3) В итоге имеем чистый лок (по 10 лот в каждую сторону), который советник и будет разруливать в дальнейшем
4) находим самые дальние от текущей цены buy и sell убыточные ордера (их и будем в первую очередь усреднять и закрывать.
5) В сторону движения цены (определяется по направлению свечей с TF указанным в параметрах выставляем усредняющие позиции начиная с лота lot_close*k_lot через шаг step.
6) если убыточные позиции остались только с одной стороны, например buy то sell направление не усредняется, но каждый раз при закрытии buy серии от sell серии будем закрывать такой объем в плюс чтобы постоянно поддерживать полный лок.
Если убыточных ордеров после очередного закрытия серии не осталось, то закрываем и все прибыльные и советник ждет новых сложных ситуаций.


extern int TF = 5; //таймфрейм свечей для определения движения цены
extern int step = 5; //расстояние между усредняющими ордерами (не менее)
extern double k_lot = 1.5; //умножение лота усредняющих ордеров
extern double PercentLock = 10.0; //процент убытка при котором советник выставляет лок
extern double lot_close = 0.01; //лот, который закрываем у убыточной позиции 

Edited by AntFX
ex4 в разделе Автоторговли запрещены

Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5  

Share this post


Link to post
Share on other sites
cmillion

НОВАЯ ВЕРСИЯ cm ru 211113

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

Работает примерно так.

Имеем прибыльный buy лотом 2 и убыточный sell лотом 1 лот разруливателя стоит 0,01

Как только прибыль 0,02 лотов buy превысит убыток 0,01 лота sell, закрываем 0,02 лота buy и 0,01 лота sell.

 

Изменен принцип установки и отмены лок ордера. Для того чтобы на границе установки не частил с удалениями лока.

 

Так же добавлена возможность идентифицировать разруливающие ордера. ID

Для совместимости с прошлыми версиями ШВ должно быть = "cm-ru"

 

Описание переменных

 

PercenStart = 0; //советник работает только в случае если просадка по счету выше заданной 0- откл

TF = 5; //таймфрейм свечей для определения движения цены

step = 20; //расстояние между усредняющими ордерами (не менее)

k_lot = 1.5; //умножение лота усредняющих ордеров

lot_close = 0.05; //лот, который закрываем у убыточной позиции

MinProfit = 5; //минимальный профит в пунктах

 

включение.лока = false; //включение лока

LotPercent = 50; //выставляем лок лотом равным проценту от дисбаланса лотов двух направлений

просадка.для.открытия.лока = 25; //выставляем лок при достижении просадки в процентах от депо

StepLock = 25; //расстояние от цены до локирующего стоп ордера (0-лок отключен)

StepModify = 5; //мин шаг перемещения лока

NoLoss = 5; //перевод лок ордера в безубыток

 

ID = "cm-ru21";//идентификатор разруливающих ордеров

 

Перекрывать.противоположные = false; //перекрывать убыток прибыльными ордерами

Удачной торговли!

Edited by AntFX
Советники с закрытым кодом запрещены

Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5  

Share this post


Link to post
Share on other sites
cmillion

Если какие то скрипты начали выдавать ошибки компиляции в новых версиях МТ (после build 600) пишите и я выложу обновления.


Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5  

Share this post


Link to post
Share on other sites
cmillion

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

Дальний ордер определяется по расстоянию от текущей цены до ордера.

 

 

Пример:

 

Имеем 10 ордеров, из них 5 в прибыли и 5 в убытке. Убыток самого дальнего ордера 5 usd а прибыль всех прибыльных ордеров в сумме тоже 6 usd. Если CloseProfit = 1usd то закрываем дальний убыточный и все прибыльные на текущей валютной паре.

 

Параметры

extern int CloseProfit = 0; //закрывать по суммарному профиту

extern int Magic = 0; //-1 все ордера

cm-CloseLock.mq4

Edited by AntFX

Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5  

Share this post


Link to post
Share on other sites
cmillion

Советник поддерживает баланс лотов встречных направлений по тому инструменту, на котором он расположен.

 

Пример

Имеем 3 лота Buy и 1 Sell, советник сразу добавит 2 лота Sell. Далее закрылся ордер Buy 0,5 лота по стопу или профиту и тут же будет открыт ордер buy 0.5 лота. Т.е. при любом раскладе советник будет восстанавливать этот баланс все время пока включен.

cm-Lock.mq4

Edited by AntFX

Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5  

Share this post


Link to post
Share on other sites
cmillion

Разрабатываю новый советник призванный помогать при торговле.

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

 

post-61122-1404221035,7429_thumb.png

 

Тестируйте, предлагайте доработки.

Удачной торговли!

cm-Trade System 290514.mq4

Edited by AntFX
  • Thanks 1

Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5  

Share this post


Link to post
Share on other sites
cmillion

 

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

 

post-61122-1404221044,5074_thumb.jpg

cm-Trade System 290514.mq4

Edited by AntFX

Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5  

Share this post


Link to post
Share on other sites
cmillion

Более новая версия 

 

post-393455-0-64277700-1406714666_thumb.jpg

post-393455-0-72193900-1406714671_thumb.jpg

post-393455-0-87245700-1406714677_thumb.jpg

cm-Trade System 290514.mq4

Edited by AntFX

Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5  

Share this post


Link to post
Share on other sites
cmillion

cm ru 130814

 

 В новой версии добавлена возможность отключения лока, причем это можно делать даже в тестере во время тестирования. Для этого на панели информация добавлена кнопка Lock. Так же появилась возможность выбора разруливаемого ордера (параметр NumerOrder).

post-393455-0-58078900-1407927598_thumb.jpg



PHP код:
extern int     NumerOrder  0;        //номер ордера, который разруливаем, если 0 то советник находит дальние 
extern bool    SetLock     true;     //выставлять лок (первоначальная установка) 
extern int     TF          5;        //таймфрейм свечей для определения движения цены 
extern int     Step        20;       //расстояние между усредняющими ордерами (не менее) 
extern double  K_Lot       1.5;      //умножение лота усредняющих ордеров 
extern double  Lot_close   0.01;     //лот, который закрываем у убыточной позиции 

extern color   text_color  clrBlue;  //цвет вывода информации 
extern int     Slippage    3;        //проскальзывание  
extern int     Attemps     30;       //число попыток закрытия  
extern int     DigitsLot   2;        //кол-во знаков после запятой в размере лота (2 - 0,01) (1 - 0,1) 
extern bool    DrawInfo    true;     //вывод информации об ордерах и прибыли 
extern bool    DrawLenta   true;     //вывод истории операций 
extern int     Magic       345678234;//не должен совпадать ни с одним магиком  

Комментарий модератора: советники с закрытым кодом в разделе Автоматическая торговля запрещены

Edited by AntFX

Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5  

Share this post


Link to post
Share on other sites
feddmi

Подскажите как закрыть все открытые ордера без всяких условий? 

Share this post


Link to post
Share on other sites
cmillion

Подскажите как закрыть все открытые ордера без всяких условий?

 

Возьмите самый первый скрипт в этой ветке, он закрывает все ордера


Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5  

Share this post


Link to post
Share on other sites
cmillion
Скрипт выставит указанные позиции с указанными стопами в назначенное время. Если время выставленное в скрипте меньше текущего, то позиции откроются сразу. Можно выставить сразу buy и sell и в том кол-ве в котором указанно в параметре MaxOrders
 
Параметры
extern int      stoploss       = 50,       //уровень выставления SL, если 0, то SL не выставляется
                takeprofit     = 50,       //уровень выставления TP, если 0, то TP не выставляется
                MaxOrders      = 1,        //кол-во ордеров
                Magic          = 123456;   //уникальный номер ордера
extern double   LotBuy         = 0.1;      //объем ордера если 0 то не откоывать
extern double   LotSell        = 0.1;      //объем ордера если 0 то не откоывать
extern datetime TimeSet        = D'2014.08.25 15:00'; //Время выставления ордеров, если текущее время больше установленного, то выставляются сразу
extern int      attempts       = 10;       //кол-во попыток открытия

 


Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5  

Share this post


Link to post
Share on other sites
cmillion
Скрипт выставляет стоп ордер на то место куда его бросили или на расстояние Delta от цены, если Delta указана больше ноля.
BuyStop, если кинули Выше цены и SellStop если ниже.
Далее скрипт будет тралить этот ордер за ценой вплоть до срабатывания> после чего закончит свою работу.
Если не указан лот в параметре Lot, то скрипт сам вычисляет лот как разницу суммы лотов направлений (лок)
 
extern int     TakeProfit        = 0;     //тейкпрофит ордера, если 0 то нет стоплосса
extern int     StopLoss          = 0;     //стоплосс ордера, если 0 то нет стоплосса
extern int     Delta             = 0;     //расстояние от цены до ордера, если 0 то ордер открываем в точке, куда бросили его мышью
extern int     StepMove          = 1;     //шаг смещения ордера в пунктах
extern double  Lot               = 0.1;   //лот, если 0 то скрипт сам рассчитывает лок
extern int     Magic             = 100;   //уникальный номер ордера

 


Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5  

Share this post


Link to post
Share on other sites
cmillion

Описание:

Советник выставляет два противоположных ордера. Далее один из ордеров закрывается по тралу и выставляется следующая пара.

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

Параметры:

extern double Lot          = 0.01;

extern double K_Martin     = 1.5;   // Умножение последующих лотов

 

extern int    TrailingStart = 150;

extern int    TrailingStop = 50;

 

extern int    Magic        = 0;

extern bool   DrawInfo     = true;  // Вывод информации на экран

extern color  text_color   = Aqua;  // Цвет вывода информации

extern int    DigitsLot    = 2;     // Округление лотов ордеров 1- десятые (0.1)  2 сотые (0.01)

extern int    slippage     = 3;

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

Пример теста:

post-388374-0-72969300-1429093343_thumb.png

Удачной торговли!

cm-rollback a.mq4

Edited by AntFX
  • Thanks 1

Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5  

Share this post


Link to post
Share on other sites
kostynych

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

Share this post


Link to post
Share on other sites
cmillion

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

 

Я очень много писал сеточных советников. Некоторые из них есть в ветке https://forum.alpari.com/index.php?/topic/46653-bezindikatornyj-sovetnik-setka/ ***

Edited by AntFX

Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5  

Share this post


Link to post
Share on other sites
like009

Подскажите пожалуйста  

Скрипт Open Market Orders -- открывает  по текущей цене  сразу указанное в переменной orders кол-во ордеров по одной цене,выставит стопы у всех на одинаковом размере пунктов, тейки будут у всех разные, по мере увеличения.

Например, открылись 10 ордеров лотом 0,01, стопы у всех 400 пунктов, а тейки на первом — 50, на втором -100, на третьем — 150, на четвертом — 200 ну и так все 10 ордеров. Отличный скрипт. Вопрос : как его можно подправить чтоб он производил свои действия не по текущей цене а по отложенным ордерам? Заранее большое спасибо.

Share this post


Link to post
Share on other sites
cmillion

Подскажите пожалуйста  

Скрипт Open Market Orders -- открывает  по текущей цене  сразу указанное в переменной orders кол-во ордеров по одной цене,выставит стопы у всех на одинаковом размере пунктов, тейки будут у всех разные, по мере увеличения.

Например, открылись 10 ордеров лотом 0,01, стопы у всех 400 пунктов, а тейки на первом — 50, на втором -100, на третьем — 150, на четвертом — 200 ну и так все 10 ордеров. Отличный скрипт. Вопрос : как его можно подправить чтоб он производил свои действия не по текущей цене а по отложенным ордерам? Заранее большое спасибо.

Для этого есть скрипты открытия и закрытия сетки отложенных ордеров. Некоторые из них Вы можете найти и в данной ветке. ***

Edited by AntFX
пункт 9 правил форума

Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5  

Share this post


Link to post
Share on other sites
like009

Спасибо уважаемый Cimilion за ответ. А  не могли бы Вы, любезно, здесь выложить ссылку на эти скрипты. 

Share this post


Link to post
Share on other sites
Capman

Спасибо уважаемый Cimilion за ответ. А  не могли бы Вы, любезно, здесь выложить ссылку на эти скрипты. 

 

ссылка на сайт запрещена согласно пункту 9 правил форума

Edited by Capman

Share this post


Link to post
Share on other sites
cmillion

Спасибо уважаемый Cimilion за ответ. А  не могли бы Вы, любезно, здесь выложить ссылку на эти скрипты. 

а скрипт из 3 го поста не подходит?


Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5  

Share this post


Link to post
Share on other sites
cmillion

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

 

Скрипт cm_script_OpenGread[/size]

Выставляет сетку отложенных ордеров по Вашему выбору.[/size]

Можно выставлять Стоп и/или Лимит ордера в любом сочетании[/size]

Можно задавать время жизни ордеров[/size]

Можно задавать время выставления ордеров.[/size]

Варианты торговых стратегий различны, от торговли на новостях до математических ловушек.[/size]

Все зависит от Вашей фантазии.[/size]

 

 

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  "*** пункт 9 правил форума ***";  

cm_script_OpenGread_KP_080714.mq4

Edited by AntFX
пункт 9 правил форума

Пишу на заказ советники, индикаторы и скрипты для MT4 и MT5  

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×