Как заработать на нестационарности рынков? (Статья) - страница 2

 
Sorento >>:

Напомню только:

...

Максминная и минимаксная величины (цены) для этой игры равны -1 долл. и 1 долл. соответственно. Так как эти величины не равны между собой, игра

не имеет решения в чистых стратегиях.

...

Мулен Э. Теория игр с примерами из математической экономики. М.: Мир,

Можете не напоминать, т.к. Вы привели только частный случай игры в орлянку да еще и в самом дебильной интерпретации - дезинформация, т.к. в данном случае решение есть, т.е. каждый игрок должен выбирать орла и решку с вероятностью 1/2 = 0.5. Игра честная, т.к. цена игры равна нулю и не имеет седловой точки.

 

Чуть не заснул, читая первый пост.

 
registred >>:

Чуть не заснул, читая первый пост.

Дык, это же хорошо!


Спи спокойно, дорогой товарищ.


Желательно чтобы народ спал. Чем меньше тех, кто попытается заработать на нестационарности, тем больше достанется тем, кто будет на ней зарабатывать.


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

 

Собрал советника для американского фондового (CFD). Продолжительность сессий 6 часов 30 минут, т.е. 13 баров на M30.


Входные параметры x0 - x12 - это объемы в лотах для баров по порядку


//+------------------------------------------------------------------+
//|                                                        Gamer.mq4 |
//|                               Copyright © 2009, Yury V. Reshetov |
//|                                                  http://bigfx.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, Yury V. Reshetov"
#property link      "http://bigfx.ru"

//---- input parameters
extern double    x0 = 0.0;
extern double    x1 = 0.0;
extern double    x2 = 0.0;
extern double    x3 = 0.0;
extern double    x4 = 0.0;
extern double    x5 = 0.0;
extern double    x6 = 0.0;
extern double    x7 = 0.0;
extern double    x8 = 0.0;
extern double    x9 = 0.0;
extern double    x10 = 0.0;
extern double    x11 = 0.0;
extern double    x12 = 0.0;
static int prevtime = 0;

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  
  if (! IsTradeAllowed()) {
   return(0); // Торговля запрещена
  }
  
  // Проверка на предмет нового бара
  if (Time[0] == prevtime) {
   return(0);
  }
  
  prevtime = Time[0];
  
   double lots = x0; // Необходимое количество открытых лотов для длинных поз
//----
   if ((Hour() == 16) && (Minute() >= 0)) {
      lots = x1;
   }
   if ((Hour() == 16) && (Minute() >= 30)) {
      lots = x2;
   }
   if ((Hour() == 17) && (Minute() >= 0)) {
      lots = x3;
   }
   if ((Hour() == 17) && (Minute() >= 30)) {
      lots = x4;
   }
   if ((Hour() == 18) && (Minute() >= 0)) {
      lots = x5;
   }
   if ((Hour() == 18) && (Minute() >= 30)) {
      lots = x6;
   }
   if ((Hour() == 19) && (Minute() >= 0)) {
      lots = x7;
   }
   if ((Hour() == 19) && (Minute() >= 30)) {
      lots = x8;
   }
   if ((Hour() == 20) && (Minute() >= 0)) {
      lots = x9;
   }
   if ((Hour() == 20) && (Minute() >= 30)) {
      lots = x10;
   }
   if ((Hour() == 21) && (Minute() >= 0)) {
      lots = x11;
   }
   if ((Hour() == 21) && (Minute() >= 30)) {
      lots = x12;
   }
   
   int total = OrdersTotal();
   double lt = 0; // Текущее общее количество лотов в открытых позах
   int ticket = -1; // Тикет позы
   double currlots = 0; // Объем в лотах для последней открытой позы
   
   for (int i = 0; i < total; i++) {
      OrderSelect(i, SELECT_BY_POS, MODE_TRADES); 
      if (Symbol() == OrderSymbol()) { // Проверка на инструмент
         lt = lt + OrderLots(); // Суммируем объемы по открытым позам     
         ticket = OrderTicket(); // Запоминаем тикет последней открытой позы
         currlots = OrderLots(); // Запоминаем объем последней открытой позы
      }
   }
   
   
   
   lots = lots - lt; // Какой объем необходимо открыть или закрыть
   
   
   double minlot = MarketInfo(Symbol(), MODE_MINLOT); // Минимальный объем для манипуляций
   
   if (lots < 0) { // Если лишний объем нужно закрыть
      lots = MathAbs(lots);
      lots = NormalizeDouble(lots, 1);
      if ((lots - currlots) > (minlot / 2)) { // Если нужно закрыть объем больший, нежели в последней открытой позе
         OrderClose(ticket, currlots, Bid, 2, Blue);
         prevtime = Time[1]; // Остальное попытаемся закрыть позже
         Sleep(30000);
      } else { // Объем последней открытой позы не превышает требуемый для закрытия
         if (! OrderClose(ticket, lots, Bid, 2, Blue)) { // Делаем попытку закрыть лишний объем
            prevtime = Time[1]; // Попытка неудачна, попробуем позже
            Sleep(30000);
         }
      }
   } else { // Необходима доливка
      lots = NormalizeDouble(lots, 1);
      if (lots < (minlot / 2)) { 
         return(0); // Доливка не нужна, объем соответствует
      }
   
      ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, 2, 0, 0, WindowExpertName(), 0, 0, Blue); 
      if (ticket < 0) {
         prevtime = Time[1]; // Попытка неудачна, попробуем позже
         Sleep(30000);
      }
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+
Файлы:
gamer.mq4  5 kb
 

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

 
Reshetov писал(а) >>

Как известно, рынки обладают нестационарностью.

Стандартной ошибкой всех постов - это отсутствие того, что мы принимаем на веру без доказательства, из того, что обсуждаем.

На веру: мы имеем ВР с переменным АЧХ, изменяющийся во времени с памятью. Самое скверное, если находится выигрышная стратегия и ею начнут пользовться досточно большое количество денег (не людей), то ВР изменится.

Применимо ли это аксиоматическое описание ВР к игровым методам. Хотя это давно было, но вероятности в матрице тгроков не зависят от времени. А про линейное программирование вообще говорить нечего.

Что обсуждает Решетов? Кстати не первый раз.

 
faa1947 писал(а) >>

Стандартной ошибкой всех постов - это отсутствие того, что мы принимаем на веру без доказательства, из того, что обсуждаем.

На веру: мы имеем ВР с переменным АЧХ, изменяющийся во времени с памятью. Самое скверное, если находится выигрышная стратегия и ею начнут пользовться досточно большое количество денег (не людей), то ВР изменится.

Применимо ли это аксиоматическое описание ВР к игровым методам. Хотя это давно было, но вероятности в матрице тгроков не зависят от времени. А про линейное программирование вообще говорить нечего.

Что обсуждает Решетов? Кстати не первый раз.

скорее речь об антиподгонке, а не нестационарности. имха

есть устойчивые рыночные сценарии, выбирается такая стратегия которая будет прибыльна даже при самом негативном. Попытка исключить элемент везения и совпадения. При нестационарности сценарии меняются со временем. Т.е. всю матрицу нужно пересматривать.

 
Avals >>:

скорее речь об антиподгонке, а не нестационарности. имха

есть устойчивые рыночные сценарии, выбирается такая стратегия которая будет прибыльна даже при самом негативном. Попытка исключить элемент везения и совпадения. При нестационарности сценарии меняются со временем. Т.е. всю матрицу нужно пересматривать.

На данный момент можно и так выразиться. Потому что пока трейдеры не знают в каких областях рынки стационарны, а в каких нестационарны. Как только они они получат эти самые знания, позволяющие с минимальным риском извлекать профит из движений рынка, то тогда всем скопом переведут рынки в стационарное состояние, после чего запросто и самым честным способом обчистят центробанки, как это произошло, например, в Исландии.

 

Не осилил - очень длинный текст.


Нельзя ли в 20 словах описать о чем статья?

 
SProgrammer >>:

Не осилил - очень длинный текст.


Нельзя ли в 20 словах описать о чем статья?

Это очень лаконичная статья, т.к. примерно вдвое короче, нежели минимальные требования для публикации в разделе Статьи


Как сделать ее еще короче без потери смысла, я не знаю. И предполагаю, что никак, поскольку: В математике царских путей не бывает (с) Евклид

Причина обращения: