Добавить в советник MQL5 временные характеристики, перенос позиции и включение/отключение уровня

MQL5 专家

工作已完成

执行时间2 天
员工反馈
Всё отлично, благодарю за заказ! Очень быстрая, качественная проверка.
客户反馈
Отличный разработчик, советник работает как и планировалось

指定


У меня уже есть советник, внутрь которого нужно добавить временные характеристики, перенос позиции и включение/отключение уровня.

Комментарий-1: levelrobot (во вложении) - это самодельный советник имеющий простой принцип "выше/ниже". Если цена выше заданного уровня - levelrobot покупает, если ниже заданного уровня - levelrobot продаёт. Levelrobot создан как уровень безубытка от точки входа, он не сидит в убыточных сделках почти совсем (только определённое кол-во времени), вместо этого происходит очень много перезаходов как можно ближе к желаемой цене.

Комментарий-2: Ведётся по большей части ручная торговля. Разрабатываемый новый советник включается и отключается вручную.

Комментарий-3: На один период/день задаётся только одна сделка, которая закрывается:
- либо по SL/TP/TS (уже есть в советнике) 
- либо по принципу советника levelrobot когда цена пошла не в ту сторону (уже есть в советнике)
- либо в конце периода или времени окончания торгов (этого нету в советнике)


Что добавить:

1. Режим торговли. Три значения на выбор:
- Интрадей
- Периоды
- Выкл.

1.1. Интрадей:
Задаётся точное календарное время старта торгов (к примеру 01:00) и время окончания торгов (к примеру 23:55) на один день. 

1.1.1. По умолчанию: во время старта торгов задаётся level (уровень), либо сразу открывается сделка (пункт 2. level, вкл./выкл.), а во время окончания торгов все сделки закрываются.

1.1.2. Добавляется параметр «Перенос позиции через ночь» вкл./выкл.
При вкл.:
- Если сделка открыта и в конце дня она в плюсе, то на следующий день переносится только позиция. Начиная со следующего торгового дня, старый SL/TP/TS/Levelobot обнуляется и задаются новые, на новый день. 
- Если сделка открыта и в конце дня она в минусе, то она закрывается в конце текущего дня и с нового дня всё по новой.
- Если сделка под конец дня так и не была открыта или она уже исполнилась в течении дня по SL/TP/TS/Levelobot, то с нового дня всё по новой.

При выкл. - параметр не применяется, сделка закрывается в конце времени окончания торгов

-----------------------

1.2. Периоды:
При таком подходе задаются периоды, пока советник не будет остановлен вручную.

1.2.1. Торговые минуты, не календарные. Это нужно чтобы не учитывать время когда период выпадает на выходной или любое нерабочее время.

1.2.2. Параметр задаётся в минутах минус N минут.
Допустим задано: 240 минут (4 часа) минус 1 минута и мы знаем, что рынок не работает с полуночи до 2-ух утра (00:00:00 до 01:59:59). 

Это значит, что:
*Запуск советника в 02:00
1-ым периодом будет 02:00-05:59
2-ым периодом будет 06:00-09:59
3-им периодом будет 10:00-13:59
4-ым периодом будет 14:00-17:59
5-ым периодом будет 18:00-21:59
6-ым периодом будет 22:00-03:59
время сместилось по торговым минутам
7-ым периодом будет 04:00-07:59
8-ым периодом будет 08:00-11:59
и т.д.

Комментарий-4: Разработка по периодам с торговыми минутами уже есть у меня в другой версии советника, код по ней я пришлю, однако разработка не переоткрывает новые периоды после 1-ого и в ней нет таких параметров как «минус N минут» и «Перенос позиции на следующий период»

1.2.3. Добавляется параметр «Перенос позиции на следующий период» вкл./выкл. 
(по аналогии с интрадей)
При вкл.:
- Если сделка открыта и в конце периода она в плюсе, то на следующий период переносится только позиция. Начиная со следующего торгового периода, старый SL/TP/TS/Levelobot обнуляется и задаются новые, на новый период. 
- Если сделка открыта и в конце периода она в минусе, то она закрывается в конце текущего периода и с нового периода всё по новой.
- Если сделка под конец периода так и не была открыта или она уже исполнилась в течении дня по SL/TP/TS/Levelobot, то с нового периода всё по новой.

-----------------------

1.3. Выкл. - режим не применяется

-----------------------

2. level, вкл./выкл. 
По умолчанию level включен. 

При выкл.: не обязательно проторговать за уровнем чтобы открылась сделка. Сделка открывается сразу при начале нового периода и закрывается в конце периода. Сразу при входе в сделку рассчитываются имеющиеся настройки в советнике: стоплосс, тейкрофит, трейлинг-стоп, TradeType, кол-во лотов, а настройки связанные с level такие как проторговка в секундах становятся неактуальными.


Приложения:
1) Level_robot_ver_19.01.2025 - версия советника которую меняем
2) Level_robot_ver_10.11.2024 - старая версия советника в которой есть такой параметр как «Время жизни уровня в секундах» который аналогичен периодам которые нужны в пункте 1.2
3) Screenshot.png - пример того как нужно чтобы работал советник с включённым level и переносом через ночь при интрадее


附加的文件:

ZIP
Files.zip
200.1 Kb

反馈

1
开发者 1
等级
(361)
项目
644
26%
仲裁
92
72% / 14%
逾期
12
2%
工作中
发布者: 1 代码
2
开发者 2
等级
(1)
项目
1
100%
仲裁
0
逾期
0
空闲
3
开发者 3
等级
(298)
项目
477
40%
仲裁
105
40% / 24%
逾期
81
17%
已载入
发布者: 2 代码
4
开发者 4
等级
(9)
项目
22
9%
仲裁
3
0% / 67%
逾期
3
14%
工作中
5
开发者 5
等级
(71)
项目
83
39%
仲裁
3
0% / 0%
逾期
1
1%
空闲
发布者: 7 代码
6
开发者 6
等级
项目
0
0%
仲裁
0
逾期
0
空闲

项目信息

预算
50+ USD
截止日期
 2 天