Logo

Вход

Войти с помощью соц. сетей
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения
  • #1 Свернуть

    Нужен скрипт открытия ордеров

    Может у кого имеются в активе скрипты открытия ордеров, в который предварительно можно внести размер лота, тейкпрофит, и стоплосс. А также скрипт для открытия отложенных ордеров тоже с размером лота и т.д.....?
  • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
  • #2 Свернуть

    Коллега посмотри может етот подойдет?
    https://forexdengi.com/showthread.ph...ll=1#post44695
    Только надо быть очень внимательным сним, настройки каждый раз сбиваются!
    Боты для торговли криптовалютой
    Бесплатное написание советников, индикаторов, скриптов

    Комментарий

    • #3 Свернуть

      Сообщение от Semi Посмотреть сообщение
      Коллега посмотри может етот подойдет?
      https://forexdengi.com/showthread.ph...ll=1#post44695
      Только надо быть очень внимательным сним, настройки каждый раз сбиваются!
      нет, там слишком наворочено, да ешё и настройки сбиваются. Нужно попроще, типо как в соседней ветке скрипты закрытия ордеров: запустил и выполнено.
       

      Комментарий

      • #4 Свернуть

        Готовый, для торговли по ТС Return:

        //+------------------------------------------------------------------+
        //| Return - открывает по 5 ордеров BUY/SELL объемом в Lot каждый. |
        //| На расстоянии в Delta от цены открытия бара 23:00 МСК |
        //| 5 пипсов друг от друга. |
        //| Copyright c 2010, PPVic |
        //+------------------------------------------------------------------+
        #property copyright "Copyright c 2010, PPVic"
        #property link "http://www.metaquotes.net"

        extern double Lot=0.1;

        int start() {
        int NumberOrders=5,i,ticket,Delta=0;

        string Sym=Symbol(); // Current symbol
        datetime Exp=TimeCurrent()+9000; // Order expiration time (2,5 hours)
        double TP=Open[0]; // Цена открытия бара в 23:00 по МСК - будущий take-profit
        double Stoploss=130*Point; // Stops 130 pips from TP
        double Sprd=Ask-Bid; // Spread

        if (Sym=="EURUSD") Delta=15; // pips до первого отложенника
        if (Sym=="GBPUSD") Delta=15;
        if (Sym=="AUDUSD") Delta=20;
        if (Sym=="NZDUSD") Delta=20;
        if (Sym=="USDCHF") Delta=12;
        if (Sym=="USDJPY") { Delta=10; Stoploss=130*Point; } //USDJPY stop-loss
        if (Delta==0) return(0);

        for (i=0;i<NumberOrders;i++) {
        ticket=OrderSend(Sym,OP_BUYLIMIT,Lot,TP-(Delta+i*5)*Point,0,TP-Stoploss,TP,Sym,0,Exp);
        if(ticket<0) Print("OrderSend failed with error #",GetLastError());
        else Print("Order created: ",Sym," #: ",ticket," Delta: ",Delta+i*5," Spread: ",Sprd);

        ticket=OrderSend(Sym,OP_SELLLIMIT,Lot,TP+(Delta+i* 5)*Point+Sprd,0,TP+Stoploss+Sprd,TP+Sprd,Sym,0,Exp );
        if(ticket<0) Print("OrderSend failed with error #",GetLastError());
        else Print("Order created: ",Sym," #: ",ticket," Delta: ",Delta+i*5," Spread: ",Sprd);
        }
        return(0);
        }
        //END
         

        Комментарий

        • #5 Свернуть

          тоесть открывает сразу 5ть ордеров на покупку и пролажу? а что нужно поменять в коде что бы открывался один ордер и к примеру на покупку? Таким способом можно потом сделать отдельно на продажу, и получим ещё один отдельный скрипт.
             

          Комментарий

          • #6 Свернуть

            ticket=OrderSend(Sym,OP_BUYLIMIT,Lot,TP-(Delta+i*5)*Point,0,TP-Stoploss,TP,Sym,0,Exp);

            Это и есть команда открытия любого ордера. В Metaeditor есть описание этой функции. Тип ордера - второй параметр.
            А чтобы открывать не 5 штук, не 10, а всего 1 - убрать цикл for().

            Вы сообщите, что конкретно Вы хотите? Скрипт для автоматического открытия на текущем графике рыночного ордера с подтянутыми тейком и стоплоссом? Там будет всего одна вышеуказанная команда, просто с другими параметрами...
               

            Комментарий

            • #7 Свернуть

              Сообщение от ppvic Посмотреть сообщение
              ticket=OrderSend(Sym,OP_BUYLIMIT,Lot,TP-(Delta+i*5)*Point,0,TP-Stoploss,TP,Sym,0,Exp);

              Это и есть команда открытия любого ордера. В Metaeditor есть описание этой функции. Тип ордера - второй параметр.
              А чтобы открывать не 5 штук, не 10, а всего 1 - убрать цикл for().

              Вы сообщите, что конкретно Вы хотите? Скрипт для автоматического открытия на текущем графике рыночного ордера с подтянутыми тейком и стоплоссом? Там будет всего одна вышеуказанная команда, просто с другими параметрами...
              Смысл такой нужен: запускаю скрипт(предварительно в нём установлен размер лота, тейкпрофит и стоп лос, ну и естественно либо покупка либо продажа), и сразу открывается ордер. Потом я размножаю их у себя в терминале методом копирования с разными настройками, чтобы я их не менял раз за разом. Ну и по такомуже принципу, только чтобы открывасля отложенный ордер. Надеюсь понятно выразился.

              Н
                 

              Комментарий

              • #8 Свернуть

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

                Н
                попробуйте обратиться сюда Бесплатное написание программ на MQL4
                FAQ к ветке про Иланы. | Советники из темы Илан и не только!


                Комментарий

                • #9 Свернуть

                  Сообщение от optikum Посмотреть сообщение
                  Смысл такой нужен: запускаю скрипт(предварительно в нём установлен размер лота, тейкпрофит и стоп лос, ну и естественно либо покупка либо продажа), и сразу открывается ордер. Потом я размножаю их у себя в терминале методом копирования с разными настройками, чтобы я их не менял раз за разом. Ну и по такомуже принципу, только чтобы открывасля отложенный ордер. Надеюсь понятно выразился.
                  Абсолютно понятно.
                  Итак, команды:

                  double Lot=0.1; // нужный Вам лот
                  double TP=100 // тейк-профит, пунктов от текущей цены
                  double SL=50 // стоп, пунктов от текущей цены

                  int ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,0,Ask-SL*Point,Ask+TP*Point); // для бай маркет
                  int ticket=OrderSend(Symbol(),OP_SELL,Lot,Bid,0,Bid+SL *Point,Bid-TP*Point); // для cелл маркет

                  Для отложенников - вместо OP_BUY и OP_SELL - свои константы по типу ордера.
                  Еще раз взгляните на мой скрипт - нетрудно доработать до желаемого...
                     

                  Комментарий

                  • #10 Свернуть

                    ну вот пытаюсь скомпилировать:
                    //+------------------------------------------------------------------+
                    //| buy 1.mq4 |
                    //| Copyright © 2010, MetaQuotes Software Corp. |
                    //| http://www.metaquotes.net |
                    //+------------------------------------------------------------------+
                    #property copyright "Copyright © 2010, MetaQuotes Software Corp."
                    #property link "http://www.metaquotes.net"

                    //+------------------------------------------------------------------+
                    //| script program start function |
                    //+------------------------------------------------------------------+
                    int start()
                    {

                    //----
                    double Lot=0.1; // нужный Вам лот
                    double TP=100 // тейк-профит, пунктов от текущей цены
                    double SL=50 // стоп, пунктов от текущей цены

                    int ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,0,Ask-SL*Point,Ask+TP*Point); // для бай маркет
                    //----
                    return(0);
                    }
                    //+------------------------------------------------------------------+


                    Что-то неправильно, некомпилируется. Я не силён в этом деле. Можете готовый сделать один, а дальше я думаю уже разберусь что поменять.
                       

                    Комментарий

                    • #11 Свернуть

                      Сообщение от optikum Посмотреть сообщение
                      Что-то неправильно, некомпилируется. Я не силён в этом деле. Можете готовый сделать один, а дальше я думаю уже разберусь что поменять.
                      Сделаю, но Вы скажите - это ТО, ЧТО ВАМ НУЖНО? Открытие по текущей цене, ТП и СЛ задаются в скрипте. Так?
                         

                      Комментарий

                      • #12 Свернуть

                        В общем, уже сделал...
                        Прошу:

                        //+------------------------------------------------------------------+
                        //| buy1.mq4 |
                        //| Copyright © 2010 |
                        //| http://www.metaquotes.net |
                        //+------------------------------------------------------------------+
                        #property copyright "Copyright © 2010"
                        #property link "http://www.metaquotes.net"

                        double Lot=0.1; // нужный Вам лот
                        double TP=100; // тейк-профит, пунктов от текущей цены
                        double SL=50; // стоп, пунктов от текущей цены

                        int start() {

                        int ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,0,Ask-SL*Point,Ask+TP*Point); // для бай маркет
                        if(ticket<0) Print("OrderSend failed with error #",GetLastError());

                        return(0);
                        }
                        //END
                           

                        Комментарий

                        • #13 Свернуть

                          Компилируется, но при запуске скрипта во вкладке эксперты buy 001 EURUSD,M30: OrderSend failed with error #4109 . Будем искать в чем проблема.
                             

                          Комментарий

                          • #14 Свернуть

                            ошибка означает ERR_TRADE_NOT_ALLOWED (4109)

                            Скорее всего в настройках терминала не разрешено торговать советником.
                             
                            пишу советники (скрипты,индикаторы) за еду...тут

                            Комментарий

                            • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
                            • #15 Свернуть

                              Сообщение от vasili Посмотреть сообщение
                              ошибка означает ERR_TRADE_NOT_ALLOWED (4109)

                              Скорее всего в настройках терминала не разрешено торговать советником.
                              Да спасибо, я уже разобрался, в настройках не было галочки на разрешение торговли. Всё работает.
                              Ещё если можно нужен такой же скрипт, только чтобы ещё включал трейлинг.Можно в принципе убрать тейк и стоплос, если оно будет мешать. Если можно всё вместе, то будет гут. Надеюсь это реально)
                                 

                              Комментарий

                              Сейчас онлайн

                              working...
                              X