Calcul du lot par Vince - page 3

 
MaxZ:

Et où trouvez-vous le max_profit ? Oh... Vous le fixez délibérément vous-même.


Non - la perte la plus importante se trouve dans le rapport après les tests, y compris les tests avant.

Après cela, nous exécutons à nouveau le test sur la même période avec la valeur entrée de la variable D dans les variables externes et le compte f dans le de-item,

Puis, connaissant f, nous calculons les lots et les plaçons sur le compte de démonstration.

 
Roman.:


Non - la perte la plus importante se trouve dans le rapport après les tests, y compris les tests en avant.

Après cela, nous exécutons à nouveau le test sur la même période avec la valeur entrée de la variable D dans les variables externes et le compte f dans le de-item,

ensuite, connaissant f, calculer le volume des lots et le mettre sur le compte de démonstration.


C'est juste une coupe normale. En avez-vous besoin ?
 
Vinin:

C'est juste une coupe normale. En avez-vous besoin ?

J'aimerais voir des échanges sur la démo de la chouette avec MM selon les recommandations de R. Vince
 
Roman.:

Je le cherche. Regardez les p. 30-32 de la bande-annonce - voir mon post précédent, en désencré - je le cherche de façon programmatique... Il n'y a pas d'autre moyen.

Je ne peux même pas le voir... Après tout, le tableau

Mas_Outcome_of_transactions[]

contient le bénéfice des transactions Qnt ?

Et à en juger par le code :

for (f = 0.01; f<=1.0; f=f+0.01)//цикл перебора переменной f для поиска оптимального ее значения,при котором TWR-максимально
     {  
          
          for ( orderIndex = 1;orderIndex<Qnt; orderIndex++) //при заданной f проходим по всем закрытым ордерам
            {                                                // и считаем относительный конечный капитал (TWR)
             TWR = TWR*(1+f*(-Mas_Outcome_of_transactions[orderIndex]/(D))); // TWR - это произведение всех HPR                
            }
          if (TWR>TWR_Rez) {
              TWR_Rez = TWR;
              G=MathPow (TWR_Rez, 0.001988); // 1/503 сделки по данной торговой системе, как в книжке: в степени 1/N 
              Print(" TWR = ",TWR_Rez," G = ",G, " при f = ", f);} // если текущий TWR > результирующего, 
              else break;    // то результирующий делаем равным текущему, иначе переходим на след итерацию цикла по f                                  
      }      

Vous cherchez le TWR comme le produit de (1+f*(-Deal)/(D))... Où est la plus grosse perte ?

 
Roman.:


Non - la perte la plus importante se trouve dans le rapport après les tests, y compris les tests avant.

Après cela, nous exécutons à nouveau le test sur la même période avec la valeur entrée de la variable D dans les variables externes et le compte f dans le de-item,

puis, connaissant f, comptez les volumes des lots et mettez-les sur le compte de démonstration.

Voici ma suggestion : recherchez le Highest_loss de manière programmatique. Pourquoi faire le test, extraire la valeur, l'insérer, laisser le programme la chercher.
 
MaxZ:

Je ne peux même pas le voir... Après tout, le tableau

contient le bénéfice des transactions Qnt ?

Et à en juger par le code :

Vous cherchez le TWR comme le produit de (1+f*(-Transaction)/(D))... Et où est la plus grosse perte ?


Le tableau contient à la fois les profits et les pertes sur les transactions effectuées. C'est-à-dire à la fois + et -. Il existe une boucle dans l'historique des transactions.

Tout y est correct.

La variable D est la valeur de l'opération à plus forte perte après le premier test.

 
Roman.:


Le tableau contient à la fois les bénéfices et les pertes sur les transactions effectuées. C'est-à-dire à la fois + et -.

C'est correct ici.

La variable D est la valeur de la plus grande transaction perdante après le premier test.

Merde... C'est comme ça que ça marche.
 
MaxZ:

Je ne peux même pas le voir... Après tout, le tableau

contient le bénéfice des transactions Qnt ?

Et à en juger par le code :

Vous cherchez le TWR comme le produit de (1+f*(-Transaction)/(D))... Et où se trouve la plus grosse perte ?


Remplir le tableau dans la boucle avec ceci

double lastProfit = OrderProfit() + OrderSwap(); 

Et ceci est à la fois positif et négatif... c'est-à-dire à la fois un bénéfice et une perte.

 
Roman.:


Le tableau contient à la fois les bénéfices et les pertes sur les transactions effectuées. C'est-à-dire à la fois + et -. Il parcourt également l'histoire des métiers.

C'est correct ici.

La variable D est la valeur de la plus grande transaction perdante après le premier test.


La variable D est la valeur de la plus grosse perte sur les N dernières transactions.
 

C'est ce que j'essaie de vous dire :

   for (orderIndex = 0; orderIndex<OrdersHistoryTotal(); orderIndex++)
   {
      ...

      double lastProfit = OrderProfit() + OrderSwap(); 
      if (orderIndex == 0 || lastProfit < D)
         D = lastProfit;
      Mas_Outcome_of_transactions[Qnt] = lastProfit; // Заполняем массив профитом/лоссом по всем закрытым позициям 

      ...
   }
Raison: