Spread trading dans Meta Trader - page 163

 

Pour calculer le ratio du lot, je fais ce qui suit :

1. tout d'abord, deux variables externes (appelons-les "coefficients de volatilité" de deux IF) se voient attribuer la valeur 1

2. à partir du moment souhaité (défini dans les variables externes) - en même temps, je regarde les deux graphiques pour détecter les pics "de gauche" : en règle générale, sur M5, M15 le dernier mois est plus ou moins normal - nous traçons les mouvements de la paire en ticks dans une fenêtre séparée :

extern datetime start = D'2011.01.19 03:00'; //время начала отрисовки тиковых графиков
extern double K1=1.0; //коэффициенты пропорциональности (для волатильности) устанавливаем визуально
extern double K2=1.0;
extern double Y_shift=0; //смещение по вертикали тикового графика второго инструмента

TickSize_1=MarketInfo(Symbol(),MODE_TICKSIZE); 
TickSize_2=MarketInfo(Symbol_2,MODE_TICKSIZE);

int bar2_1=iBarShift(Symbol_2,0,Time[i],false); //для синхронизации
int bar2_2=iBarShift(Symbol_2,0,Time[i+1],false);
double Close2_1=iClose(Symbol_2,0,bar2_1);
double Close2_2=iClose(Symbol_2,0,bar2_2);

StartBar=iBarShift(NULL,0,start,false);


    if(i==StartBar)
      {
      TM_1[i]=K1*(Close[i]-Close[i+1])/TickSize_1;
      TM_2[i]=(K2*(Close2_1-Close2_2)/TickSize_2)+Y_shift;
      }
    else
      {
      if(i<StartBar)
        {
        TM_1[i]=K1*((Close[i]-Close[i+1])/TickSize_1)+TM_1[i+1];
        TM_2[i]=K2*((Close2_1-Close2_2)/TickSize_2)+TM_2[i+1];
        }
      }


c'est le début du processus :

La valeur préliminaire des lots est définie à partir de (bien que cela doive être vérifié - par exemple, monnaie de dépôt $ et tick FDAX = 12,5 EUR) :

TV_Sym1=MarketInfo(Symbol(),MODE_TICKVALUE);
TV_Sym2=MarketInfo(Symbol_2,MODE_TICKVALUE);

Sélectionnez ensuite 2 figures similaires et mesurez la hauteur de chacune d'elles en ticks :

pour huile QM pour huile BRN

comme nous le voyons, dans cette partie du graphique BRN a bougé de 88 ticks, QM - 56,5 (il est possible de trouver beaucoup de chiffres similaires /dix suffiront/ et d'obtenir ainsi le ratio de la somme des mouvements d'un instrument par rapport à la somme des mouvements d'un autre) je ne le ferai pas dans cet exemple, je me contenterai de fixer le coefficient K2 à 88/56,6=1,56

le résultat de ce geste (en parallèle nous mesurons la différence des graphes à cet endroit par la hauteur - 43,8 ticks) :

Maintenant, nous définissons la variable externe Y_shift=43,8 et nous vérifions :

dans ce cas le calcul des lots est fait automatiquement par ce code :

//---- расчет соотношений объемов по паре (TICK_VALUE предварительно проверять!)
  double L1=1,L2=1; //предварительно для обоих инструментов установим объемы по 1 лоту
  
  if(K1>K2) L1=NormalizeDouble(K1/K2,2);
  else if(K1<K2) L2=NormalizeDouble(K2/K1,2);
  
  if(TV_Sym1>TV_Sym2) L2*=NormalizeDouble(TV_Sym1/TV_Sym2,2);
  else if(TV_Sym1<TV_Sym2) L1*=NormalizeDouble(TV_Sym2/TV_Sym1,2);
  
  if(L1>L2) {L1/=L2; L2=1;}
  else if(L1<L2) {L2/=L1; L1=1;}

comme vous pouvez le constater, le résultat a changé : c'est-à-dire 1,25 / 1 (une fois de plus, notez qu'un chiffre ne suffit pas !)

Je dois noter que je n'ai eu aucune divergence avec Leonid (j'ai vérifié plusieurs paires de cette manière)

Le fait que l'un des outils soit une colle ne dérange pas Z.I. - pour l'exemple, c'est insignifiant.

 
PPC:

La valeur préliminaire des lots est définie à partir de (bien que cela doive être vérifié - par exemple, la devise de dépôt est $ et le tick FDAX = 12,5 EUR) :

Un problème similaire a été résolu comme suit :

double TrueTickValue( string Symb )
{
  double TickValue = MarketInfo(Symb, MODE_TICKVALUE);
  double Tmp = MarketInfo(Symb, MODE_MARGININIT);
 
  if ((MarketInfo(Symb, MODE_MARGINCALCMODE) > 0) && (Tmp > 0))
    TickValue *=  MarketInfo(Symb, MODE_MARGINREQUIRED) / Tmp;
 
  return(TickValue);
}
Ma méthode pour trouver l'écart est basée sur la résolution d'un problème d'optimisation et est entièrement automatisée pour un nombre quelconque d'IF.
 
hrenfx:

Un problème similaire a été résolu de cette façon :

Tout à fait d'accord. 100% fonctionnera. Une construction très simple et logique. (avec votre permission, je l'ajouterai à ma tirelire)

 
hrenfx:
Ma méthode pour trouver l'écart est basée sur la résolution d'un problème d'optimisation et est entièrement automatisée pour un nombre quelconque d'IF.
Eh bien, pas de commentaires ici, car je n'ai pas l'honneur de connaître votre idée :)
 
PPC:
Eh bien, pas de commentaires ici, car je n'ai pas l'honneur de connaître votre idée :)

Voici l'énoncé du problème et voici la solution.
 
hrenfx:

Voici l'énoncé du problème et voici la solution.
merci pour les informations - il y a beaucoup de matériel à étudier.
 

A propos, pour le pétrole, il est plus raisonnable d'arbitrer l'écart CL (ou WTI) - BRN.

Les dimensions sont les mêmes. Et les commentaires des analystes portent tous sur la taille de l'écart BRN - CL.

Au fait - un commentaire intéressant ce matin. http://top.rbc.ru/finances/07/02/2011/539457.shtml

En général, de nombreux analystes de "matières premières" supposent que maintenant que cet écart(BRN - CL) a atteint 11 chiffres, il ne va plus croître et qu'il y a une raison d'entrer dans une contraction à long terme.

 

Situation actuelle BRNH1-CLH1=1^1, H1

 
leonid553:

À propos, sur le pétrole, il est plus raisonnable d'arbitrer l'écart CL (ou WTI) - BRN.

Je donnais juste un exemple de la technique de calcul elle-même...
 

Eh bien, voici un petit plaisir pour ceux qui sont présents.

L'étalement du porc du calendrier HEJ1-HEK1 (avril-mai).

Tendances saisonnières permanentes . Sans commentaire !

Cependant, il y aura un commentaire. Positions à ouvrir sur ce spread - mieux au milieu de la session américaine après 18:30 heure de Moscou. À l'heure actuelle, l'offre d'achat de ces instruments porcins est considérablement plus faible - des dizaines de fois !