Нужно переписать существующего робота для торговли на Криптобиржах и Форекс, чтобы корректно работал как с MT4, так и MT5. Советник с индикаторами должен быть исполнен в одном .mq файле и иметь модульный принцип построения. Чтобы можно было подключить блок индикаторов или например биржу Bittrex, а затем добавляя конфиги и модули API подключать со временем другие биржи (Poloniex, Wex, Exmo, Bitfinex, YObit, Cryptopia, Tradesatoshi и т. д.) Логика работы у советника по принципу мартингейла и похожа на мод всем известных советников "Бульдозер" и "Илан". (может выставлять серию ордеров как в одну так и в обе стороны где первый лот 0.01 и затем: 0.02, 0.04, 0.08). Чтобы не набирать "лишних" лотов в просадке советник анализирует свечи и имеет фильтр MA. Необходимые дополнения и изменения в роботе "Grader_od_team_v23.mq4": 1. В секции "Lot Settings" добавить функцию: LotType = 1 - в %, если 2 - в торгуемой валюте, если 0 - отключено т. е. если стоит значение 1, то ордера рассчитываются в процентах, если 1 - в торгуемой валюте, если 0 - отключено то есть как обычно в пунктах (Points) 2. Добавить "виртуальный" режим просадки Добавить функцию LotStart = 3; // после какого колена включать торговлю реальными ордерами Т. е. построить работу советника таким образом - до значения LotStart робот не проставляет реальные ордера в рынок, а работает в так называемом "виртуальном" режиме, условно говоря как на демо-счете: для визуализации чертит пунктиром горизонтальные линии с указанием взятых лотов (линия синего цвета лонг и рядом написано id сделки и 0,01 лот, затем например противоположная серия началась красная шорт 0,01 лота) Когда наступает значение LotStart = 3 он проставляет наконец реальный ордер в рынок соответствующим объемом 0,04 (0,08 или какая там ставка задана по счету для 3 колена) Смысл в том чтобы проседать сначала "виртуальными" не настоящим ордером, а на откате рынка ближе к концу подставлять реальный жирный лот. При этом не будет старых "висяков" 0,01-0,02 которые обычно и так просадочные-бесполезные (кроются либо с минусом либо с мин. профитом). Только нужно проверить чтоб удаление вручную и автоматом одного из ордеров серии (хоть настоящего хоть виртуального) проверялось и мониторился и автоматически пересчитывался общий тейк-профит серии (вирт. + реальные ордера). 3. Поподробнее разобраться и расписать блок "PipStep Settings" Сейчас в коде прописано, что советник делая последующие ставки "анализирует" цвет и чередование свечей (ключевая особенность этого робота от Бульдозера и Илана). Например идет затяжное падение рынка - и весь день 4 часовые (H4) свечи подряд закрашиваются черным. Советник в этот момент ждет и не делает "лишних" ставок. Когда падение прекращается и появились первые белые свечи на рост (т. е. рынок делает попытку разворота), тогда советник уже и вставляет следующий ордер. Нужно вот этот механизм описать в функциях и настройках. Потому что сейчас мне не совсем понятно за что отвечают функции: PipStepCandles = 24; // сколько свечей анализировать PipStepTF = 2; // таймфрейм графика и там нельзя задать вручную для тестера стратегий какое же все таки сочетание чередования свечей лучше на конкретном рынке и валюте. Возможно стоит переделать блок таким образом: PipStepCandles = 4; // сколько свечей анализировать PipStepCandle1 = 1; // первая свеча, 1 - черная, если 0 - белая PipStepCandle2 = 0; // вторая свеча, 1 - черная, если 0 - белая PipStepCandle3 = 1; // третья свеча, 1 - черная, если 0 - белая PipStepCandle4 = 0; // четвертая свеча, 1 - черная, если 0 - белая ...тут возможность добавления еще свечей вплоть до достижения параметра PipStepCandles, хоть до десяти PipStepCandle10 = 1; // десятая свеча, 1 - черная, если 0 - белая PipStepTF = 0; // таймфрейм графика: 1-M1, 2-M5, 3-M15, 4-M30, 5-H1, 6-H4, 7-D1, 8-W1, 9-MN, если 0 - текущий сейчас в основном анализируется текущий график (это не прописаное положение 0 я так понимаю), потому что я переключаю например с H4 на дневной D1 и советник правильно анализирует и торгует уже дневные свечи) 4. В секции "TakeProfit Settings" Нужно проверить корректность выставления линий тейк-профита для криптовалют, т. к. запускал старого робота на паре BTC/USD в Финам (Just2Trade) и там тейк-профит в пунктах было необходимо писать как 10000 пунктов и больше, что не совсем удобно. Возможно для удобства нужно считывать функцию LotType, чтобы профит рассчитывался от значения: если значение 1, то тейк профит рассчитывается в % роста от текущей цены торгуемой валюты если стоит 2, то тейк рассчитывается в торгуемой валюте (например BTC/USD текущая цена 5000$, тейк указываем 1000 - и хотим чтоб закрылся через 1000$ на отметке 6000$) если 0 - функция отключена, то есть тейк как обычно в пунктах (Points) 5. В трале "Trailing Settings" есть ряд "родовых" травм, поэтому этот блок пересмотреть и переписать заново нужно. Главное - это убрать ошибку простановки трала хуже цены открытия (ввести какую то дополнительную проверку условия срабатывания/передвижения трала). Например я включил трал с 1 колена (TrailingStart = 1) и робот проставил первый ордер Buy BTC/USD по 7100$. Затем цена ушла выше на 7140$ - сработал трейлинг как положено, но робот почему то выставляет трал НИЖЕ цены покупки - на 7099 Т. е. мало того что не защитил прибыль - так еще на откате фиксанул мне убыток. :-( Возможно это происходит из-за того что неправильно расчитывается спрэд или минимально возможный тейк брокера. Нужно такую ошибку исключить дополнительной проверкой и заданием уровня проскальзывания (???) у всего робота. Также для крипто биржи стоит учитывать значение из блока настроек API биржи - комиссия от сделки 0,2% например - робот учитывает и ставит тейки и тралы выше заданнй уровень + сумма комиссии. Также из вышеописаного блока про тейк-профит, нужно чтоб трал учитывал значение LotType, защищал прибыль в процентах/в торгуемой валюте или в пунктах. 6. Блок "Filter Settings" Это линия MA, которая служит дополнительным фильтром, чтоб робот не набирал "лишние" колена в просадке. Особенно бывает полезно на малых таймфреймах, когда чередование свечей для простановки ордеров дает слишком много ложных сигналов. Если включено то по условию когда цена пересекает MA на заданное количество пунктов - робот определяет что рынок действительно делает попытку "разворота" и ставит ордер. Функция вроде работает корректно, надо только дописать ее чтобы учитывалось опять же значение LotType цена отходит от MA в процентах/в торгуемой валюте/в пунктах. 7. В "Trade Settings" обращу внимание на еще один защитный механизм чтоб не набирать лишние колена. Переход советника на торговлю на более старший тайфрейм при набирании скажем 3 колена по H4 переходим на торговлю дневными свечами (D1). Функция если включена должна работать корректно, даже если я попереклю графики и торговлю в терминале на любые другие. 8. В блоке сигналы "Signals Settings" в функции MinSignal при значении = 0; нужно чтоб он проставлял первый ордер СРАЗУ же так как я бывает вручную запрещаю советнику торговать в шорт (ставлю только Лонг), а он для старта сидит ждет когда сменится свечка (если это 4 часа или дневная, то будет вообще долго ждать). После появления свечи робот получает случайный сигнал, но он может оказаться в шорт (а у меня запрещено) - и он опять будет сидеть ждать след. свечи, пока случайный сигнал не выпадет на Лонг. Поэтому надо переделать значение 0 = на мгновенный старт сразу. При этом значении сигнал на открытие ордеров в обе стороны (виртуального или реального не важно). Настройки индикаторов RSI, MA, CCI для окрытия первого ордера - их надо просто проверить, вроде работали корректно. Если стоит например MinSignal = 2; то он ждет подтверждения сигнала от двух индикаторов и только потом проставляет первый ордер. -- Касательно модуля крипто-торговли. Возможен для крипты нужен отдельный блок настроек как например у серверного робота Gbot https://gbot-trader.herokuapp.com/configurator EXCHANGE=wex Биржа NAME_COIN=BTC Валюта 1 NAME_COIN_TWO=USD Валюта 2 и т. д. Хотя может есть возможность подгружать список монет и график как с обычного форекс брокера. У меня есть в принципе возможность сделать сервер с БД, чтобы загрузить туда свой архив котировок и туда MT подключался. Также потом возможно понадобится бот в Telegram с уведомлениями как у Gbot. Также интересно как на криптобиржах решаются проблемы с большими разрывами в стакане (между Buy/Sell) и гораздо меньшей ликвидности на крипте, нежели чем "рисуют" форекс брокеры. То есть реальная проверка простановки ордеров и что делать если в продаже нет скажем 1 монеты BTX по цене 25$, а есть только 0,5 монеты. Он проставит ордер и будет сидеть ждать? В общем по крипте вопросы есть и будут возникать в ходе работы.