Техническое задание
Нужна конвертация простенького советника mql4 в mql5
#include <stdlib.mqh> extern int Magic = 1; extern double Lots = 0.1; extern bool Tral = true; extern int TrailingStopLoss = 30; extern double Utral = 150; extern bool Sound = true; int slippage = 3; static int prevtime = 0; double FirstPositionPrice; int order_MgcNum=0, err=0, ticket=0, res; bool result = True; double MyPoint; int init() { if (Digits == 5 || Digits == 3) { TrailingStopLoss=TrailingStopLoss*10; } return(0); } int start() { if (Tral) TrailingPositions(TrailingStopLoss, 1, Magic); int total,cnt,pos,order; string order_comment = Symbol()+", Period "+Period()+", ADX "+Magic; //if (Volume[0]>5) return(0); double i1 = iADX(Symbol(),0,13,0,MODE_PLUSDI,0); double i2 = iADX(Symbol(),0,13,0,MODE_MINUSDI,0); if (i1<i2) { if(CheckExists(OP_SELL)) { total=OrdersTotal(); pos=0; for (cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS); if ((OrderSymbol() == Symbol())&&(OrderMagicNumber()==Magic)) { order=OrderTicket(); pos=1; if (IsTradeAllowed() && (OrderType() == OP_BUY)) { RefreshRates();// Новые Аск и Бид result = OrderClose(order,Lots,Bid,3); if (result)OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,order_comment,Magic,0,Red); if (!result) { err=GetLastError(); } return(0); } } } if ((pos==0) && IsTradeAllowed()) { RefreshRates();// открытие с рынка res=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,order_comment,Magic,0,Red); if (res<0) {Alert("Ошибка открытия ордера SELL #", GetLastError()); return (0);} return(0); } } } if (i1>i2) { if(CheckExists(OP_BUY)) { total=OrdersTotal(); pos=0; for (cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS ); if ((OrderSymbol() == Symbol()) && (OrderMagicNumber() == Magic)) { order=OrderTicket(); pos=1; if (IsTradeAllowed()&& (OrderType() == OP_SELL)) { RefreshRates();// Новые Аск и Бид result = OrderClose(order,Lots,Ask,3); if(result)OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,order_comment,Magic,0,Lime); if(!result){ err=GetLastError(); } return(0); } } } if ((pos==0) && IsTradeAllowed()) { RefreshRates();// открытие с рынка res=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,order_comment,Magic,0,Lime); if (res<0) {Alert("Ошибка открытия ордера BUY #", GetLastError()); return (0);} return(0); } } } return(0); } //---------------------------------------------------------------------------------+ void TrailingPositions(int trailingStopLoss, int trailingStep, int MagicNumber) { double bid = 0; double ask = 0; double X=1; for (int i = 0; i < OrdersTotal(); i++) { if (!(OrderSelect(i, SELECT_BY_POS)) || OrderSymbol() != Symbol() ) { continue; } bid = MarketInfo(OrderSymbol(), MODE_BID); ask = MarketInfo(OrderSymbol(), MODE_ASK); if (OrderType() == OP_BUY&&Bid-OrderOpenPrice()<Utral*Point&&OrderMagicNumber() == MagicNumber) { if (bid - OrderOpenPrice() > X*trailingStopLoss * Point) { if (OrderStopLoss() < bid - (X*trailingStopLoss + trailingStep - 1) * Point || OrderStopLoss() == 0) { OrderModify(OrderTicket(), OrderOpenPrice(), bid - X*trailingStopLoss * Point, OrderTakeProfit(), OrderExpiration(),Aqua); if(Sound == true)PlaySound("ok.wav"); } } } else if (OrderType() == OP_SELL&&OrderOpenPrice()-Ask<Utral*Point&&OrderMagicNumber() == MagicNumber) { if (OrderOpenPrice() - ask > X*trailingStopLoss * Point) { if (OrderStopLoss() > ask + (X*trailingStopLoss + trailingStep - 1) * Point || OrderStopLoss() == 0) { OrderModify(OrderTicket(), OrderOpenPrice(), ask + X*trailingStopLoss * Point, OrderTakeProfit(), OrderExpiration(),Aqua); if(Sound == true)PlaySound("ok.wav"); } } } } } bool CheckExists(int Type) { bool Result = True; for(int i = 0; i < OrdersTotal(); i++) if(OrderSelect(i, SELECT_BY_POS)) if(OrderType() == Type && OrderMagicNumber() == Magic && OrderSymbol() == Symbol()) if(OrderOpenTime() >= Time[0]) Result = False; for(i = 0; i < OrdersHistoryTotal(); i++) { if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) if(OrderType() == Type && OrderOpenTime() >= Time[0] && OrderMagicNumber() == Magic && OrderSymbol() == Symbol()) Result = False; } return(Result); }
Откликнулись
1
Оценка
Проекты
327
55%
Арбитраж
17
12%
/
47%
Просрочено
104
32%
Свободен
2
Оценка
Проекты
367
56%
Арбитраж
45
22%
/
56%
Просрочено
188
51%
Свободен
Опубликовал: 1 статью, 6 примеров
3
Оценка
Проекты
8
13%
Арбитраж
1
0%
/
0%
Просрочено
0
Свободен
Опубликовал: 2 примера
Похожие заказы
1. Общая концепция Советник предназначен для автоматического обнаружения ценовых волн, их визуализации с помощью инструмента «Сетка Фибоначчи» и циклической торговли на откатах. Основная особенность — мультиволновой режим: советник должен одновременно отслеживать и отрисовывать все движения, подходящие под фильтр размера. 2. Логика поиска и визуализации волн Динамическое натяжение: Советник сканирует рынок на глубину
Принять сигналы через webhook
70 - 150 USD
Здравствуйте! Мне необходимо написать торгового советника (Expert Advisor) для MetaTrader 5, который будет работать по сигналам из TradingView через Webhook. Ключевая особенность: Робот должен иметь систему подтверждения сигнала перед входом и систему экстренного закрытия при исчезновении сигнала. Технические требования: 1. Связь: Прием сигналов в формате JSON через Webhook. 2. Риск-менеджмент: * Лот: Автоматический
Приветствую! Нужно написать не сложного эксперта который будет работать с ордерами открываемыми другим существующим экспертом. Нужно что б новый эксперт мог : Выставлять стоп в плюс по открытым ордерам, задавать трейлинг стоп, и самое главное, закрывать все ордера по старшему (последнему) ордеру. Детали в личке опишу
Ищу опытного разработчика для работы с торговыми роботами в MetaTrader 5 и сопутствующими инструментами на Python. Основные задачи: Реализация/модификация советника MT5 на MQL5 по стратегиям (с сеткой, динамическим лотом, TP/SL, частичной фиксацией прибыли); Внедрение или адаптация готового MQL5-модуля в существующий советник без нарушения логики; Написание вспомогательных скриптов на Python для: • сбора и анализа
Доброго дня. Нужен советник на основе индикатора, либо скрипт Trading View. Лучше это оформит в качестве программы на Python. Но если код легче будет через PineScript, то можно и скриптом. Главное чтобы последовательность соблюдалась с первого по четвертый пункты из ТЗ (во вложении). Индикатор есть, предоставлю, хотелось бы понять примерную стоимость, создания советника. Спасибо. В индикаторе много параметров, но
Подобные решения уже есть в интернете, написаны в виде советника. Из их минусов - разработчики советника предоставляют котировки около 50 торговых пар. Мне необходимо, чтобы в мт5 поступали котировки абсолютно всех торговых пар. Ссылку на подобный советник могу предоставить, как на ориентир, образец
1) Советник открывает двойной ордер одинакового объёма разного направления, заданного в параметрах, как стартовый лот; этот ордер считается нулевым; 2) По ходу движения цены в любую сторону советник открывает на каждом шаге сетки двойные ордера, согласно множителю (5.) и условиям пункта 29.; Визуально - это выглядит так, что вся сетка состоит из двойных ордеров, либо по краям сетки всегда остаются двойные ордера, при
Необходимо создать советник на MQL 5, который будет торговать по областям поддержки/сопротивления. Области поддержки/сопротивления наносятся на график человеком вручную при помощи фигуры «Прямоугольник». При достижении ценой прямоугольника, и в зависимости от цвета данной фигуры (цвет задается в настройках) советник открывает сделку на покупку или на продажу. Далее сделка сопровождается по заданному алгоритму. В
Информация о проекте
Бюджет
10- USD
Сроки выполнения
до 5 дн.