Форум трейдеров » Торговые роботы, советники, индикаторы » Советник МТ4 на несколько инструментов
+ Подписаться
  1. 1,294
    Комментарии
    16
    Темы
    1297
    Репутация Pro
     
    Мастер форумных наук

    5 Медалей

    Советник МТ4 на несколько инструментов

    Кто-нибудь писАл советник, использующий несколько инструментов.
    Именно чтоб не к разным графикам цеплять, а чтоб в коде было заложено.
    Хочу написать, а то может и не стоит дёргаться то?
    Например, когда будет выполняться функция Start() ?
    Если пришёл новый тик с графика, к которому прикреплён советник?
    А если за это время по другому инструменту будут изменения цены?
    Вобщем возможно ли вообще такое в метатрейдере?
    Недоступно! Pro 0
    Поделиться
    Просмотров: 3,494
  2. 8,510
    Комментарии
    45
    Темы
    15157
    Репутация Pro
    Аватар для avtomat  
    Старожил

    7 Медалей
    Можно. Надо только поток котировок обеспечить. (ну чтоб не скрыто было)
  3. 1,294
    Комментарии
    16
    Темы
    1297
    Репутация Pro
     
    Мастер форумных наук

    5 Медалей
    Цитата Сообщение от avtomat Посмотреть сообщение
    Можно. Надо только поток котировок обеспечить. (ну чтоб не скрыто было)
    А можно поподробнее? Я не понял
    Что такое поток котировок и как его обеспечить?
    и от кого (от чего) оно не должно быть скрыто?
    :unsure:
  4. 1,666
    Комментарии
    13
    Темы
    1681
    Репутация Pro
    Аватар для Chrome DNA  
    Мастер форумных наук

    5 Медалей
    Вешаешь на график евройены такой советник. Там и ночью, и днём всегда хорошая ликвидность, а поэтому тики буду сыпаться один за другим. Нет смысла раз в секунду/две сканировать кучу инструментов на поступление тиков по ним. А если не пипсуешь, так изменение раз в 10 секунд - этого заглаза достаточно.
  5. 8,510
    Комментарии
    45
    Темы
    15157
    Репутация Pro
    Аватар для avtomat  
    Старожил

    7 Медалей
    Чтобы в окошечке "Обзор рынка" присутствовали инструменты, необходимые для работы такого советника. (т.е. чтобы не были скрыты)
    Не знаю, получится ли тестирование - не пробовал.
  6. 1,294
    Комментарии
    16
    Темы
    1297
    Репутация Pro
     
    Мастер форумных наук

    5 Медалей
    Начну потихоньку пробовать
    Мне просто интересно кто-то пробовал сам писАть или тестить такой советник?
    Может есть какая то загвоздка или тонкость..
    А то напишешь и окажется мартышкин труд...
  7. 8,510
    Комментарии
    45
    Темы
    15157
    Репутация Pro
    Аватар для avtomat  
    Старожил

    7 Медалей
    Это будет полезно в любом случае :D
  8. 1,331
    Комментарии
    40
    Темы
    1331
    Репутация Pro
     
    Мастер форумных наук

    5 Медалей
    Ну раз есть скрипты, выставляющие одновременно ордера по разным инструментам, значит это можно сделать и в советнике - это раз.
    Существуют индикаторы (и даже советники), которые успевают отследить движения сразу по нескольким инструментам. Например, валютных пар штук эдак 10-15. Значит возможно поручить советнику следить за движением нескольких инструментов - это два.
    Поэтому, вероятно, имеется возможность выполнить необходимую Вам работу.
  9. 1,666
    Комментарии
    13
    Темы
    1681
    Репутация Pro
    Аватар для Chrome DNA  
    Мастер форумных наук

    5 Медалей
    Петрович, вот те кусок из моего последнего советника. Тут выставляется ордера по инструментам и потом назначаются тейк и стоп. Ключевая строчка - третья, она обязательна. В ней ты получишь последний БИД по интересующему тебе инструменту:


    if (Inst[RND] == "6B") MyLot = 2*MyLot;
    if (Inst[RND] == "ES") MyLot = 1.5*MyLot;
    MyBid = MarketInfo(Inst[RND], MODE_BID);
    for(a=0; a<(BF+2); a++) OT = MathMod(MathRand(), 2);
    Ticket[No] = OrderSend(Inst[RND], OT, NormalizeDouble(MyLot, 2), MyBid, 5, 0, 0);
    if (Ticket[No] <= 0) {
    for (a=1; a<5; a++) {
    Sleep(2000);
    MyBid = MarketInfo(Inst[RND], MODE_BID);
    Ticket[No] = OrderSend(Inst[RND], OT, NormalizeDouble(MyLot, 2), MyBid, 5, 0, 0);
    if (Ticket[No] > 0) break;
    }
    }
    if (Ticket[No] > 0) {
    OrderSelect(Ticket[No], SELECT_BY_TICKET, MODE_TRADES);
    if (OT == OP_BUY) OrderModify(Ticket[No], MyBid, MyBid - SL[MyInst[No]], MyBid + TP[MyInst[No]], 0);
    else OrderModify(Ticket[No], MyBid, MyBid + SL[MyInst[No]], MyBid - TP[MyInst[No]], 0);
    }
  10. 66
    Комментарии
    1
    Темы
    66
    Репутация Pro
     
    sculptor

    2 Медалей
    Цитата Сообщение от Petrovich Посмотреть сообщение
    Начну потихоньку пробовать
    Мне просто интересно кто-то пробовал сам писАть или тестить такой советник?
    Может есть какая то загвоздка или тонкость..
    А то напишешь и окажется мартышкин труд...
    Пишеться без проблем, правда на истории мультиинструментный советник не потестишь.

    Насчет загвоздок и тонкостей: нужна конкретика (анализ на одном или нескольких временных горизонтах идет, на сформировавщихся барах или по приходу нового тика и т.д и т.п)

Вверх
РегистрацияX

чтобы писать, читать, комментировать