Написать советника на базе уже готового

MQL4 专家

指定

Код советника будет предоставлен

на текущий момент советник рассчитан на то, чтобы работать против тренда
по тренду первая сделка сразу же закрывается и открывается новая
суть доработки в том, чтобы открывать по тренду 2-ю, 3-ю и т.д. сделки, до момента пока тренд не развернется. Чтобы не было брошенных ордеров после разворота тренда, открытым сделкам нужно будет устанавливать стоп-лосс на указанном в настройках уровне, чтобы когда тренд развернется ордера закрылись и не тянули убыток.

получается нужно добавить такого же советника только в другую сторону

и который будет работать по тренду
в то время как один работает против тренда
второй - по тренду

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




Алгоритм работы советника:
(все настройки описаны в конце файла)

Кидаем советник на график

Открывается первый ордер buy 0.01

Сетка строится по тренду

 

у 1-го колена сетки, ордера buy 0.01 нет TP (тейкпрофит)

далее рассмотрим 2 варианта движения котировок


1) по тренду:

к примеру у нас такие настройки:
Grid=25
GridTrend=15
Lot=0,01


Добавилась настройка GridTrend


2-е колено
если котировки проходят дальше по тренду
советник открывает ордер 2-го уровня сетки через GridTrend пунктов
объемом Lot предыдущего ордера*MultSize с округлением
тогда откроется ордер buy через 25 пунктов
но старый ордер buy 0.01 не закрывается
оба ордера теперь остаются в рынке

 

3-е колено
при движении котировок дальше по тренду
открывается 3-й  уровень сетки через 15 пунктов (GridTrend)
объем ордера формируется также как и раньше – это не трогаем


4-е колено
при движении котировок дальше по тренду
открывается 4-й  уровень сетки
при этом все 3 предыыдущих ордера открыты


если в настройках указано:
MultLotStart=3, то первые 2 колена будут одинаковым объемом равным Lot, в нашем случае это 0,01, и начиная с 3-го колена будет начинаться умножение сетки


 

Добавить настройку GridType. Она будет отвечать за шаг сетки. Значения: Fix – используется фиксированный шаг сетки, указанный в Rangestep, AddPips – к шагу будет добавляться цифра, указанная в параметре Grid_AddPips

Новые параметры:
Grid_Level1 - № п/п ордера (колена) сетки, начиная с которого (включительно) текущий шаг сетки будет корректироваться (на каждом колене) на GridStep_AddPips пипсов
Grid_AddPips - количество пипсов, на которое будет корректироваться текущий шаг сетки на каждом колене, начиная с колена GridLevel. Может быть =0, >0 и даже <0
Grid_Level2 - № п/п ордера (колена) сетки, начиная с которого (включительно) текущий шаг сетки будет корректироваться  (на каждом колене) на GridStep_Level2_AddPips пипсов
Grid_Level2_AddPips - количество пипсов, на которое будет корректироваться текущий шаг сетки на каждом колене, начиная с колена S_GridStep_Level2.   Может быть =0, >0 и даже <0
Данные настройки должны работать только для сетки против тренда
При работе по  тренду работает только параметр Grid_Trend, добавлять шаг по тренду нет необходимости

СТОП ЛОСС:

SL_level – колено сетки, начиная с которого будет устанавливаться первый стоп лосс
по умолчанию  SL_ level=3
1) как только открывается 3-е колено сетки
и котировки проходят указанное в настройках расстояние SL_otkat + SL_dop пипсов
советник устанавливает SL ордеру 1-го колена на уровень: цена 2-го ордера + SL_otkat пипсов,
чтобы в случае откате цены вся сетка buy схлопнулась

к примеру у нас открыт первый ордер
по цене 1,11000
и уже 2-е колено по цене 1,11200
в настройках указано:
SL_otkat=20
SL_dop=30
тогда при прохождении 20+30 пипсов по тренду SL сетки выставляется на уровень 1,11200+20=1,11220
это аналог трейлинг стоп, но разделен на две части для удобства и будет указываться в настройках

http://prntscr.com/pp8mvb

 

на последующих коленах делаем то же самое
то есть при открытии следующего колена и прохождении SL_otkat+ SL_dop по тренду стоп лосс для всех ордеров передвигается уже на следующее колено сетки

