Кілька скриптів, для спрощення торгівлі

1 Скрипт закриття ордерів

extern int Magic = 0; // закривати тільки угоди з магічно 0-відкриті вручну
extern bool MagicAll = true; // якщо true - закривати всі
extern int Profit = 0; // закривати тільки угоди з прибутком більше Profit
extern int TipOrder = 0; // (0) - все ордера (1) - Buy (-1) - Sell
extern bool SymbolAll = false; // якщо true - все валютні пари false - тільки поточні
extern bool DeleteOrders = true; // якщо true - видаляти і відкладені false - тільки ринкові
extern int attempts = 10; // кількість спроб закриття

Скрипт закриває ордера за умовою. Умови задаються в налаштуваннях.
Можна вибирати певні ордера по профітом, магічно або символу.

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

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 спроб виставлення ордера, після чого скрипт завершиться.

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

extern string варіанти_стоплосс = "(0) - немає SL; (-1) по фракталам (-2) по зигзагу";
extern int stoploss = - 2. // рівень виставлення SL, якщо 0, то SL не виставляти якщо - 1 то по фракталам якщо -2 то по зигзагу
takeprofit = 0. // рівень виставлення TP, якщо 0, то TP не виставляти
Magic = 777. // унікальний номер ордера
Orders = 1; // кількість встановлюваних ордерів
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; // Виставлення стопів на наступному тику
extern string определеніе_фрактала = "";
extern int Fractal = 10; // скільки барів з кожного боку використовується для визначення потрібного фрактала
extern string параметри_зігзага = "";
extern int Zigzag_Depth = 12;
extern int Zigzag_Deviation = 5;
extern int Zigzag_Backstep = 3;
extern int Delta = 1; // відступ від фрактала або свічки при виставленні стопа

Open Orders Market Execution Fr Zg.mq4
================================================== =============================
4 Автоматична установка стопів.
Радник виставляє стоп лосс і тейк профіт у всіх позицій поточного інструменту (і ринковим і отложкам), якщо виставлено значення менш STOPLEVEL, то радник не змінює стоп.

stoploss - рівень виставлення SL. якщо 0. то SL не змінюється
takeprofit - рівень виставлення TP. якщо 0. то TP не змінюється

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 $, все ордера закриються.


У радника тільки одна преременная Profit (задається в пунктах).
Як тільки прибуток ордера буде рівною або більше цього значення радник закриє ордер.

extern string SYMBOL1 = "GBPUSD"; // перший символ
extern string SYMBOL2 = "EURUSD"; // другий символ
extern double LOT1 = 0.1; // лот першого інструменту
extern double LOT2 = 0.1; // лот другого інструменту
extern int TYPE1 = OP_BUY; // тип ордера першого інструменту
extern int TYPE2 = OP_SELL; // тип ордера другого інструменту
extern int stoploss = 10. // рівень виставлення SL, якщо 0, то SL не виставляти
takeprofit = 10; // рівень виставлення TP, якщо 0, то TP не виставляти
extern int Slippage = 3; // прослизання
extern int Magic = 777888;

Варіант з 3 валютами cm_ea_Hedge3.mq4
Радник, виставляє 3 ордера по 3м валют якщо за всіма зазначеними парам немає відкритих позицій. Може використовуватися як скрипт.
Робота:
При старті перевіряє чи є відкриті позиції за вказаними в налаштувань парам і якщо є хоч одна то припиняє роботу, якщо немає відкритих позицій то виставляє їх. Відмінність роботи скрипта від радника тільки в тому, що скрипт це буде робити 1 раз, а радник постійно на кожному тику контролюється ситуацію по відкритих позиціях.
================================================== =============================
8 Радник для оперативного виставлення і зміни стопів

Радник ставить лінії (червоні для sell і сині для buy) і по цих лініях ставить стоп лосс і тейкпрофіт. Якщо лінію видалити, то відмінятися і відповідні стопи.
При премещенія лінії переміщуються і стопи під ними.

extern bool BUY = false; // дозволити змінювати Buy
extern bool SELL = true; // дозволити змінювати Sell
extern int Stoploss = 20. // стоплосс ордерів
Takeprofit = 20; // тейкпрофіт ордерів
extern bool DelStopNoLine = true; // видаляти стопи при відсутності лінії

_OpenOrders
Скрипт відкриває ринковий ордер за поточною ціною.
Якщо Ви відпустили кнопку миші нижче поточної ціни, то буде виставлений Sell,
якщо вище, то Buy
Можна відразу вказати рівні стопів або після виставити їх іншим скриптом.

_LimitOrders
Скрипт виставляє лімітний ордер за тією ціною куди Ви кинули скрипт.
Якщо Ви відпустили кнопку миші вище поточної ціни, то буде виставлений SellLimit,
якщо нижче, то BuyLimit
Можна відразу вказати рівні стопів або після виставити їх іншим скриптом.

_StopOrders
Скрипт виставляє стоп ордер за тією ціною куди Ви кинули скрипт.
Якщо Ви відпустили кнопку миші нижче поточної ціни, то буде виставлений SellStop,
якщо вище, то BuyStop
Можна відразу вказати рівні стопів або після виставити їх іншим скриптом.

_StopLimitOrders.mq4
Скрипт виставляє стоп і ліміт ордер на одну ціну, зазначену мишкою
параметри
MQL-Код:
extern int Stoploss.Limit = 0, // стоплосс ордерів Takeprofit.Limit = 0; // тейкпрофіт ордерів extern double Lot.Limit = 0.2; // лот extern int Magic.Limit = 0; // унікальний номер ордерів цього радника, якщо 0 то веде все ордера, в тому числі виставлені вручну extern int Stoploss.Stop = 0, // стоплосс ордерів Takeprofit.Stop = 0; // тейкпрофіт ордерів extern double Lot.Stop = 0.1; // лот extern int Magic.Stop = 0; // унікальний номер ордерів цього радника, якщо 0 то веде все ордера, в тому числі виставлені вручну

Те ж саме що і _StopLimitOrders, тільки відкладені ордери виставляються з різницею в спред.
Використовувати тільки в ДЦ з фіксованим спредом
_TP Mouse.mq4
Скрипт виставляє в точці, в яку Ви його кинули, тейкпрофіт всім ордерами, для яких можливий тейкпрофіт в даній точці.

_SL Mouse.mq4
Скрипт виставляє в точці, в яку Ви його кинули, стоплосс всім ордерами, для яких можливий стоплосс в даній точці.

cm_DeleteOrders.mq4
Скрипт видаляє всі відкладені ордери тієї валютної пари, на котогрую він кинутий
C урахуванням Магіка
cm_DeleteOrdersMagic.mq4

DeleteSLTP
Скрипт видаляє стоплосс і тейкпрофіт всіх ордерів

_CloseDeleteMouse
Скрипт закриває або видаляє (в залежності від типу ордера) ті ордера, на ціну яких він кинутий.
Ціна визначається з точністю плюс / мінус slippage (настройка в параметрах)

cm_CloseDeleteMousePercent.mq4 - скрипт закриває відсоток від ордера, тобто не весь ордер, а тільки його частину
За замовчуванням в налаштуваннях коштує 50%, якщо кому то потрібен інший відсоток закриття, то відкриваємо скрипт в MetaEditor і в рядку виставляємо потрібний відсоток закриття, після чого компілюємо.
MQL-Код:
extern double Percent = 50; // відсоток закриття ордера

Працює скрипт так: Беремо його мишею і кидаємо на лінію того ордера який потрібно частково закрити.


cm-management v 0.4.mq4
Його можна встановлювати як радник або як скрипт.
Сам він ордера не виставляє, стопи теж.
При запуску на всі наявні відкладені ордери і на все стопи радник накидає лінії з відповідними написами.
Переміщаючи лінії, відповідні їм ордера або стопи переміщуються.
При видаленні лінії віддаляється і ордер або стоп.

_NL ALL BUY Mouse
_NL ALL SELL Mouse
Скрипти перекладу в безубиток серій ордерів BUY і SELL
Скрипти призначені для установки стоплоссов або тейкпрофітов всієї серії односпрямованих ордерів таким чином, щоб вся серія закрилася в сумарний нуль (якщо MinProfit = 0) або вказану в змінної MinProfit (пункти) прибуток.
Скрипи самі визначають встановити їм стоплосс або тейкпрофіт ордерами. Це залежить від того в прибутку чи збитку знаходиться вся серія.

Кидаєш на екран і з'являються трендові лінії, їх можна ставити куди завгодно і в якому завгодно кутом, при цьому скрипт буде вести відкладені стоп і ліміт ордери по своїх лініях.
Якщо лінію видаляємо, то ордер теж видаляється, якщо правий край лінії має час менше поточного, то теж ордер видаляється.

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

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

================================================== =============================
12.скріпт закриття і видалення з вибором за розміром лота
Скрипт видаляє і / або закриває ордера, з фільтрацією їх за обсягом

extern double MinLot = 0.01; // мінімальний лот який видаляємо / закиваем
extern double MaxLot = 0.1; // максимальний лот який видаляємо / закиваем
extern bool Buy = false; // закривати buy позиції
extern bool Sell = false; // закривати sell позиції
extern bool pending = true; // видалити відкладені ордери
extern int slippage = 2; // прослизання ціни при закритті ринкових позицій

================================================== =============================
13 управління ордерами з вибором їх за допомогою відрізка
При запуску скрипта він малює відрізок від самого нижнього виставленого ордера до самого верхнього, тим самим перетинає всі ціни відкриття ордерів. Змінюючи положення відрізка ми змінюємо область вибору ордерів. Скрипт дозволяє проводити наступні дії над обраними ордерами.

Робота з обраними відрізком відкладеними ордерами
("Видалити все");
( "Видалити стоп");
( "Видалити ліміт");

Робота з обраними відрізком ринковими позиціями
( "Закрити всі");
( "Закрити BUY");
( "Закрити SELL");

================================================== =============================
14 переворотних скрипт
Скрипт перевертає позицію на яку його кинули.
Тобто закриває відкриту ринкову позичена і тут же відкриває протилежну їй з тим же лотом за поточною ціною.
cm_ReversMouse.mq4

7 stop orders
Скрипт виставляє до 7 стоп ордерів за тією ціною, куди його кинули на графік
У кожного ордера можна виставити свої рівні стопів і лот

MQL-Код:
extern int stoploss_1 = 100, // рівень виставлення SL, якщо 0, то SL не виставляти takeprofit_1 = 10; // рівень виставлення TP, якщо 0, то TP не виставляти extern double Lot_1 = 0.1; // обсяг ордера, якщо 0, то чи не виставляється extern int stoploss_2 = 100, // рівень виставлення SL, якщо 0, то SL не виставляти takeprofit_2 = 20; // рівень виставлення TP, якщо 0, то TP не виставляти extern double Lot_2 = 0.2; // обсяг ордера, якщо 0, то чи не виставляється extern int stoploss_3 = 100, // рівень виставлення SL, якщо 0, то SL не виставляти takeprofit_3 = 30; // рівень виставлення TP, якщо 0, то TP не виставляти extern double Lot_3 = 0.2; // обсяг ордера, якщо 0, то чи не виставляється extern int stoploss_4 = 100, // рівень виставлення SL, якщо 0, то SL не виставляти takeprofit_4 = 40; // рівень виставлення TP, якщо 0, то TP не виставляти extern double Lot_4 = 0.2; // обсяг ордера, якщо 0, то чи не виставляється extern int stoploss_5 = 100, // рівень виставлення SL, якщо 0, то SL не виставляти takeprofit_5 = 50; // рівень виставлення TP, якщо 0, то TP не виставляти extern double Lot_5 = 0.2; // обсяг ордера, якщо 0, то чи не виставляється extern int stoploss_6 = 100, // рівень виставлення SL, якщо 0, то SL не виставляти takeprofit_6 = 60; // рівень виставлення TP, якщо 0, то TP не виставляти extern double Lot_6 = 0.2; // обсяг ордера, якщо 0, то чи не виставляється extern int stoploss_7 = 100, // рівень виставлення SL, якщо 0, то SL не виставляти takeprofit_7 = 70; // рівень виставлення TP, якщо 0, то TP не виставляти extern double Lot_7 = 0.2; // обсяг ордера, якщо 0, то чи не виставляється extern int Delta = 0; // зміщення ордерів відносно один одного, якщо 0, то все ордера встануть на одну ціну extern int slippage = 3, // Максимально допустиме відхилення ціни для ринкових ордерів Magic = 0; // унікальний номер ордера

================================================== =============================
16 _ Trail Lock (Stop Order) Скрипт виставляє стоп ордер на те місце куди його кинули або на відстань Delta від ціни, якщо Delta вказана більше нуля.
BuyStop, якщо кинули Вище ціни і SellStop якщо нижче.
Далі скрипт буде тралити цей ордер за ціною аж до спрацьовування> після чого закінчить свою роботу.
Якщо не вказано лот в параметрі Lot, то скрипт сам обчислює лот як різницю суми лотів напрямків (лок)

19 Отложка стрибає по барам
Скрипт виставляє стоп ордер на те місце куди його кинули або якщо ближче допустимого, то на найближчий екстремум свічки
BuyStop, якщо кинули Вище ціни і SellStop якщо нижче
Далі скрипт буде тралити цей ордер по екстремумам свічок до спрацьовування> після чого закінчить свою роботу.
Якщо не вказано лот в параметрі Lot, то скрипт сам обчислює лот як різницю суми лотів напрямків (лок)
cm tral stop orders.mq4

20 Buy Stop Limit і Sell Stop Limit
Установка відкладених ордерів при досягненні зазначеної ціни
_BuySellStopLimit.mq4
опісаніе.txt

Схожі статті