Как не хватает таких "основ" на mql4) Перелопатил все сеточники, мартины, какие-то все нагромождённые.
Вообще, идея готовых блоков (минимальный код для мартина, сеток, временной торговли, простейшей нейросети, корелляции, торговой панели, инфопанели и тд) классная.
Как не хватает таких "основ" на mql4) Перелопатил все сеточники, мартины, какие-то все нагромождённые.
Вообще, идея готовых блоков (минимальный код для мартина, сеток, временной торговли, простейшей нейросети, корелляции, торговой панели, инфопанели и тд) классная.
1 минуту в поиске https://www.mql5.com/ru/code/9515

А я на скрипты не обращал внимания
Подскажите пожалуйста как добавить в скрипт стоп лосс. Нужно добавить класс и функцию, я просто не так хорошо разбираюсь в js.
Здравствуйте, Александр! Вставляете во входных параметрах переменную StopLoss, присваиваете её начальное значение, например 500 пунктов, и в теле кода добавляете эту переменную (добавленный код выделен желтым цветом). Получится Вот так:
//+------------------------------------------------------------------+ //| grid.mq5 | //| Copyright 2020, Zakhvatkin Aleksandr | //| https://www.mql5.com/ru/users/z.a.m | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, Zakhvatkin Aleksandr" #property link "https://www.mql5.com/ru/users/z.a.m" #property version "1.00" #property script_show_inputs //--- input parameters input double FixedLot=0.1; // Fixed lot input ushort StopLoss=500; // Stop loss input ushort TakeProfit=200; // Take profit input ushort Grid_step=100; // Grid step input ushort N_orders=10; // Number of orders in one direction input ushort Distance=50; // Price offset input bool LimitGrid=false; // Set a grid of limit orders //--- include #include <Trade\Trade.mqh> CTrade trade; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- for (int j=1; j<=N_orders; j++) { if (!LimitGrid) { double _pricebuy = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK)+Distance*_Point+Grid_step*j*_Point,_Digits); double _pricesell = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID)-Distance*_Point-Grid_step*j*_Point,_Digits); trade.BuyStop(FixedLot,_pricebuy,NULL,_pricebuy-StopLoss*_Point,_pricebuy+TakeProfit*_Point,0,0,NULL); trade.SellStop(FixedLot,_pricesell,NULL,_pricesell+StopLoss*_Point,_pricesell-TakeProfit*_Point,0,0,NULL); } else { double _pricebuy = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK)-Distance*_Point-Grid_step*j*_Point,_Digits); double _pricesell = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID)+Distance*_Point+Grid_step*j*_Point,_Digits); trade.SellLimit(FixedLot,_pricesell,NULL,_pricesell+StopLoss*_Point,_pricesell-TakeProfit*_Point,0,0,NULL); trade.BuyLimit(FixedLot,_pricebuy,NULL,_pricebuy-StopLoss*_Point,_pricebuy+TakeProfit*_Point,0,0,NULL); } } } //+------------------------------------------------------------------+
С уважением, Владимир.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Grid:
Скрипт выставляет сетку отложенных ордеров.
Автор: Aleksandr Zakhvatkin