то есть как откроется ордер 3-го колена к примеру на 1.11400
то при прохождении SL_otkat+ SL_dop по тренду SL сетки выставляется на уровень цена 3-го ордера + SL_otkat пипсов
в нашем случае при прохождении 20+30=50 пипсов по тренду SL сетки выставляется на уровень 1,11400+20=1,11420


если SL_first_lvl=4
тогда первый стоп-лосс будет установлен при прохождении SL_otkat+ SL_dop после открытия 4-го колена сетки.
и далее стоп-лосс ставится всем последующим ордерам

 

также будет два типа стоп лосса: для всей сетки и для каждого ордера по отдельности. Подробно как работает описал в пункте Параметры ниже.




2) против тренда

против тренда все работает также как и раньше
единственное изменение – это если у нас остались незакрытыми сделки, которые были открыты по тренду, то они должны начать участвовать в усреднении и хеджироваться вместе с остальными ордерами

в этом видео есть частичное пояснение как работает сетка по тренду: https://youtu.be/v4SLeGa-htM

 

Параметры:

Lots – начальный объем одной сделки
Grid_ Trend - шаг сетки по тренду
RangeStep – шаг сетки
GridType -  Значения: Fix – используется фиксированный шаг сетки, указанный в Rangestep, AddPips – к шагу будет добавляться цифра, указанная в параметре Grid_AddPips
Grid_Level1 - № п/п ордера (колена) сетки, начиная с которого (включительно) текущий шаг сетки будет корректироваться (на каждом колене) на GridStep_AddPips пипсов
Grid_AddPips - количество пипсов, на которое будет корректироваться текущий шаг сетки на каждом колене, начиная с колена GridLevel. Может быть =0, >0 и даже <0
Grid_Level2 - № п/п ордера (колена) сетки, начиная с которого (включительно) текущий шаг сетки будет корректироваться  (на каждом колене) на GridStep_Level2_AddPips пипсов
Grid_Level2_AddPips - количество пипсов, на которое будет корректироваться текущий шаг сетки на каждом колене, начиная с колена S_GridStep_Level2.   Может быть =0, >0 и даже <0
SL_otkat - количество пипсов ТР, которое ставится предыдущему колену при откате котировок
SL_dop – доп. количество пипсов, которое нужно пройти, чтобы выставился TP предыдущему колену
SL_level – колено сетки, начиная с которого будет устанавливаться стоп лосс при прохождении SL_otkat+ SL_dop по тренду. По умолчанию –3. То есть первым двум коленам не ставится стоп лосс а начиная с третьего – ставим.
SL_type – тип стоп-лосса. Значения: All orders – все ордера, Each order – каждому ордеру отдельно. Должна быть возможность ставить стоп-лосс с первого же ордера. Когда выбрано All orders – стоп устанавливается всем ордерам сетки, когда же выбрано Each order
- то каждому по отдельности. К примеру робот открыл 3-е колено сетки, SL_level=3 и SL_type= All orders, , то при прохождении SL_otkat+ SL_dop по тренду стоп лосс будет установлен сразу для всех 3-х ордеров сетки на уровень цена 3-го ордера + SL_otkat. Если же SL_type= Each order, то стоп лосс будет установлен на уровень   цена SL_otkat для каждого ордера.
Если SL_type= Each order и SL_level=1, SL_otkat=50, SL_dop=30, то стоп-лосс должен быть устанвлен после установки первого же ордера при прохождении по тренду 50+30=80 пипсов на уровне 30 писк от цены открытия.

MaxOrders - максимум ордеров (после достижения максимума ордеров - новые не открываются)

Версию доработанного советника без внедрения второй части ТЗ прошу выложить отдельно для тестирования.

 
Второй FXSpace хежирующий первого

Суть такая: нужно советника, которого мы доработали в первом разделе тех. задания, запустить параллельно, но в другую сторону.
В момент когда FXSpace будет идти против тренда и заходить в просадку, на определенном уровне сетки, указанном в настройках, будет запускаться этот же советник – вторая копия, но уже по тренду.
Нужно добавить настройку: Activation_Hedge
Если Activation_Hedge=3, это означает что при открытии 3-го колена сетки против тренда, открывается первый ордер второго FXSpace, но уже по тренду и для него действуют все настройки по тренду.


Добавятся настройки 

Grid_Trend - шаг сетки по тренду
RangeStep (оастается) - шаг сетки против тренда (настройка остается, но будет работать только для сетки против тренда)
То есть теперь шаг сетки по тренду и против трена будет отличаться


MultSizeStart - № п/п ордера (колена) сетки, начиная с которого начинает применяться MultSize
MultSize_Trend – множитель объема сделки при движении котировок по тренду

Если MultSizeStart=3 и MultSize_Trend=1,5 то объём сделки начинает умножаться на 1,5 начиная с 3-го колена сетки.


Добавятся настройки 
Lots  – начальный объем одной сделки
Lots_Hedge – начальный объем одной сделки для второй сетки советника, которая включается через Activation_Hedge


КАК ОПРЕДЕЛЯЕМ ОБЪЕМ 1-Й СДЕЛКИ НОВОЙ СЕТКИ ПО ТРЕНДУ:
новая сетка по тренду строится в двух случаях:
1. Открылось   n-е колено сетки против тренда указанное в Activation_Hedge. Если Activation_Hedge=3, то как только откроется 3-е колено сетки против тренда, сразу открывается первый ордер сетки по тренду

2. Когда сетка ордеров по тренду при развороте курса захлопнулась (по SL)

Объем первой сделки определяется по NewSetkaLot
если выбрано Lots_Hedge – берется объем сделки Lots_Hedge, указанный в настройках, в нашем случае 0,02
если выбрано Previous, тогда первым лотом данной сетки будет последний лот предыдущей закрытой сетки, но если предыдущих сеток еще не было – просто берем значение Lots_Hedge
если выбрано Percent, то тогда первый лот новой сетки будет вычисляться по формуле: лотность последней открытой на данный момент сделки FXSpace против тренда* Percent  / 100,
то есть если я укажу 70% и лотность последней активной сделки сетки FXSpace будет 0.30, то FXSpace откроет по тренду сделку объемом 0.30*70/100=0,21

Добавится настройка:

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


Пример:

Настройки:
Lots – 0,01
Grid_Trend – 10
RangeStep – 15
GridType -  AddPips
Grid_Level1 – 2
Grid_AddPips - 10
Grid_Level2 - 5
Grid_Level2_AddPips - 20
Lots_Hedge – 0,02
MultSizeStart – 2
MultSize_Trend – 1,5
SL_otkat - 20
SL_dop – 70
SL_level – 3
SL_type – All orders
MaxOrders – 20
Activation_Hedge  – 3
Pips_to_open – 5
NewSetkaLot – Percent  
Percent – 50

1. Открывается первый ордер buy 0.01

2. котировки идут против тренда и через RangeStep 15 пунктов открывается 2-й ордер против тренда buy 0.02

3. котировки идут дальше против тренда и через Предыдущий шаг сетки +  Grid_AddPips  то есть 15 + 1=16 пунктов открывается третий ордер buy 0.03 и так как Activation_Hedge = 3  активируется FXSpace по тренду и открывается первая сделка sell 0.02 (NewSetkaLot – Percent   расчет: 0.03*50%=0,015 округляется до 0.02)

4. далее котировки продолжают идти вниз и через Предыдущий шаг сетки +  Grid_AddPips   то есть через 16 + 1=17 пунктов открывается  ордер buy 0.04 и sell 0.03 (MultSizeStart=2, то есть с 2-го колена по тренду мы начинаем умножать объем на MultSize_Trend, в нашем случае 0.02*1,5=0.03)

5. далее котировки продолжают идти вниз и так как  Grid_Level2 – 5 и Grid_Level2_AddPips – 20, то через Предыдущий шаг сетки +  Grid_Level2_AddPips то есть через 17 + 2 =19 пунктов открывается  ордер buy 0.05 и sell 0.05 (0.03*1,5=0.045 округляем до 0.05)
так как SL_level – 3, то как только котировки проходят расстояние 90 пипсов (20+70, SL_otkat+ SL_dop) то так как SL_type – All orders – ставим общий стоп лосс для всех открытых по тренду ордеров на уровень цена последнего открытого ордера sell 0.05 + 20 пипс (SL_otkat)
замечу что если бы SL_type стояло Each_order, то тогда бы стоп лосс был бы установлен на каждый ордер на расстоянии 20 пипсов от цены каждого ордера

6. далее котировки корректируются вверх и все ордера по тренду закрываются по стоп лосс, а открытые ордера против тренда частично закрываются согласно алгоритма FXSpace (попарно)

замечу что если бы SL_type стояло Each_order, то тогда бы стоп лосс был бы установлен на каждый ордер на расстоянии 20 пипсов ( SL_otkat) от цены каждого ордера
и тогда при откате котировок закрылся бы по стопу только последний ордер sell 0.05
остальные ордера остались бы в рынке

7. далее котировки продолжают идти вниз и так как  Grid_Level2 – 5 и Grid_Level2_AddPips – 20, то через Предыдущий шаг сетки +  Grid_Level2_AddPips то есть через 19 + 2 =21 пунктов открывается  ордер buy 0.06 по сетке против тренда
а по тренду у нас открывается новая сетка и так как NewSetkaLot = Percent  и Percent = 50 то открывается первый ордер sell объемом 0,03 (0,05*50/100=0,025 округляем до 0.03, формула: Лотность последней открытой на данный момент сделки FXSpace против тренда* Percent  / 100,
и т.д.


 

Рассмотрим ситуацию движения сразу по тренду

Открывается первый ордер buy 0.01
котировки идут по тренду и через Grid_Trend 10 пунктов открывается второй ордер buy 0.02 (MultSizeStart – 2, MultSize_Trend – 1,5, 0.01*1,5=0,015, округляем до 0.02)
котировки идут дальше по тренду и через Grid_Trend  10 пунктов открывается третий ордер buy 0.03 (0.02*1,5=0.03)
далее котировки идут по тренду вверх и так как SL_level – 3 то как они проходят 90 пипсов (20+70, SL_otkat+ SL_dop) то так как SL_type – All orders – ставим общий стоп лосс для всех открытых по тренду ордеров на уровень цена последнего открытого ордера buy 0.03 + 20 пипс (SL_otkat)

далее котировки корректируются вверх и все ордера закрываются по стоп лосс, открытых ордеров нет

замечу что если бы SL_type стояло Each_order, то тогда бы стоп лосс был бы установлен на каждый ордер на расстоянии 20 пипсов ( SL_otkat) от цены каждого ордера
и тогда при откате котировок закрылся бы по стопу только последний ордер buy 0.03
остальные ордера остались бы в рынке

что будет дальше
советник открывает первый ордер по индикатору в buy или sell
и работает дальше как обычно строя сетку по тренду или против тренда
если против тренда сетка начала строиться
то на колене на колене 3 (Activation_Hedge = 3) начнет строиться сетка по тренду
после прохождения по тренду до колена 3 (SL_level – 3) будет установлен стоп-лосс для всех ордеров сразу если выбрано SL_type – All orders  и для каждого при SL_type – Each order
далее при коррекции курса ордера по тренду могут закрыться
и затем при продолжении движения по тренду при отрытых позициях против тренда новая сетка по тренду снова открывается через Pips_to_open – 5
то есть достаточно 5 пипсов по тренду чтобы она активировалась
первым ордером у сетки по тренду будет при настройке NewSetkaLot – Percent, Percent – 50
ордер объемом в 50% от текущего открытого ордера сетки против тренда
если же будет стоять выбрано NewSetkaLot – Previous, то будет открыт последний ордер предыдущей закрытой сетки
к примеру у нас при откате котировок закрылся ордер объемом 0.04
тогда при установленном значении NewSetkaLot – Previous, первым ордером сетки по тренду будет ордер объемом 0.04   направлении противоположном сетке против тренда



Добавить настройку:
Investing запрос - возможность отключить запрос к investing.com (для тестера стратегий_
убрать обращение к ресурсу на новости - такая ошибка в тесетре чтобы не выводилась - https://prnt.sc/qrgy8x
это нужно чтобы быстрее прогонять тест в тестере стратегий
так как генерится ошибка и тестирование замедляется в несколько раз

Значения: Да, Нет


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


反馈

1
开发者 1
等级
(221)
项目
282
20%
仲裁
4
0% / 100%
逾期
4
1%
工作中
2
开发者 2
等级
(137)
项目
167
35%
仲裁
11
91% / 0%
逾期
0
空闲
3
开发者 3
等级
(24)
项目
34
15%
仲裁
2
0% / 50%
逾期
8
24%
空闲
4
开发者 4
等级
(236)
项目
440
26%
仲裁
125
21% / 57%
逾期
96
22%
工作中
5
开发者 5
等级
(16)
项目
32
47%
仲裁
1
0% / 100%
逾期
8
25%
空闲
相似订单
Добрый день, необходимо написать советник на основе индикатора Efess, Silatrenda и supertrend Вход по сигналу от индикатора Efess Направление открытий сделок - buy - sell -buy/sell Лот Фиксированный лот Процент от депозита Режим работы Разовая сделка (пока не закроется предыдущая следующая не открывается) Сетка все сделки могут открываться одновременно Варианты тейк профита Общий профит % от депозита (0
Добрый день! Необходимо конвертировать советник из MT4 в MT5 с сохранением функционала ! Код исходного файла *.mq4 в присоединенном файле, дополнительные модификации не требуются. Результат - сконвертированный файл в *.mq5 который выдает аналогичные результаты как и в исходном файле. Это все и больше ничего не нужно. Спасибо большое
Необходимо создать советник на МТ5, работающий по стратегии арбитража (торговля спредами между взаимозависимыми инструментами, парный и индексный арбитраж). Советник должен работать с различными фьючерсами и любым их количеством на Московской биржы рынка Forts брокер Финам . Суть стратегии заключается в одновременном разнонаправленном открытии, коррелируемых друг с другом инструментов (двух или нескольких), в
Полное описание с картинками находится в прикрепленных файлах. И видео по ссылке https://disk.yandex.ru/i/McpiCKVnkZRkDA как все работает ТЕХНИЧЕСКОЕ ЗАДАНИЕ М1 1. Название платформы (Я долларовый миллионер 1.0), которую можно свободно перемещать мышкой курсора на графике удерживая в границах белого, светло-серого и тёмно-серого цвета. 2. Когда платформа находится на графике она никак не функционирует
На сервере хранится и обновляется информация в формате JSON. Это расчетные исходящие данные для индикатора. Эти данные требуется ретранслировать в МТ и построить ценовые уровни и др. элементы тех. анализа. Требуется создать панель управления настройками индикатора и информационное окно. Загрузка истории через запрос, live data - ws. Особые требования к оформлению и скорости обработки данных, работа при постоянной
Доброго дня, коллеги! Нужен хороший программист, имеющий достаточный опыт в реализации советника с использованием локирования. В советнике использовано усреднение, а при помощи тёх индикаторов из метатрейдер будет происходить измерение тренда и тенденции. Размещаю ссылку на статью про локирование ( https://equity.today/lokirovanie-v-trejdinge.html ) просьба изучить и если не понимаете как это отобразить в коде, лучше
Доброго дня, коллеги! Нужен хороший программист, имеющий достаточный опыт в реализации советника с использованием локирования. В советнике использовано усреднение, а при помощи тёх индикаторов из метатрейдер будет происходить измерение тренда и тенденции. Размещаю ссылку на статью про локирование ( https://equity.today/lokirovanie-v-trejdinge.html ) просьба изучить и если не понимаете как это отобразить в коде, лучше
Код советника для МТ4, создающего большой торговый оборот и имеющим небольшие просадки. Можно стратегии с замками, пирамидингом, усреднением, стопами, рассмотрим все варианты. Желательно, чтобы были тесты на истории и с демки
Торговый робот анализирующий уровни пробоев на график вью на форекс торгующий на прорыв уровней как на покупку так и на продажу с усреднением в нескольких таймфреймах (1час,2 часа, 3 часа, 4часа,1 день),выставлением тейк профит и стоп селл и заключающий сделки на мт5 ТЗ все фото отчёты всю информацию уже обсуждаем непосредственно при договорённости
Ищем разработчика для создания копира сигналов из Telegram в MT4 с функциями фильтрации сигналов и гибкими настройками ордеров, без использования DLL. Основные возможности должны включать фильтрацию сигналов по ключевым словам, настраиваемые уровни SL/TP, поддержку нескольких каналов и управление размером лота (фиксированный, на основе баланса или из сигнала). Решение должно обрабатывать различные форматы сигналов

项目信息

预算
50 - 150 USD
开发人员
45 - 135 USD
截止日期
 1  3 天