Spread trading dans Meta Trader - page 161

 
wise:
Pas un graal. En conséquence, tout le monde s'est désintéressé. =)


Pas du tout intéressé ! Au contraire. Cette branche dispose du matériel de départ nécessaire et la majorité d'entre eux ont déjà "pénétré" et se sont dispersés sur des sites spécialisés. Espérons qu'ils continueront à commercer avec succès et à acquérir de l'expérience !

Au fait. Sur un sujet connexe. Il y a maintenant une raison de se lancer dans l'achat du spread de soja ZSK1-ZNK1 (haricots - farine, contrats de mai).

(Je suis dans le rapport ZSK1-ZNK1 =2:3).

Voici la justification fondamentale de l'entrée, les graphiques des tendances pluriannuelles des écarts saisonniers :

 

Et voici la situation actuelle de cette propagation - voir la figure ci-dessous.

Vous pouvez clairement voir sur la ligne de l'indicateur d'écart inférieur que la saisonnalité a déjà commencé.

Et toi, sage, - dis - pas intéressant.... Et qu'est-ce qui vous intéresse ?

 

Et voici une autre option actuelle. Entrée à court terme sur tf=M30.

Demain (c'est-à-dire ce soir), il est possible d'acheter le "commodity spread" pétrole - contrats à terme canadiens.

acheter CLH1 - vendre 6CH1 =1^2

(ou comme suit : BUY QM + BUY USDCAD =1^1 - les deux instruments sont BUY)

Les prix de ces instruments ont maintenant divergé, cela peut être facilement vu sur les lignes de prix dans la fenêtre de l'indicateur inférieur. Et (très probablement) ils commenceront à converger après l'ouverture des marchés. Et la ligne de l'indicateur d' écart est prête à tourner !

Fermeture des positions - très strictement au point de convergence des disques de prix (vert et bleu)

Nous verrons comment ça se termine demain ! (Toutes les entrées précédentes de la dernière paire à la même divergence de prix ont été rentables - je les ai marquées avec des flèches).

 
Comment trouve-t-on le rapport de volume de l'instrument (idea) et pourquoi est-il constant ?
 

Ce n'est pas exactement constant. Il s'agit du ratio calculé par l'indicateur, en tenant compte de la taille du tick en pips et de la valeur du pip dans la devise de dépôt.

A droite se trouve le ratio des tailles incluant la volatilité selon l'ATR - c'est le meilleur ratio à utiliser dans le trading pratique. Et c'est le ratio pour lequel la ligne d'écart est tracée dans l'indicateur supérieur.

int init() {
 

  // Определяем балансовые коэффициенты каждого инструмента
  kVol1=MarketInfo(Symbol1.Name, MODE_TICKVALUE)/MarketInfo(Symbol1.Name, MODE_TICKSIZE);
  kVol2=MarketInfo(Symbol2.Name, MODE_TICKVALUE)/MarketInfo(Symbol2.Name, MODE_TICKSIZE);
  

 int start() {
.... ... ...
// Расчет соотношения объемов для торговли.
  // Рассчитываются не абсолютные значения, а относительные, приведенные
  // к первому инструменту. При определении абсолютных объемов, исходя
  // из выбранной модели управления капиталом, следует сохранить 
  // рассчитанные пропорции.
  
  double volA1=1, volA2=EMPTY,     // Объем, рассчитанный по волатильности
         volP1=1, volP2=EMPTY,     // Объем, рассчитанный по цене открытия
         var1;

  // Если будет использоваться волатильность, рассчитываем объемы по волатильности
  if((VOL.Mode==2 || VOL.Mode==3) && 
     iBars(Symbol1.Name,0)>VOL.PeriodATR &&     // Достаточно ли баров в истории для расчета волатильности?
     iBars(Symbol2.Name,0)>VOL.PeriodATR) {
    var1=volA1*kVol1*iATR(Symbol1.Name,0,VOL.PeriodATR,1);
    volA2=var1/kVol2/iATR(Symbol2.Name,0,VOL.PeriodATR,1);
  }
  // Если будет использоваться цена открытия, рассчитываем объемы по цене открытия
  if(VOL.Mode==1 || VOL.Mode==3 || volA2==EMPTY) {
    var1=volP1*kVol1*iOpen(Symbol1.Name,0,0);
    volP2=var1/kVol2/iOpen(Symbol2.Name,0,0);
  } 

=======================================

// Пишем комментарий в окне индикатора с правой стороны
  string sVolA1="",sVolA2="",sVolP1="",sVolP2="";
  if(volP2!=EMPTY) {
    sVolP1=DoubleToStr(volP1,2)+"= ";
    sVolP2=DoubleToStr(volP2,2)+"= ";
  }
  if(volA2!=EMPTY) {
    sVolA1=" ="+DoubleToStr(volA1,2);
    sVolA2=" ="+DoubleToStr(volA2,2);
  }
  DrawLabel(oSymb1, sVolP1+Symbol1.Name+sVolA1, 10, indicator_color1, 5);
  DrawLabel(oSymb2, sVolP2+Symbol2.Name+sVolA2, 10, indicator_color2,18);

Et j'ai l'habitude, par expérience pratique, de prendre ce ratio :

acheter CLH1 - vendre 6CH1 =1^2

(vous pouvez aussi utiliser BUY QM + BUY USDCAD =1^1 - les deux instruments BUY)
. Encore une fois, fermeture des positions - strictement au point de convergence des disques de prix (vert et bleu)

 

Merci pour le code, mais je ne comprends pas l'idée.

Je suggère de comparer nos approches du calcul des ratios :

  1. Sélectionne les IFs à comparer.
  2. Intervalle de construction.
  3. Le ratio du lot est donné. Les restrictions sur le calcul des lots (lot minimum et pas de lot minimum) ne sont pas imposées.
  4. La comparaison se fait par le biais de l'indicateur d'écart réel (non lissé) pour les lots spécifiés.
 
leonid553:

...... ...
(ou comme suit : BUY QM + BUY USDCAD =1^1 - les deux instruments BUY)
. Encore une fois, - fermer les positions - strictement au point de convergence des disques de prix (vert et bleu)

pour cette version BUY QM + BUY USDCAD , la situation est telle que présentée dans le graphique ci-dessous.

Le spread est construit pour le ratio des positions QM:USDCAD = 1:1.4 - comme le démontre l'indicateur de ligne de prix calculé avec la volatilité prise en compte.

 
hrenfx:

Je suggère de comparer nos approches aux calculs de ratios :

  1. Sélection des IFs pour la comparaison
  2. Intervalle de construction.
  3. Le ratio des lots est délivré. Les restrictions sur le calcul des lots (lot minimum et pas de lot minimum) ne sont pas imposées.
  4. La comparaison est effectuée par l'indicateur d'écart réel (non lissé) par lots spécifiés.

Ce n'est pas encore tout à fait clair. Ceci :

3. Le ratio des lots est donné. - Qu'est-ce que cela signifie ?

Comment est-elle distribuée ? D'une torche ?

 

Permettez-moi de reformuler : le volume et la direction des positions qui consommeraient une certaine quantité de marge sont donnés. Par exemple, 1000 $ :

  1. USDJPY = 0,5 lot (500 $ de marge avec un effet de levier de 100:1).
  2. USDCHF = -0.5 lots (500 $ de marge avec un effet de levier de 100:1).
 

Je vois. En fait, nos approches ne sont pas très différentes. En fin de compte, nous en arrivons au point 4.

Je pense que mon approche est encore plus expéditive. Mon approche nous permet de sauter les trois premiers points et de passer directement au quatrième point, puis au "lissage" ultérieur de l'écart.

Par exemple. Avec votre approche pour le CL "duo" - 6C = 1:1 (approximativement) - lorsque vous arrivez au 4ème point, vous constatez que vous ne négociez pas un spread, mais un seul pétrole ! Parce qu'avec votre affectation, vous avez un fort penchant pour le pétrole.

Avec mon approche - en mettant dans le spread les positions calculées par l'indicateur, on obtient dans la majorité des cas un spread équilibré !

Et il est équilibré pour tous les paramètres - tant pour la volatilité des symboles analysés que pour leurs "spécifications" (pour des caractéristiques spécifiques - la valeur du point, la taille du tick...).

En outre, les dimensions sont correctes pour le "calcul de la moyenne" de l'écart.

==============================

Je n'ai peut-être pas donné un exemple parfait, car le dollar canadien et le pétrole ne sont pas des instruments tout à fait similaires, et ils sont négociés sur des marchés différents.

Plus tard (je vais déjeuner maintenant) - je donnerai un exemple de SI-GC ( argent-or)