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

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)
プロジェクト
281
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%
類似した注文
Советник для открытия и закрытия сделки при определенном формировании свечи на основе графика Рэндж баров, 1)Условия открытия ордера на покупку или продажу при закрытии сформированной свечи. 2)Переменная в пунктах при которой ордер закрывается (Стоп лосс) 3)Переменная в пунктах при которой ордер закрывается (Тэйк профит) 3)Ордер всегда может быть только один пока не достигнет Тэйка или Стопа ВСЕ
Нужен скрипт на C# для Multicharts .net скрипт, который работает с тремя таймфреймами одного инструмента (10, 15, 60 минут), то есть тремя наборами данных, открывает сделки в лонг, если индикатор RSI на одном из наборов данных вышел из зоны перепроданности, то есть пересек уровень 30, закрывает сделку в двух случаях, первый: если достиг уровня перекупленности по RSI на том же наборе данных, второй если достиг уровня
Есть индикатор нужно сделать скриншоты плюсовых сделок. Как работает индикатор могу показать. Скриншоты сначала делаются на одной версии( для разработчиков), потом сделать в тестере скрины в другой версии индикатора. Также на скриншоте должна быть одна сделка( скриншотов длжно быть более 20)
**Техническое задание (ТЗ) для торгового робота на платформе Pocket Option** Здравствуйте! Мне нужен торговый робот для работы на платформе **Pocket Option** (бинарные опционы). Основная задача робота – открывать сделки по стратегии **мартингейл**. В случае неудачной сделки робот должен увеличивать сумму следующей ставки в **2,5 раза**, пока не будет достигнута прибыль. Однако, мне нужен робот с более «умным»
**Техническое задание (ТЗ) для создания торгового робота на MetaTrader 4/5** **Добрый день, дорогие фрилансеры!** Я ищу опытного разработчика для создания торгового робота на платформу MetaTrader 4 или MetaTrader 5. У меня есть несколько ключевых требований и пожеланий, которые необходимо учесть при разработке. Я не обладаю глубокими знаниями в программировании и функционировании торговых роботов, поэтому надеюсь
Создать скрипт или робот , который выставляет отложные ордера , через определённое количество пунктов. закрытие по тэйк профит? Сколько стоит? После закрытия на место этого ордера должен выставляться точно такой же . После первого открытия должны быть выставлены отложные ордера в обе стороны , через определенное количество пунктов. ( В настройках должна быть возможность выставлять интервал через который будут
Здравствуйте! Нужно доработать существующий советник, а именно добавить в него 4 новых функции. Желательно найти человека, который работал с такими моментами, как: слом рыночной структуры, имбаланс. Одна из этих функций очень простая и легкая в реализации. ТЗ для оценки отправлю Вам в чате
-перевод графика mt 4 в он-лайн график ренко с регулировкой степа (размером кирпичика ренко), Затем поиск линии отбоя по двум точкам ,где вторая точка линии это 7 или 9 точка графика ренко, а первая точка линии совпадает с первой точкой графика ренко
добавить сюда функцию чтобы обойти лимит лотов, т к размер лота увеличивается в процентном соотношении от баланса добавить функцию что если превышен лимит лота то открывается еще ордера с лотами чтобы соответствовать текущему размеру требуемых для открытия лотов допустим был лот 100, следующий нужен будет открыть 120, робот открывает 1 ордер на 100 и в туже секунду еше 1 ордер на 20 лотов, допустим нужен лот 720 то
Добрый день! Нужна программа копировщик сделок с одного счета deriv на другой при помощи API токена. Параметры: Можно выбрать по какому риск менеджменты копируются сделки (masaniello или Лабушер, мартингейл, антимартингейл) Начальный лот тейк профит 1 - устанавливается именно на сделки скопированные программой, при достижении тейк профита 1 или прекращает работать (Stop) или пере запасается работа сначала (ресет)

プロジェクト情報

予算
50 - 150 USD
開発者用
45 - 135 USD
締め切り
最低 1 最高 3 日