Нужно проверить код, отредактировать и запустить используется нейросеть, нужен человек который пишет коды для MT5 и Phyton и может соединить и проверить нейросеть

Техническое задание

коды уже написаны, я отправлю в сообщении, их надо будет отредактировать, проверить и подключить нейросеть, которая написана на Phyton (тоже надо будет проверить)

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

торговоый робот для MetaTrader5 на языке програмирования MQL5 который будет использовать индикаторы Билла Вильямса Aligator Fractal AO AC с базовыми параметрами и условия были включаемыми/выключаемыми в панели нужно чтобы он использовал 30% от депозита для входа при всех условиях и анализировал свечи на всех этапах получается он берет середину предыдущей свечи смотрит на максимум и минимум свечи до куда она ходила и находит середину и смотрит где открылась вторая получается если тренд вверх то середина предыдущей свечи ниже текущей а если тренд вниз то середина предыдущей свечи выше текущей надо чтоб бот смотрел на все таймфреймы начиная с H1 и до W1 и заходил если происходят условия описанные нижекод Для MT5

Условие 1 Ангуляция 1 мудрец: 

если цене была выше Aligator и резко цена стала ниже Aligator или образовалось одна или несколько больших свечей в низ и если Aligator выше цены и растояние от цены до Alligator минимум для H1 150 пунктов H4 500 пунктов D1 1000 пунктов W1 2500 пунктов а индикатор AO красный и образовываеться свеча и цена доходит до самого минимума по сравнению с 10 предыдущими свечами и эта свеча с большой тенью снизу не менее 50 пунктов для H1 и 100 пунктов для H4 и 200 пунктов и свеча с тенью снизу и большим телом сверху или с маленьким телом и большой тенью снизу то он идет в покупку при закрытии этой свечи и SL ставится за самый минимум этой свечи с большой тенью -10 пунктов ниже вниз а ТР ставит там где зубы Аллигатора красная линия и выходит со сделки когда цена заходит за красную линию аллигатора в текущем времени +20 пунктов выше,если цене была ниже Aligator и резко цена стала выше Aligator или образовалось одна или несколько больших свечей в верх и если Алигатор ниже цены и растояние от цены до Alligator минимум для H1 150 пунктов H4 500 пунктов D1 1000 пунктов W1 2500 пунктов а индикатор АО зеленый и образовываеться свеча и цена доходит до самого максимума по сравнению с 10 предыдущими свечами и эта свеча с большой тенью с верху не менее 50 пунктов для H1 и 100 пунктов для H4 и 200 пунктов и свеча с тенью с верху и большим телом с низу или с маленьким телом и большой тенью с верху то он идет в продажу при закрытии этой свечи и SL ставится за самый максимум этой свечи с большой тенью +10 пунктов выше а ТР ставит там где зубы красная линия Аллигатора и выходит со сделки когда цена заходит за красную линию аллигатора в текущем времени -20 пунктов ниже, это называеться Ангуляция можешь ее сверить и дополнить но базовые параметры не убирай заходит всегда при закрытии свечи с тенью и всегда когда закрываеться свеча и после чего следует вход в сделку идет до Зубов Аллигатора красной линии там где зубы находились в моменте там и остовляет TP если красная линия будет подтягиваться к цене то ТP остается всегда там где была красная линия при заходе в сделку и закрытии свечи 

Условие 2 Не правильный заход:

если условие 1 выбивает SL только используеться если было условие 1 то она идет в обратную сторону с трейлинг стопом 100 пунктов получается если зашла в SELL и потом выбила SL то она идет в BUY и ставит SL за аллигатора и когда цена проходит 100 пунктов то она подтягивает SL на 100 пунктов если зашла в BUY и потом выбила SL то она идет в SELL и ставит SL за аллигатора и когда цена проходит 100 пунктов, он подтягивает SL на 100 пунктов получаеться если цена прошла 300 пунктов то подтягивет на 100 пунктов и так все время пока не выбьет трейлингстоп сделать это условие редактируемым в консоли надо чтоб я сам мог выбирать на сколько тиков будет подтягиваться стоплосс и стоплосс на какое количество тиков

Условие 3 2 мудрец: 

если цена не коснулась SL условия 2, то отложенный ордер автоматически удаляется и не входит снова, пока не сформируется похожая ситуация, если условие 1 сработало и выполнилось успешно цена дошла до TP, то включаеться это условие если 1 условие не произошло то он не включиться и заходит один раз после условия и условия к нему когда цена проходит весь аллигатор, он идет дальше, получается, если была покупка по условию 1 и цена дошла до TP и цена стала выше и открылась новая свеча выше аллигатора или свеча закрылась выше аллигатора, то он идет в покупку и SL ставит на 500 пунктов ниже а TP на 1000 пунктов выше и подтягивает трейлинг стопом на каждые 300 пунктов которые прошла цена подтягивает SL на 200 пунктов,

если была продажа по условию 1 и цена дошла до TP и цена стала ниже и открылась новая свеча ниже аллигатора или свеча закрылась ниже аллигатора, то он идет в продажу и SL ставит на 500 пунктов выше а TP на 1000 пунктов ниже и 

подтягивает трейлинг стопом на каждые 300 пунктов которые прошла цена подтягивает SL на 200 пунктов

Условие 4 3 мудрец: 

если после условия 3 или 1 получаеться продолжаеться тренд тоесть если была покупка то и дальше покупает если была продажа то дальше продает только если не выбивало по условию 2 если условие 2 сработало то условие 4 не сработает образуется фрактал и цена в реальном времени пробивает этот фрактал +1 пункт, то он идет дальше, получается, если было выполнено условие 1 или 3 и аллигатор находиться с низу и если фрактал образовался сверху и цена его пробила +1 пункт, то он идет в покупку и SL выставляет -100 пунктов и далее на каждые 200 тиков он тянет SL вверх на 100 пунктов если было выполнено условие 1 или 3 и аллигатор находиться с верху и если фрактал образовался снизу и цена его пробила -1 пункт, то он идет в продажу и SL ставит +100 пунктов и далее на каждые 200 тиков ниже тянет SL на 100 пунктов максимальное количество фракталов в одном направлении 2 раза (получаеться 2 раза он может зайти в одном направлении) получаеться если образовался 1 фрактал с верху а предыдущий был с низу и аллигатор с низу цены и цена доходит до уровня фрактала +1 пунк максимума свечи на которой фрактал выше то он заходит в покупку если образовался 1 фрактал с низу а предыдущий был с верху и аллигатор с верху цены и цена доходит до уровня фрактала -1 пунк минимума свечи на которой фрактал в низ то он заходит в продажу 

Условие 5 AO AC Alligator: 

при условии,заходит один раз после ждет противоположной смены тренда тоесть когда аллигатор будет выше цены и индикаторы AO снизу красные, и AC сверху красный и Аллигатор выше цены или цена в нем но не касаеться красной линии заходит в продажу и SL ставится за вершиной Аллигатора +100 пунктов и TP на 200 пунктов ниже после входа в сделку может из нее выйти если цена каснется зубов Аллигатора +20 пунктов заходит один раз после ждет противоположной смены тренда тоесть когда цена становиться выше аллигатора и потом, при условии что индикаторы AO зеленые с верху, и AC зеленый и Аллигатор ниже цены или цена в нем но не касаеться красной линии заходит в покупку и SL ставится за низ Аллигатора -100 пунктов и TP на 200 пунктов выше после входа в сделку может из нее выйти если цена каснется зубов Аллигатора -20 пунктов заходит 1 раз после ждет смены тренда тоесть когда цена становиться ниже аллигатора и это зацикливаеться заходит по 1 разу и ждет смены тренда

Условие 6 Дополнение АO Alligator и свеча: 

заходит 1 раз после ждет смены тренда тоесть если цена ниже Аллигатора и свеча образовываеться в вниз (смотрит по середине свечи тоесть берет максимум и минимум всего промежутка в свече находит середину и смотрит где открылась новая свеча если свеча открываеться ниже середины предыдущей свечи то это свеча для этого условия или появляеться красная свеча) и АО красный и он берет середину предыдущей свечи смотрит на максимум и минимум свечи до куда она ходила и находит середину и смотрит где открылась вторая получается если тренд нисходящий значит середина предыдущей свечи выше а текущая свеча которая открылась она открылась ниже середины предыдущей свечи то он заходит в продажу и SL ставится за Аллигатором и TP 200 пунктов ниже заходит 1 раз после ждет смены тренда тоесть когда цена становиться выше аллигатора и потом, если цена выше Аллигатора и свеча вверх (смотрит по середине свечи тоесть берет максимум и минимум всего промежутка в свече находит середину и смотрит где открылась новая свеча если свеча открываеться выше середины предыдущей свечи то это свеча для этого условияили появляеться зеленая свеча) и АО и он берет середину предыдущей свечи смотрит на максимум и минимум свечи до куда она ходила и находит середину и смотрит где открылась вторая получается если тренд восходящий значит середина предыдущей свечи ниже а текущая свеча которая открылась она открылась выше середины предыдущей свечи зеленая, то переходим в BUY и SL ставим за Аллигатором и TP 200 пунктов выше заходит 1 раз после ждет смены тренда тоесть когда цена становиться ниже аллигатора и это зацикливаеться заходит по 1 разу и ждет смены тренда

Условие 7 импульсные свечи

если образовываеться большая свеча в которая идет Верх по сравнению с 5 предыдущими (предыдущие 5 меньше по размеру или красные) с большим объемом смотрит на индикатор Volumes и маленькими тенями или теней вообще нету но тело свечи большое минимум пунктов в теле свечи для H1 600 пунктов H4 1000 пунктов D1 1500 пунктов то выставляет отложенный ордер BUYSTOP от середины этой импульсной свечи +10 пунктов выше и TP ставит за вершинку этой свечи +100 пунктов а SL ставит за минимум свечи -10 пунктов если цена не дошла до BUYSTOP в течении 2 дней то BUYSTOP после отключаеться и не включаетьсяесли образовываеться большая свеча в низ по сравнению с 5 предыдущими (предыдущие 5 меньше по размеру или зеленые) с большим объемом и маленькими тенями или теней вообще нету но тело свечи большое минимум пунктов в теле свечи для H1 600 пунктов H4 1000 пунктов D1 1500 пунктов то выставляет отложенный ордер SELLSTOP от середины этой импульсной свечи -10  пунктов выше и TP ставит за самый минимум этой свечи -100 пунктов а SL ставит за максимум свечи +10 пунктов если цена не дошла до SELLSTOP в течении 2 дней то после отключаеться и не включаеться

Условие 8 Бурдж халифа

Торгует в восходящем тренде Если Аллигатор с низу или цена в Аллигаторе и Если появляеться 1 свеча на верх с маленькими тенями и потом появляеться свеча 2 которая меньше 1 свечи и она красная и не пересикает середину -10 пунктов свечи 1 после чего появляеться свеча 3 такая же как и 1 после появляеться свеча 4 с болшой тенью с верху которая доходила до самого максимума была выше всех по сравнению с предыдущими 10 свечами и маленьким или красным телом в низ или свеча с большой тенью и маленьким зеленым телом мин пунктов в тени свечи для H1 50 пунктов H4 150 пунктов D1 250 пунктов W1 2000 пунктов то заходит в SELL и ставит TP на уровень где был минимум свечи 1 +50 тиков на верх чтоб точно цена дошла а SL ставит за максимум свечи 4 +10 пунктов также заходит в SELL когда цена доходит до минимума свечи 2 и ставит TP на уровень где был минимум свечи 1 +50 тиков на верх чтоб точно цена дошла а SL ставит за максимум свечи 4 +10 пунктов может образовываться несколькими свечами или стоять во флэте но суть остается одной и он должен ее находить получаеться 2 раза заходит в SELL

Торгует в нисходящем тренде Если Аллигатор с верху или цена в Аллигаторе и Если появляеться 1 свеча в низ с маленькими тенями и потом появляеться свеча 2 которая меньше 1 свечи и она зеленая и не пересикает середину +10 пунктов свечи 1 после чего появляеться свеча 3 такая же как и 1 после появляеться свеча 4 с болшой тенью с низу которая доходила до самого минимума была ниже всех по сравнению с предыдущими 10 свечамии эта свеча с маленьким и зеленым телом в верх или свеча с большой тенью и маленьким красным телом мин пунктов в тени свечи для H1 50 пунктов H4 150 пунктов D1 250 пунктов W1 2000 пунктов то заходит в BUY и ставит TP на уровень где был максимум свечи 1 -50 тиков в низ чтоб точно цена дошла а SL ставит за минимум свечи 4 -10 пунктов также заходит в BUY когда цена доходит до максимума свечи 2 и ставит TP на уровень где был максимум свечи 1 -50 тиков в низ чтоб точно цена дошла а SL ставит за минимум свечи 4 -10 пунктов получаеться 2 раза заходит в BUY может образовываться несколькими свечами или стоять во флэте но суть остается одной и он должен ее находить могут образовываться своего рода лесенки (свечи 1,2) и по этим лесенкам он долже торговать (свечи 1,2) в противоположном напровлении лесенок может быть и 2 как описано а может и 4 это максимум разворотное движение это когда появляеться свеча 4 (противоположная свеча с большой тенью) только после нее он заходит

Условие 9

Волны эллиота


Волна 1 происходит 1 мудрец или появляеться новость на этот инструмент или торговую пару новость берет из условия 10

если цене была выше Aligator и резко цена стала ниже Aligator или образовалось одна или несколько больших свечей в низ и если Aligator выше цены а индикатор AO красный и расстояние от губы Aligator до цены в текущий момент времени не менее 400 пунктов и образовываеться свеча с большой тенью не менее 30 пунктов для H1 и 60 пунктов для H4 и 150 пунктов для D1 снизу или с тенью снизу и большим телом сверху или с маленьким телом и большой тенью снизу то он идет в покупку при закрытии этой свечи и SL ставится за самый минимум этой свечи с большой тенью -10 пунктов ниже вниз а ТР ставит там где зубы Аллигатора,если цене была ниже Aligator и резко цена стала выше Aligator или образовалось одна или несколько больших свечей в верх и если Алигатор ниже цены а индикатор АО зеленый и расстояние от челюсти Алигатора до цены в текущий момент не 

менее 600 пунктов и образуется свеча с большой тенью сверху и цена от аллигатор до цены не менее 30 пунктов для H1 и 60 пунктов для H4 и 150 пунктов или с тенью сверху и большим телом вниз или с маленьким телом и большой тенью сверху 

то она заходит в продажу и SL ставится за самый максимум свечи с тенью -10 пунктов дальше вверх а ТР ставит там где зубы Аллигатора там где красная линия это называеться Ангуляция можешь ее сверить и дополнить но базовые параметры не 

убирай заходит всегда при закрытии свечи с тенью и всегда когда закрываеться свеча и после чего следует вход в сделку идет до Зубов Аллигатора красной линии там где зубы находились в моменте там и остовляет TP если красная линия будет 

подтягиваться к цене то ТP остается всегда там где была красная линия при заходе в сделку и закрытии свечи 

ВЫходит когда индикаор AO=0

Волна 2 это когда цена спускаеться в противоположное направление и она не касаеться волны 1

Волна 3 самая большая получаеться находит самый максимум волны 1 до куда она дошла там будет образован фрактал когда цена 

на покупку если аллигатор с низу или цена ходит в аллигаторе и цена пробила фрактал самого максимального значения где была цена +1 тик выше то заходит в покупку а SL ставит за самый минимум волны 2 Выходит из сделки когда AO=0 или цена коснулась красной линии аллигатора

на продажу если аллигатор с верху или цена ходит в аллигаторе и цена пробила фрактал самого минимального значения где была цена -1 тик ниже то заходит в продажу а SL ставит за самый максимум волны 2 Выходит из сделки когда AO=0 или цена коснулась красной линии аллигатора

Волна 4 это когда цена спускаеться в противоположное направление и она не касаеться волны 3

Волна 5 чтобы зайти надо

В покупку Ждать когда столбики АО станут зелеными и начнут подходить к нулевой или пересекут 0 выходит когда цвет столбиков снова станет красным или если цена каснется красной линии аллигатора SL ставит за самый минимум волны 4

В продажу Ждать когда столбики АО станут красными начнут подходить к нулевой или пересекут 0 выходит когда цвет столбиков снова станет зеленым или если цена каснется красной линии аллигатора SL ставит за самый минимум волны 4

ВОлна A после волны 5 идет спуск в противоположное направление 

Волна B после волны А идет в противоположное напровление 

Волна C заходит когда цена пробила фрактал Волны А и SL ставит за Волну В

на покупку если Волна А была корекционой при растущем тренде Аллигатор был с низу то берется самая нижняя цена где образовался фрактал от Волны А а SL ставит за вершинку волны В 

и ставит трейлингстоп на 300 пунктов если цена прошла 300 пунктов в верх то подтягивает SL на 300 пунктов выше

на продажу если Волна А была корекционой при нисходящем тренде Аллигатор был с верху то берется самая верхняя цена где образовался фрактал от Волны А а SL ставит за минимум волны В 

и ставит трейлингстоп на 300 пунктов если цена прошла 300 пунктов в низ то подтягивает SL на 300 пунктов ниже


Уровни фибоначи рисует от максимума до минимума который был в ближайшем времени при восходящем тренде и при нисходящем от минимума до максимума

Заходит постепенно тоесть идет по порядку 1 2 3 4 5 A B C


или смотрит по индикатору EWO (Elliott Wave Oscillator) и заходит по нему

Торговля по волнам при восходящем тренде

1. Волна 1 (начало нового тренда)

Условие входа :

Цена находится в зоне консолидации или завершает предыдущую коррекцию.

EWO пересекает нулевую линию снизу вверх.

Осциллятор начинает расти, подтверждая силу нового тренда.

Точка входа :

Открывайте длинную позицию (BUY) на следующей свече после пересечения нулевой линии.

Стоп-лосс :

Разместите за ближайшим локальным минимумом.

Выход :

Закрывайте сделку при первых признаках коррекции (волна 2), когда EWO начинает снижаться.

2. Волна 2 (коррекция)

Описание :

Волна 2 — это откат после первой импульсной волны. Цена может вернуться до уровня начала волны 1, но не ниже.

Точка входа :

Не рекомендуется открывать позицию в волне 2, так как это коррекция.

Выход :

Если вы держите позицию из волны 1, закройте её при снижении EWO и начале коррекции.

3. Волна 3 (основной импульс)

Условие входа :

После завершения волны 2 цена снова начинает расти.

EWO показывает новый максимум, превышающий значение волны 1.

Точка входа :

Открывайте длинную позицию (BUY) на пробое максимума волны 1.

Стоп-лосс :

Разместите за минимумом волны 2.

Выход :

Закрывайте сделку при первых признаках замедления роста (волна 4), когда EWO начинает снижаться.

4. Волна 4 (коррекция)

Описание :

Волна 4 — это откат после сильного движения волны 3. Она обычно менее выражена, чем волна 2.

Точка входа :

Не рекомендуется открывать позицию в волне 4, так как это коррекция.

Выход :

Если вы держите позицию из волны 3, закройте её при снижении EWO и начале коррекции.

5. Волна 5 (завершающий импульс)

Условие входа :

После завершения волны 4 цена снова начинает расти.

EWO показывает новый максимум, но он может быть слабее, чем в волне 3 (признак завершения тренда).

Точка входа :

Открывайте длинную позицию (BUY) на пробое максимума волны 3.

Стоп-лосс :

Разместите за минимумом волны 4.

Выход :

Закрывайте сделку при первых признаках разворота тренда (пересечение EWO нулевой линии).

Торговля по волнам при нисходящем тренде

1. Волна 1 (начало нового тренда)

Условие входа :

Цена находится в зоне консолидации или завершает предыдущую коррекцию.

EWO пересекает нулевую линию сверху вниз.

Осциллятор начинает снижаться, подтверждая силу нового тренда.

Точка входа :

Открывайте короткую позицию (SELL) на следующей свече после пересечения нулевой линии.

Стоп-лосс :

Разместите за ближайшим локальным максимумом.

Выход :

Закрывайте сделку при первых признаках коррекции (волна 2), когда EWO начинает расти.

2. Волна 2 (коррекция)

Описание :

Волна 2 — это откат после первой импульсной волны. Цена может вернуться до уровня начала волны 1, но не выше.

Точка входа :

Не рекомендуется открывать позицию в волне 2, так как это коррекция.

Выход :

Если вы держите позицию из волны 1, закройте её при росте EWO и начале коррекции.

3. Волна 3 (основной импульс)

Условие входа :

После завершения волны 2 цена снова начинает падать.

EWO показывает новый минимум, превышающий значение волны 1.

Точка входа :

Открывайте короткую позицию (SELL) на пробое минимума волны 1.

Стоп-лосс :

Разместите за максимумом волны 2.

Выход :

Закрывайте сделку при первых признаках замедления падения (волна 4), когда EWO начинает расти.

4. Волна 4 (коррекция)

Описание :

Волна 4 — это откат после сильного движения волны 3. Она обычно менее выражена, чем волна 2.

Точка входа :

Не рекомендуется открывать позицию в волне 4, так как это коррекция.

Выход :

Если вы держите позицию из волны 3, закройте её при росте EWO и начале коррекции.

5. Волна 5 (завершающий импульс)

Условие входа :

После завершения волны 4 цена снова начинает падать.

EWO показывает новый минимум, но он может быть слабее, чем в волне 3 (признак завершения тренда).

Точка входа :

Открывайте короткую позицию (SELL) на пробое минимума волны 3.

Стоп-лосс :

Разместите за максимумом волны 4.

Выход :

Закрывайте сделку при первых признаках разворота тренда (пересечение EWO нулевой линии).



Условие 10

Новостной фон


использует сразу 2 языка програмирования Phyton и MQL5 так же смотрит в Investing.com (и Крипто новости ниже есть ссылки) на экономический календарь и значимость новости минимум 2 звездочки

1. Общая концепция

Стратегия состоит из следующих этапов:

Сбор данных :

Использование Investing.com для получения новостей и экономических событий.

Обработка данных :

Преобразование текстовых данных в числовые признаки с помощью NLP.

Обучение нейросети :

Создание модели, которая предсказывает направление движения цены, а также определяет SL и TP на основе волатильности.

Интеграция с MQL5 :

Передача сигналов от Python-модели в MQL5 для выполнения торговых операций.

Оптимизация :

Нейросеть обучается на исторических данных и улучшает свои решения на основе положительных и отрицательных исходов сделок.

2. Сбор данных

a) Источники данных

Investing.com предоставляет:

Экономический календарь : https://www.investing.com/economic-calendar/

Новости : https://www.investing.com/news/

Новости по криптовалюте https://cointelegraph.com/?spm=a2ty_o01.29997173.0.0.2957c921rzUW3W

https://www.coindesk.com/?spm=a2ty_o01.29997173.0.0.2957c921rzUW3W

b) Используемые библиотеки

import requests

from bs4 import BeautifulSoup

import pandas as pd

c) Пример кода для сбора данных

# Парсинг новостей с Investing.com

def parse_investing_news():

    url = "https://www.investing.com/news/"

    headers = {"User-Agent": "Mozilla/5.0"}

    response = requests.get(url, headers=headers)

    soup = BeautifulSoup(response.content, 'html.parser')

    

    news_list = []

    for article in soup.find_all('article'):

        title = article.find('a', class_='title').text.strip()

        link = article.find('a')['href']

        news_list.append({'title': title, 'link': link})

    

    return news_list


# Получение экономического календаря

def get_economic_calendar():

    calendar_url = "https://www.investing.com/economic-calendar/"

    headers = {"User-Agent": "Mozilla/5.0"}

    response = requests.get(calendar_url, headers=headers)

    soup = BeautifulSoup(response.content, 'html.parser')

    

    events = []

    for row in soup.select('table.economicCalendarData tr'):

        cells = row.find_all('td')

        if len(cells) > 0:

            time = cells[0].text.strip()

            event = cells[2].text.strip()

            actual = cells[4].text.strip()

            forecast = cells[5].text.strip()

            previous = cells[6].text.strip()

            events.append({

                'time': time,

                'event': event,

                'actual': actual,

                'forecast': forecast,

                'previous': previous

            })

    

    return events

3. Подготовка данных

a) Очистка данных

Удалите дубликаты и пропущенные значения.

Преобразуйте текстовые данные в числовые признаки с помощью NLP.

b) Используемые библиотеки

from sklearn.feature_extraction.text import TfidfVectorizer

from nltk.corpus import stopwords

import nltk


nltk.download('stopwords')

stop_words = set(stopwords.words('english'))

c) Пример кода для обработки новостей

def preprocess_news(news_list):

    vectorizer = TfidfVectorizer(stop_words=stop_words)

    titles = [news['title'] for news in news_list]

    X = vectorizer.fit_transform(titles)

    return X.toarray()

4. Обучение нейросети

a) Архитектура нейросети

Модель будет принимать на вход обработанные новости и экономические данные, а на выходе предсказывать:


Направление движения цены (+1 для роста, -1 для падения).

Значения SL и TP на основе волатильности.

b) Используемые библиотеки

import tensorflow as tf

from tensorflow.keras.models import Model

from tensorflow.keras.layers import Input, Dense, Dropout, Concatenate

c) Пример кода для создания модели

def create_model(input_shape):

    # Входной слой

    input_layer = Input(shape=(input_shape,))

    

    # Слой для предсказания направления движения цены

    price_direction = Dense(128, activation='relu')(input_layer)

    price_direction = Dropout(0.2)(price_direction)

    price_direction = Dense(64, activation='relu')(price_direction)

    price_direction_output = Dense(1, activation='sigmoid', name='price_direction')(price_direction)

    

    # Слой для предсказания SL и TP

    volatility = Dense(128, activation='relu')(input_layer)

    volatility = Dropout(0.2)(volatility)

    volatility = Dense(64, activation='relu')(volatility)

    sl_output = Dense(1, activation='linear', name='stop_loss')(volatility)

    tp_output = Dense(1, activation='linear', name='take_profit')(volatility)

    

    # Создание модели

    model = Model(inputs=input_layer, outputs=[price_direction_output, sl_output, tp_output])

    model.compile(

        optimizer='adam',

        loss={'price_direction': 'binary_crossentropy', 'stop_loss': 'mse', 'take_profit': 'mse'},

        metrics={'price_direction': 'accuracy', 'stop_loss': 'mae', 'take_profit': 'mae'}

    )

    return model


# Пример: обучение модели

X_train = preprocess_news(sample_news)  # Препроцессинг новостей

y_train_direction = [1, 0, 1, ...]  # Метки: 1 для роста, 0 для падения

y_train_sl = [50, 30, 60, ...]  # Стоп-лоссы

y_train_tp = [100, 80, 120, ...]  # Тейк-профиты


model = create_model(X_train.shape[1])

model.fit(

    X_train,

    {'price_direction': y_train_direction, 'stop_loss': y_train_sl, 'take_profit': y_train_tp},

    epochs=10, batch_size=32

)

5. Интеграция с MQL5

a) Передача сигналов из Python в MQL5

Для интеграции используется файловый интерфейс:


Python записывает сигналы (направление, SL, TP) в текстовый файл.

MQL5 считывает этот файл и выполняет торговые операции.

b) Пример кода для записи сигнала в файл

def write_signal_to_file(direction, sl, tp):

    with open("trade_signal.txt", "w") as file:

        file.write(f"{direction},{sl},{tp}")

c) Пример кода для чтения сигнала в MQL5

// Чтение сигнала из файла

void ReadSignalFromFile() {

    string signal;

    int file_handle = FileOpen("trade_signal.txt", FILE_READ);

    if (file_handle != INVALID_HANDLE) {

        signal = FileReadString(file_handle);

        FileClose(file_handle);

    }


    // Разбор сигнала

    string parts[];

    StringSplit(signal, ',', parts);

    string direction = parts[0];

    double stop_loss = StringToDouble(parts[1]);

    double take_profit = StringToDouble(parts[2]);


    if (direction == "buy") {

        Trade.Buy(0.1, NULL, Ask, stop_loss, take_profit);

    } else if (direction == "sell") {

        Trade.Sell(0.1, NULL, Bid, stop_loss, take_profit);

    }

}

6. Оптимизация нейросети

a) Обратная связь

После каждой сделки сохраняйте результат (прибыль или убыток) в файл. Эти данные используются для дальнейшего обучения нейросети.


b) Пример кода для записи результата сделки

def log_trade_result(profit):

    with open("trade_results.txt", "a") as file:

        file.write(f"{profit}\n")

c) Дальнейшее обучение

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

# Чтение результатов сделок

def load_trade_results():

    with open("trade_results.txt", "r") as file:

        results = [float(line.strip()) for line in file.readlines()]

    return results


# Дообучение модели

new_data = preprocess_news(new_news)

new_results = load_trade_results()


model.fit(

    new_data,

    {'price_direction': new_directions, 'stop_loss': new_sls, 'take_profit': new_tps},

    epochs=5, batch_size=32

)

7. Риск-менеджмент

a) Учет волатильности

Волатильность можно рассчитать как стандартное отклонение цен за определенный период:

double CalculateVolatility(int period) {

    double prices[];

    ArrayResize(prices, period);

    CopyClose(_Symbol, PERIOD_CURRENT, 0, period, prices);

    double mean = MathMean(prices);

    double variance = 0;

    for (int i = 0; i < period; i++) {

        variance += MathPow(prices[i] - mean, 2);

    }

    return MathSqrt(variance / period);

}

b) Выставление SL и TP

Используйте волатильность для расчета SL и TP:

double volatility = CalculateVolatility(20);

double stop_loss = Ask - 2 * volatility * Point();

double take_profit = Ask + 3 * volatility * Point();


Эта стратегия позволяет автоматизировать торговлю по новостям с использованием MQL5 и Python-нейросети. Нейросеть не только предсказывает движение цены, но и учитывает волатильность для выставления SL и TP. Она также улучшается со 

временем, обучаясь на результатах сделок.

Для торговли по новостям в MQL5 с интеграцией Python-нейросети необходимо собирать данные с Investing.com, обучать модель на Python, передавать сигналы в MQL5 и выполнять автоматическую торговлю с учетом риск-менеджмента. 

Нейросеть может улучшаться на основе результатов сделок.


Для Phiton

написать дополнительный код на питоне и распиши как его использовать и добавить Надо чтоб ты подключил нейросеть которая будет работать на всех индикаторах и валютных парах и чтоб она 1)Умела использовать все индикаторв в связи

получаеться я дал базовые параметры но нейросеть в будуещем должна уметь использовать этиже индикаторы в связи минимум должно быть 2 факта для входа Ао АС Аллигатор Фрактал Новости Волны Эллиота и Свечи2)Нейросеть должна сама думать и 

принимать решения получаеться она все время анализирует и делает выводы на будуещее может регулировать ТР стоплосс трейлинг стоп и ищет входы в сделки и если начинаетьс импульс или новости может выйти  3)Должна настраивать манименеджмент

(объем для входа в сделку) и при положительных сделках наращивает при отрицательных сбовляет 4) с волнами элиота находит все волны по всем базовым условиям и все 4 пункта работают в совокупности 


нейросеть будет брать со всех инструментов и торговых пар истарические данный максимумы минимумы (все криптовалюты, все сырье, все валютные пары, все компании)


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

объемы и принимает решение 2)в базовых настройках цена может коснуться трендового уровня максимум 3-4 раза после меняет тренд 3) смотрит на то на сколько большой уровень поддержки и сопративления и делает вывод где ставить ТP SL 3) TP 

ставит до уровняи ближе на 10 пунктов к цене а SL ставит еще далбше от уровня на 10 пунктов 4)Заходит по тренду 5)Фигуры 

1.Треугольник если на графике образовываеться треугольник то смотрим в какую сторону он пробьет цену и сделает ретест и после заходит в сделку тоесть если образовался треугольник и пробился в низ может образаваться фрактал и цена стала 

ниже этого фрактала -1 пункт или по уровню поддержки а потом цена вернулась к этому уровню и образовалась свеча в низ то он заходит в SELL ТП ставит на самое максимальное растояние треугольника от максимуму треугольника до минимума

-20 пунктов а SL ставит за максимум треугольника в даном случае и если на покупку то наоборот если на графике образовываеться треугольник то смотрим в какую сторону он пробьет цену может образаваться фрактал и цена стала выше этого 

фрактала +1 пункт или по уровню сопратевления и сделает ретест и после заходит в сделку тоесть если образовался треугольник и пробился в верх а потом цена вернулась к этому уровню и образовалась свеча в верх то он заходит в BUY и ТП 

ставит на самое максимальное растояние треугольника от минимума треугольника до максимума +20 пунктов а SL ставит за минимум треугольника в даном случае 

2.Вымпел если было резкое движение и получился треугольник или цена ходит в коридоре то это вымпел если появилось резкое движение в верх и образовываеться треугольник или цена ходит в коридоре то при пробитии коридора или 

треугольникатам там образуеться фрактал с верху при пробитии его +1 пункт выше или пробьет уровень сопративления мы заходит в BUY  SL ставим за минимум тругольника или коридора -20 пунктов а TP ставим на растояние этого 

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

или цена ходит в коридоре то при пробитии коридора или треугольника там образуеться фрактал с низу при пробитии его -1 пункт ниже или пробьет уровень поддержки мы заходит в SELL и SL ставим за максимум тругольника или коридора +20 

пунктов а TP ставим на растояние этого импульсного движения от куда оно начиналось и до минимума треугольника или коридора и на это растояние ставим TP +50 пунктов 

3. двойное- тройное дно если было движение в низ и тренд в низ и свечи начали по тихоньку рости в верх и обратно в низ и так 2-3 раза то появиться за этот промежуток времени фрактал с верху самый максимальный или уровень сопративления

там ставит отложенный ордер BUYSTOP когда цена пробьет тот уровень от куда цена отскочила обратно (самый максимум там образуеться фрактал) или фрактал +1 пункт выше в низ там где был спуск ищет максимум до куда дошла цена +20 пунктов 

и ставит SL за самый минимум который был в течении этого времени а TP ставит на растояние от движения которое было с самого начала в верх -50 пунктов 

4. Двойная-Тройная вершина если было движение в верх тренд в верх и свечи начали по тихоньку идти в низ и обратно в верх и так 2-3 раза там образуеться фрактал с низу или уровень поддержки то ставит отложенный ордер SELLSTOP когда цена 

пробьет этот уровень (самый минимум там образуеться фрактал) или фрактал -1 пункт самого нижнего фрактала от куда цена отскочила обратно в низ там где был спуск (самый минимум там образуеться фрактал) ищет минимум до куда дошла цена 

+20 пунктов и ставит SL за самый максимум который был в течении этого времени и TP ставит на растояние от гачала движения которое было с самого начала до низа которое произошло -50 пунктов

5. голова и плечи если восходящий тренди цена идет в верх запоминает максимум 1.1 и цена в моменте начала падать 1.0 раз после чего опять пошла в верх уже 2.1 раз и пробила максимум цены 1.1 раз (там может образоваться фрактал и цена 

прообьет его) после чего опять пошла в низ уже 2.0 раз в низ и потом опять в верх и не дошла до максимума 2.1 раза то при пробитии уровня поддержки который находиться на уровне до которого доходила цена при подении в 2.0 раз

там образуеться нижний фрактал при пробитии либо уровня или нижнего фрактала (минимума 2.0) то заходит в SELL и TP ставит на растояние от максимума (максимум 2.1) до минимума где ходила (минимум 2.0) цена -50 пунктов а SL ставит за 

самый максимум цены который был (максимум 2.1) 


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

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


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


Откликнулись

1
Разработчик 1
Оценка
(11)
Проекты
12
0%
Арбитраж
1
0% / 0%
Просрочено
0
Свободен
2
Разработчик 2
Оценка
(69)
Проекты
80
38%
Арбитраж
3
0% / 0%
Просрочено
1
1%
Работает
Опубликовал: 7 примеров
3
Разработчик 3
Оценка
(1)
Проекты
2
0%
Арбитраж
0
Просрочено
0
Работает
Похожие заказы
Советник отслеживает дельту (разницу цен) по двум валютам. Дельта может быть как положительная так и отрицательная, и соответственно это учитывается при открытии сделок, при превышении дельты на определенный процент от заданного числа за N свечей открывает ордера в направлении схождения валют (возможность выбора одной из валют выставление ордера по рынку или лимиткой, второго по рынку(для одновременности исполнения)
Всем привет, нужно создать или доработать существующий копировщик сделок. В целом все просто, с "аккаунт 1" нужно копировать сделки на "аккаунт 2". Аккаунты зарегистрированы на одной платформе. Предложите возможные варианты, цена обсуждаемая
Необходим советник Форекс с низкой просадкой, который реально зарабатывает. Стратегия на усмотрение исполнителя, обсудим при выполнении заказа. Цена также будет обсуждена, в зависимости от того, что предложит исполнитель. Самое главное, чтобы советник зарабатывал, при отсутствии высоких рисков
Есть демка, разработчик недоступен. Нужно на основе демки сделать рабочую версию для реального счёта на мт5, возможно Добавить проверку на одновременное открытие и закрытие сделок по разным инструментам, Предусмотреть проверку (прогоню на тестере и сравню результаты с исходной демо )перед оплатой
Параметры советника: start_box = 0 end_box = 10 risk_percent = 1% or StopLoss = 2 TakeProfit = 1 martingale = 2 shift = 20 pips Tralling = true Trallig start = "Firsct candle range" Tralling from = "Box max or min" Условия для открытия позиции Buy: Когда цена пробивает верхнюю границу бокса, устанавливается отложенный ордер Buy Limit на уровне верхней границы бокса. Размер лота рассчитывается по формуле: лот = сумма
Мне нужно сделать советник который видит стрелки индикатора и анализирует с другим индикатором rsi Пример появилась стрелка вниз у первого индикатор он смотрит на индикатор если график заходит за rsi то ставит ордер вниз
Техническое задание. Хедж система. Суть – выставлять от 1 до 5 заявок нажатием кнопки на графике или по времени. 1. Задаем параметры 5 заявок, для каждой из которых: - бай лимит или селл лимит, - S – расстояние заявки от текущего значения цены W , в пунктах (бай лимит W - S , селл лимит W + S ). - тэйк профит, в пунктах - стоп лосс, в пунктах 2. Задаем время выставления заявок Т1 – 5 значений (чч:мм:сс)
Задание разбито на несколько частей. К примеру пишите индикатор. Я оплачиваю работу, далее к нему прикручиваем автоматическую торговлю и т.д. 1) Задание это индикатор уровня поддержки и сопротивления и сигналы по этим уровням. 2) Автоматическая торговля согласно полученным сигналам
Советник 30 - 50 USD
Мне нужно сделать советник который видит стрелки индикатора JAZIB ATOMIC и анализирует с другим индикатором rsi + ma crosses 1.06 (mtf +alerts + arrows) Пример появилась стрелка вниз у первого индикатор он смотрит на индикатор rsi + ma crosses 1.06 (mtf +alerts + arrows) если он показывает красную линию то он ставит ордер на понижение и наоборот
Нужен робот открывающие позиции на основе Z score. Прошу не откликнуться тем кто не понимает что это. Логика очень проста: открыть шорт когда значение z score выше +2, открыть Лонг когда его значение ниже -2. Тейк и стоп не нужен, ибо сделку держать до появления противоположного сигнала, то есть у нас открыт Лонг, держим его до появления шорта, и закрыть Лонг, сразу откроем шорт. Внизу будут скриншоты, посмотрите

Информация о проекте

Бюджет
30 - 49 USD
Сроки выполнения
от 1 до 10 дн.

Заказчик

Размещено заказов1
Количество арбитражей0