Pas le Graal, juste un ordinaire - Bablokos ! !! - page 216

 
Contender:


Un tel "portefeuille" est similaire :

Acheter CADCHF 0.1*L

Acheter EURCHF 0.9*L

où L est le volume total négocié.


En gros, oui. La charge sur le dépôt est moindre.
 
Contender:


Un tel "portefeuille" est similaire :

Acheter CADCHF 0.1*L

Acheter EURCHF 0.9*L

où L est le volume total négocié.


C'est une idée en passant.
 
_new-rena:

L'idée de Bablokos ici. A mon avis, personne n'a commencé correctement. C'est-à-dire que vous devez d'abord exprimer toutes les paires par la devise de dépôt, puis les faire correspondre de manière égale (égaliser) en termes de prix. ... Ensuite, appliquez-les à un graphique, puis calculez les lots, puis constituez un portefeuille basé sur la stratégie d'"arbitrage statistique", puis regardez - ce que nous obtenons (j'ai montré l'indicateur de portefeuille ici de Surgeon), seulement ensuite essayez-le sur une démo.....

La meilleure variante est d'écrire tous les indicateurs - cartographie des paires, spreads, canal, ordres, équité pour les tester dans MQL4 ou directement dans MQL5.


Il est alors possible d'exclure USDJPY de l'analyse et de générer des spreads de six devises (sans USD et JPY). Je vais maintenant essayer de réécrire le générateur.
 

_

Oui. Les écarts sont différents. La version 2 est maintenant normalisée en USD. Le calcul du lot est toujours le même.... Pourquoi le changer ?

 
int init()
  {
//--- indicator buffers mapping
  ObjectCreate ("Start", OBJ_VLINE, 0, 0, 0);// ???????? ???.
  ObjectCreate ("Finish", OBJ_VLINE, 0, 0, 0);// ???????? ???.
  ObjectSet("Start",0,iTime(NULL,0,depth+shift));
  ObjectSet("Finish",0,iTime(NULL,0,shift));
  SetIndexBuffer(0,spread);
  double min=100000000;
  for(int i1=0;i1<6;i1++) 
    {
    for(int i2=0;i2<6;i2++) 
      {
      for(int i3=0;i3<6;i3++) 
        {
        if(i1!=i2&&i1!=i3)
          {
          delta1=iOpen(pair[i1]+prefix,0,shift)/iOpen(pair[6]+prefix,0,shift)-iOpen(pair[i1]+prefix,0,shift+depth)/iOpen(pair[6]+prefix,0,shift+depth);
          delta2=iOpen(pair[i2]+prefix,0,shift)/iOpen(pair[6]+prefix,0,shift)-iOpen(pair[i2]+prefix,0,shift+depth)/iOpen(pair[6]+prefix,0,shift+depth);
          delta3=iOpen(pair[i3]+prefix,0,shift)/iOpen(pair[6]+prefix,0,shift)-iOpen(pair[i3]+prefix,0,shift+depth)/iOpen(pair[6]+prefix,0,shift+depth);
          if(delta3-delta2!=0)
            {
            y=(delta1-delta2)/(delta3-delta2);
            x=1-y;
            if(MathAbs(x)+MathAbs(y)==1)
              {
              for(int i=shift;i<shift+depth;i++)spreadtemp[i]=1*iOpen(pair[i1]+prefix,0,i)/iOpen(pair[6]+prefix,0,i)
                                                           -x*iOpen(pair[i2]+prefix,0,i)/iOpen(pair[6]+prefix,0,i)
                                                           -y*iOpen(pair[i3]+prefix,0,i)/iOpen(pair[6]+prefix,0,i);
              double max=0;
              for(int i=shift;i<shift+depth;i++)if(MathAbs(spreadtemp[shift]-spreadtemp[i])>max)max=MathAbs(spreadtemp[shift]-spreadtemp[i]);
              if(max<min){min=max;pair1=i1;pair2=i2;pair3=i3;x_start=x;y_start=y;}
              }
            }
          }
        }
      }
    }
   return(0);
  }
Le critère de sélection est la déviation minimale de l'écart par rapport à l'axe dans une plage donnée. Peut être réécrit en fonction des besoins.
 

_

Normalisé, ramené à la monnaie de dépôt, avec USD au dénominateur. Je ne pense pas que le calcul du spread va beaucoup changer par rapport aux prix. Cela peut s'avérer être la même chose.

Lignes en conséquence AUDUSD CADUSD CHFUSD EURUSD GBPUSD NZDUSD. Je n'ai pas ajouté la ligne (100*JPY)/USD.

 
15 graphiques de corrélation sur la ligne de fond. il ne reste plus qu'à trouver le lot.
 
Échanger deux écarts l'un contre l'autre. Je l'ai, je vais gagner de l'argent...
 
grell:
Vous devez échanger deux spreads l'un contre l'autre. Je l'ai, je vais me faire de l'argent...


L'essentiel dans ce processus est de se rendre compte à temps que tous ces "écarts" ne sont rien d'autre que "les mêmes œufs, mais côte à côte".

;)

 
Contender:


L'essentiel dans ce processus est de se rendre compte à temps que tous ces "écarts" ne sont rien d'autre que "les mêmes œufs, mais côte à côte".

;)


Oui, c'est vrai, c'est juste que l'analyse est plus profonde.