Pair trading et arbitrage multidevises. L'épreuve de force. - page 85

 
Roman Poshtar #:
J'ai trouvé toutes les dindes sur le sujet. Je les mettrai demain et nous verrons. Pour l'instant.

Comment avez-vous calculé les volumes ?

Vous ne pouvez pas négocier des croisements et des divergences, vous devriez le faire comme ceci : https://www.mql5.com/ru/forum/448777/page84#comment_50303521.

Sinon, c'est du bruit. Plus précisément, ce n'est pas tant la divergence qui est négociée, mais une paire sur deux.

Парный трейдинг и мультивалютный арбитраж. Разборки.
Парный трейдинг и мультивалютный арбитраж. Разборки.
  • 2023.11.02
  • www.mql5.com
Добрый день уважаемые форумчане. Немного почитав форум, наткнулся на несколько тем по арбитражу и парному трейдингу...
 
Maxim Kuznetsov #:


Selon mes calculs à chaque instant, les coefficients sont les suivants

0
0.3280
0.6720 

Et le coefficient zéro se promène le long du triangle, en fonction du signe de rentabilité (+ -) de tel ou tel instrument.

0.6316
0.3684
0


J'en suis arrivé à la conclusion que le zéro est remplacé par un.
Par conséquent, à un moment donné, n'importe quel symbole peut avoir une valeur de lot avec le coefficient 1.

 

Aujourd'hui j'ai fait un test de glissement sur une paire.
Le glissement ne s'est pas encore effondré, je surveille ))
Et ceci sans appliquer la formule, car je n'ai pas encore implémenté le calcul.
Juste sur le rendement de deux instruments.

te

En principe, ceux qui ont des difficultés à mettre en œuvre la formule de calcul, peuvent même attraper des sliders sans l'appliquer.
Calculez simplement le rendement, et vous verrez tout.
 
Maxim Kuznetsov #:

VolumeA=LgA/(LgA+LgB)

Le taux de variation du prix du triangle est en constante évolution. Bien sûr, au moment de l'entrée, vous pouvez choisir une quantité similaire au taux de variation des prix au moment de l'entrée, mais cette quantité ne sera pertinente qu' au moment de l'entrée. En une seconde, tout peut changer et changera très probablement.

 
Maxim Kuznetsov taux de change dollar contre dollar = 1, const LgU=Ln(1)

VolumeA*=LgA^2/(LgA^2+LgB^2+LgU^2) ; (* non normalisé)

Correct, bien qu'il semble l'être

Bien sûr, c'est bizarre : au contraire... il faudrait dire "le volume est inversement proportionnel au logarithme du prix".

et la formule correcte pour savoir comment exactement "inversement proportionnel" devrait être pensée, peut-être que quelqu'un peut vous le dire :-)



 
Maxim Kuznetsov #:

il y a quelque chose de bizarre dans le calcul du volume pour l'échange de divergences :

...

Corrigez-le, bien qu'il semble être correct

Idéalement, il faudrait aussi tenir compte de la volatilité des instruments,
car la performance de trading de l'USDCHF est presque 2 fois inférieure à celle du GBPUSD.

 
Grigori.S.B #:

Idéalement, il faudrait également tenir compte de la volatilité des instruments,
. Les qualités de fonctionnement de l'USDCHF sont presque deux fois inférieures à celles du GBPUSD.

une fois converties en une base commune - les mêmes :-) L'USDCHF et l'USDGBP représentent les mêmes pourcentages.

 
Maxim Kuznetsov #:

lorsqu'ils sont convertis en une base commune, ils sont identiques :-) USDCHF et USDGBP font les mêmes pourcentages égaux

Si c'est en %, alors oui, je suis d'accord.

 
Roman #:

Calculez le rendement.
Appliquez ensuite les formules en trouvant les formules manquantes.
Oui, il y a des mathématiques, mais ce n'est pas compliqué, et la même solution est disponible en utilisant différentes méthodes.

Des mathématiques en une seule étape.

mais je ne l'ai pas encore vu,

Je n'ai vu personne réaliser laquelle.

Il serait donc très étrange que je vous dise "droit au but".

;))))

 

Voici ce que j'ai obtenu, critiquez-le.

   double lgS=MathLog(priceS);   // это продаём
   double lgB=MathLog(priceB);   // это покупаем
   double lgU=MathLog(1.0);      // через USD торгуем (const 0)
   // если пивот не дали, считаем сами
   if (pivot==0) {
      // равновесие, приблизительно средне-квадратичное
      double lgMin=MathMin(lgS,MathMin(lgB,lgU));
      double pivot=lgMin+MathSqrt((MathPow(lgS-lgMin,2.0)+MathPow(lgB-lgMin,2.0)+MathPow(lgU-lgMin,2.0))/3.0);
   }
   // амплитуды, у металлов вдвое выше
   double ampS=(SymbolInfoString(symS,SYMBOL_CURRENCY_BASE)=="XAU"||SymbolInfoString(symS,SYMBOL_CURRENCY_BASE)=="XAG")?2.0:1.0;
   double ampB=(SymbolInfoString(symB,SYMBOL_CURRENCY_BASE)=="XAU"||SymbolInfoString(symB,SYMBOL_CURRENCY_BASE)=="XAG")?2.0:1.0;
   // весовые коэфф.
   double weightS=1.0/(MathSqrt(MathAbs(pivot-lgS))+ampS);   // ?? 1.0/MathAbs(pivot-lgS)*ampS)
   double weightB=1.0/(MathSqrt(MathAbs(pivot-lgB))+ampB);
   // нормированные веса
   double normS=weightS/(weightS+weightB);
   double normB=weightB/(weightS+weightB);
   // инвест в продажу/покупку
   double investS=invest*normS;
   double investB=invest*normB;

le principe du volume inversement proportionnel au logarithme du prix est respecté et les chiffres sont raisonnables.

le centrage et les amplitudes sont disponibles. Je ne suis pas sûr du sqrt() dans weightS.

Raison: