Группа "Стол заказов MQL"

Рейтинг 2146



РЕКОМЕНДУЮ



Ищу поручителя на советник-маркет мейкер

Здравствуйте. Ранее Андрей делал мне советник-маркетмейкер. Хочу теперь его доработать, ищу поручителя.

Нашел формулы, по которым работает маркет-мейкер. Вот здесь они изложены: smart--lab-ru.turbopages.org/smart-lab.ru/s/blog/244854.php

Первая формула, по которой происходит цена Pi, вокруг которой выстраиваются лимитные ордера:

Pi(s, q, t) = s — q * γ * σ^2(T — t), где

s — цена актива,

q — величина открытой позиции,

γ- постоянный коэффициент (мера риска),

σ — среднеквадратичное отклонение цены актива (видимо можно взять Standart Deviation),

T — период торговли,

t — текущее время (в долях T)

Это цена, вокруг которой выстраиваются лимитные ордера. Вот формула расчета дельты лимитных ордеров, которые центруются вокруг цены Pi:

delta_b+ delta_a = 2/γ(ln) * (1 + γ/k)
где γ- постоянный коэффициент (мера риска), который подбирается при тестировании алгоритма.
k — интенсивность исполнения лимитных ордеров
  • +3
  • Просмотров: 2508
  • 10 января 2023, 20:10
  • Shtenco
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Нужен советник для Мetatrader 5
Следующая запись в группе  
Скрипт считающий длину
09 января 2023
11 января 2023

Брокер для ваших роботов, 15 лет на рынке

Комментарии (25)

+
0
пример расчета?
avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 10 января 2023, 20:45
+
0
Да, чуть позже вам скину примеры с кодом сразу. Я пытался сам сделать, но у меня вылазит ошибка инвалид прайс. Не получается ее исправить.
avatar

  9  Shtenco Автор Сообщений: 238

  • 10 января 2023, 20:49
комментарий был удален 2023-01-11 17:29:53 Shtenco

комментарий был удален 2023-01-11 17:29:49 Shtenco

комментарий был удален 2023-01-10 22:04:41 Shtenco

+
0
пока непонятно
avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 10 января 2023, 22:00
комментарий был удален 2023-01-11 17:29:46 Shtenco

комментарий был удален 2023-01-11 17:29:43 Shtenco

комментарий был удален 2023-01-11 17:29:41 Shtenco

комментарий был удален 2023-01-11 17:29:38 Shtenco

+
0
если бы все донесли таким образом чтобы было понятно, завтра бы начал смотреть, а сейчас этого нет
avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 10 января 2023, 22:10
+
0
Ок, сейчас подумаю как вам попроще написать ТЗ)
avatar

  9  Shtenco Автор Сообщений: 238

  • 10 января 2023, 22:11
комментарий был удален 2023-01-11 17:29:32 Shtenco

комментарий был удален 2023-01-11 17:29:27 Shtenco

+
0
не берусь
avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 11 января 2023, 17:21
+
+1
Понял. Может, подскажете как можно получить скорость открытия сделок?
avatar

  9  Shtenco Автор Сообщений: 238

  • 11 января 2023, 17:31
+
0
что для вас скорость открытия сделок?
avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 11 января 2023, 17:34
+
0
Сколько за последний час было открыто лимитных сделок на продажу, а сколько — на покупку. Если будет эта функция, я думаю то сам смогу сделать советник и выложить:) 
avatar

  9  Shtenco Автор Сообщений: 238

  • 11 января 2023, 18:04
+
0
сейчас набросаю
avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 11 января 2023, 18:30
+
0

int Num(int type)
  {
   int num=0;

   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==type)
              {
               if(OrderOpenTime()<TimeCurrent() && OrderOpenTime()>TimeCurrent()-60*60)
                 {
                  num++;
                 }
              }
           }
        }
     }

   return(num);
  }

Редактирован: 11 января 2023, 18:45
avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 11 января 2023, 18:39
+
0
Благодарю!)Позже попробую сам написать сову:) 
avatar

  9  Shtenco Автор Сообщений: 238

  • 11 января 2023, 18:48
+
0
я обычно в главной функции пишу такую конструкцию:

<code>//---------- блок подсчёта ордеров
int limitbuy=0;
int limitsell=0;
int stopbuy=0;
int stopsell=0;
int buy=0;
int sell=0;
int i;
   for( i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==0) buy++;
            if(OrderType()==1) sell++;
            if(OrderType()==2) limitbuy++;
            if(OrderType()==3) limitsell++;  
            if(OrderType()==4) stopbuy++;
            if(OrderType()==5) stopsell++;            
           }
        }
     }
//-----------------------------------------------------------------</code>

добавьте условие учета за нужный интервал времени.
Редактирован: 11 января 2023, 19:48
avatar

  16  ssg Сообщений: 817

  • 11 января 2023, 19:46
+
0
Посмотрите пожалуйста, он почему-то сделки только в одну сторону открывает после оптимизации(((:

www.opentraders.ru/downloads/3493/
Редактирован: 11 января 2023, 20:40
avatar

  9  Shtenco Автор Сообщений: 238

  • 11 января 2023, 20:40
+
0
у вас ошибок много в советнике. поправил что мог и функцию переписал под мт5
www.opentraders.ru/downloads/3494/



avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 11 января 2023, 21:22
+
0
Спасибо огромное!):) 
avatar

  9  Shtenco Автор Сообщений: 238

  • 11 января 2023, 21:46

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий