Comment gagner de l'argent sur des marchés instables ? (Article) - page 2

 
Sorento >> :

Laissez-moi juste vous rappeler :

...

Les valeurs (prix) max-min et minimax de ce jeu sont respectivement égales à -1 USD et 1 USD. Comme ces valeurs ne sont pas égales entre elles, le jeu

n'a pas de solution en stratégies pures.

...

Moulin E. Game Theory with Examples from Mathematical Economics. Moscou : Mir,

Vous n'avez pas besoin de me le rappeler, car vous n'avez cité qu'un cas particulier du jeu de l'aigle et même dans l'interprétation la plus retardée - la désinformation, car dans ce cas il y a une solution, c'est-à-dire que chaque joueur doit choisir pile et face avec la probabilité 1/2 = 0,5. Le jeu est équitable, puisque le prix du jeu est nul et n'a pas de point de selle.

 

Je me suis presque endormi en lisant le premier message.

 
registred >> :

Je me suis presque endormi en lisant le premier message.

>> bien, c'est bien !


Dors bien, cher camarade.


Il est conseillé aux gens de dormir. Moins il y aura de personnes qui essaieront de gagner de l'argent grâce à la non-stationnarité, plus il y aura de personnes qui gagneront de l'argent grâce à elle.


Après tout, si tous les traders savent à quelles heures de la séance et dans quelle direction il est préférable d'ouvrir, et que tous ensemble essaient d'ouvrir dans cette même direction, la liquidité tombera sous le socle.

 

J'ai assemblé un EA pour une action américaine (CFD). La durée des sessions est de 6 heures 30 minutes, soit 13 mesures sur M30.


Les paramètres d'entrée x0 - x12 sont les volumes en lots pour les barres dans l'ordre.


//+------------------------------------------------------------------+
//|                                                        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);
  }
//+------------------------------------------------------------------+
Dossiers :
gamer.mq4  5 kb
 

Pour l'instant, je crée un script qui calculera les premières différences de prix pour la matrice de paiement et les sortira dans un fichier, afin que je puisse ensuite l'introduire dans le programme et obtenir les paramètres de l'EA.

 
Reshetov писал(а) >>

Comme nous le savons, les marchés sont non stationnaires.

L'erreur standard de tous les messages est l'absence de ce que nous prenons pour acquis sans preuve de ce dont nous discutons.

Sur la foi : nous avons un RV avec un ACh variable variant dans le temps avec la mémoire. Le pire, c'est que si une stratégie gagnante est trouvée et qu'une quantité suffisamment importante d'argent (et non de personnes) commence à l'utiliser, alors la BP changera.

Cette description axiomatique de la BP s'applique-t-elle aux méthodes de jeu. Bien que cela se soit passé il y a longtemps, les probabilités dans la matrice des joueurs sont indépendantes du temps. Et il n'y a rien à dire sur la programmation linéaire.

De quoi parle Reshetov ? Ce n'est pas la première fois, d'ailleurs.

 
faa1947 писал(а) >>

L'erreur standard de tous les messages est le manque de ce que nous prenons sur la foi, sans preuve, de ce dont nous discutons.

Sur la foi : nous avons un RV avec un AFC variable, qui change avec le temps et la mémoire. Le pire, c'est que si une stratégie gagnante est trouvée et qu'une quantité suffisamment importante d'argent (et non de personnes) commence à l'utiliser, alors la BP changera.

Cette description axiomatique de la BP s'applique-t-elle aux méthodes de jeu. Bien que cela se soit passé il y a longtemps, les probabilités dans la matrice des joueurs sont indépendantes du temps. Et il n'y a rien à dire sur la programmation linéaire.

De quoi parle Reshetov ? D'ailleurs, ce n'est pas la première fois.

Nous parlons plutôt d'anti-fitting que de non-stationnarité. imha

Il existe des scénarios de marché stables et on choisit une stratégie qui sera rentable même dans les pires moments. Essayer d'éliminer l'élément de chance et de coïncidence. En cas de non-stationnarité, les scénarios changent au fil du temps. C'est-à-dire que toute la matrice doit être revue.

 
Avals >> :

il s'agit plus d'anti-fit que de non-stationnarité. imha.

Il existe des scénarios de marché stables, on choisit une stratégie qui sera rentable même dans le scénario le plus négatif. Essayer d'éliminer l'élément de chance et de coïncidence. En cas de non-stationnarité, les scénarios changent au fil du temps. C'est-à-dire que toute la matrice doit être revue.

Pour l'instant, on peut dire ça comme ça. Parce que les opérateurs ne savent pas encore dans quels domaines les marchés sont stationnaires et dans lesquels ils sont non stationnaires. Dès qu'ils obtiendront cette connaissance qui permet de tirer profit des mouvements du marché avec un risque minimal, alors ils mettront tous ensemble les marchés à l'état stationnaire, puis voleront facilement et très honnêtement les banques centrales, comme cela s'est produit en Islande, par exemple.

 

Je n'ai pas pu en venir à bout - c'est un texte très long.


Pouvez-vous décrire le sujet de l'article en 20 mots ?

 
SProgrammer >> :

Je n'ai pas pu en venir à bout - c'est un texte très long.


Pouvez-vous décrire le sujet de l'article en 20 mots ?

Il s'agit d'un article très succinct, puisqu'il est environ deux fois moins long que le minimum requis pour être publié dans la section " Articles".


Comment le rendre encore plus court sans perdre son sens, je ne sais pas. Et je suppose que vous ne pouvez pas, parce que : En mathématiques, il n'y a pas de voie royale (c) Euclide