Cotations du marché des produits dérivés dans MT5 - page 10

 

Salutations Chers Collègues, résumons l'utilisation de COPY_TICKS_ALL ou COPY_TICKS_TRADES ! !!

D'après ce que j'ai lu, pour un calcul plus correct du delta, il est préférable d'utiliser les ticks par transaction plutôt que tous les ticks. N'est-ce pas ?

Quelle est la différence entre l'un et l'autre ? Quel est l'effet sur le résultat ?

 
Mihail Marchukajtes #:

Salutations Chers Collègues, résumons l'utilisation de COPY_TICKS_ALL ou COPY_TICKS_TRADES ! !!

D'après ce que j'ai lu, pour un calcul plus correct du delta, il est préférable d'utiliser les ticks par transaction plutôt que tous les ticks. N'est-ce pas ?

Quelle est la différence entre l'un et l'autre ? Quel est l'effet sur le résultat ?

Quel delta voulez-vous dire ?

 
Mihail Marchukajtes #:

Salutations Chers Collègues, résumons l'utilisation de COPY_TICKS_ALL ou COPY_TICKS_TRADES ! !!

D'après ce que j'ai lu, pour un calcul plus correct du delta, il est préférable d'utiliser les ticks par transaction plutôt que tous les ticks. N'est-ce pas ?

Quelle est la différence entre l'un et l'autre ? Quel est l'effet sur le résultat ?

J'ai vu un lien vers les captures d'écran d'un membre du forum dans son profil.

Soit il a fait une erreur dans ses calculs, soit la formule de tarification est erronée.

Ne faites pas de publicité, regardez simplement les photos pour voir à quoi cela ressemble.

mais il me semble que le prix devrait toucher Last avec une précision extrême, c'est-à-dire sans delta, s'il est calculé correctement.

Les agents de change eux-mêmes disent que le prix est calculé toutes les secondes, au moins sur le MEX.

Je ne crois pas à l'utilité de calculs aussi énormes, j'ai voulu le vérifier une fois, ils m'ont roulé sur toute la coupe, qu'en est-il de Last...., j'étais déçu et j'ai fui l'échange
 
prostotrader #:

A quel delta faites-vous référence ?

Delta, la différence entre le nombre d'acheteurs et de vendeurs d'une barre particulière.

Voici un bout de code où la demande de ticks et le calcul du delta et du volume ont lieu.

   Linterest[0]=GlobalVariableGet("LLINTER");

   double delta=0;  
   double vola=0;
   int num= CopyTicksRange(Name_instrFS,tick_array,COPY_TICKS_TRADE,StartDate*1000,Start1Date*1000);
   //Print (num);
   if (num>0){
   long sumVolBuy=0;
   long sumVolSell=0;
       for (int q=0;q<num && !IsStopped();q++)
          { 
if(( tick_array[q].flags&TICK_FLAG_BUY)==TICK_FLAG_BUY && (tick_array[q].flags&TICK_FLAG_SELL)==TICK_FLAG_SELL) // Если тик обоих направлений
      Print(__FUNCTION__,": ОШИБКА! Тик '""' неизвестного направления!");
   else if(( tick_array[q].flags&TICK_FLAG_BUY)==TICK_FLAG_BUY) // Если тик на покупку
   sumVolBuy+=(long)tick_array[q].volume;
   else if(( tick_array[q].flags&TICK_FLAG_SELL)==TICK_FLAG_SELL) // Если тик на продажу
   sumVolSell+=(long)tick_array[q].volume;
           
       if(( tick_array[q].flags&TICK_FLAG_VOLUME)==TICK_FLAG_VOLUME)   vola+=tick_array[q].volume_real; 
          }
    delta=double(sumVolBuy-sumVolSell); 
    if (Ldelta!=delta) Ldelta=delta; else delta=0;
  }
    for (int i=0;i<5 && !IsStopped();i++)
    { 
      h=FileOpen("OpenI\\"+Name_instr+"_OI.csv",FILE_WRITE|FILE_READ|FILE_ANSI|FILE_CSV|FILE_COMMON|FILE_SHARE_READ,";");
       if(h!=INVALID_HANDLE)                                                         
       {  
         
         FileSeek(h,0,SEEK_END);
         FileWrite(h,RecDate,DoubleToString(Linterest[0],0),DoubleToString(delta,0),DoubleToString(vola,0)); 
         FileClose(h); 
         Sleep(100);
         FlagOFupdate[0]= true;
        break; 
       }
    } 

A l'origine, c'était COPY_TICKS_ALL dans CopyRang, mais je l'ai changé hier en COPY_TICKS_TRADE. Dans quelle mesure cela serait-il plus correct par rapport au problème exprimé précédemment ???

 
Mihail Marchukajtes #:

Delta, la différence entre le nombre d'acheteurs et de vendeurs d'une barre particulière.

Voici un bout de code où la demande de ticks et le calcul du delta et du volume ont lieu.

Initialement, c'était COPY_TICKS_ALL dans CopyRang, mais hier je l'ai changé en COPY_TICKS_TRADE. A quel point est-ce plus correct par rapport au problème que j'ai exprimé plus tôt ???

Dans votre situation, vous ne devez prendre que COPY_TICKS_TRADE car seules les transactions ont le paramètre de volume du contrat.

Afin d'utiliser les volumes des contrats ASK et BID, vous devez utiliser un verre.

for (int i=0;i<5 && !IsStopped();i++)
    { 
      h=FileOpen("OpenI\\"+Name_instr+"_OI.csv",FILE_WRITE|FILE_READ|FILE_ANSI|FILE_CSV|FILE_COMMON|FILE_SHARE_READ,";");
       if(h!=INVALID_HANDLE)                                                         
       {  
         
         FileSeek(h,0,SEEK_END);
         FileWrite(h,RecDate,DoubleToString(Linterest[0],0),DoubleToString(delta,0),DoubleToString(vola,0)); 
         FileClose(h); 
         Sleep(100);
         FlagOFupdate[0]= true;
        break; 
       }
    } 

C'est un code assez triste.

À chaque itération, vous ouvrez et fermez le fichier.

 
prostotrader #:

Dans votre situation, seule COPY_TICKS_TRADE doit être prise , car seules les transactions ont le paramètre de volume du contrat.

Afin d'utiliser les volumes contractuels ASK et BID, vous devez utiliser un verre.

C'est un code assez triste.

À chaque itération, vous ouvrez et fermez le fichier.

Si la première tentative est réussie, alors non, mais les données sont écrites au début de la minute pour la barre précédente est assez bonne pour enregistrer l'OI, le delta et le volume !!!
 
Mihail Marchukajtes #:
Si la première tentative est réussie, alors non, mais les données sont écrites au début de la minute pour la barre précédente est très bien pour enregistrer OI, delta et volume !

Pouvez-vous me montrer une capture d'écran ?

 
Renat Akhtyamov #:

Je peux voir une capture d'écran ?

Oui, s'il vous plaît....

Vous voyez, tout s'écrit bien, mais il n'est pas possible de savoir la différence entre enregistrer tous les ticks ou seulement le trading. Je ne veux pas me donner la peine. Après tout, pour NS, les décalages et les erreurs insignifiants ne sont pas si importants, l'essentiel étant qu'après l'entraînement, les données n'aient pas été modifiées, car lors de l'initialisation de l'EA avec NS, il doit calculer correctement l'historique jusqu'au moment actuel pour que le suivant commence le calcul à partir des paramètres actuels et corrects. Si l'initialisation n'a pas été effectuée correctement, la valeur actuelle du dernier signal connu sera différente et le nouveau signal commencera à être calculé à partir d'autres positions, ce qui entraînera des résultats imprévisibles. Par conséquent, la façon dont vous l'avez fait n'a pas d'importance, même avec des erreurs. L'essentiel est de ne pas le modifier après la formation !!!!.

 
Mihail Marchukajtes #:

Oui facilement....

Vous voyez, tout s'écrit bien, mais il n'est pas possible de savoir la différence entre enregistrer tous les ticks ou seulement le trading. Je ne veux pas me donner la peine. Après tout, pour NS, les décalages et les erreurs insignifiants ne sont pas si importants, l'essentiel étant qu'après l'entraînement, les données n'aient pas été modifiées, car pendant l'initialisation de l'EA avec NS, il doit calculer l'historique correctement jusqu'au moment actuel pour que le suivant puisse commencer le calcul à partir des paramètres actuels et corrects. Si l'initialisation n'a pas été effectuée correctement, la valeur actuelle du dernier signal connu sera différente et le nouveau signal commencera à être calculé à partir d'autres positions, ce qui entraînera des résultats imprévisibles. Par conséquent, la façon dont il est écrit, même avec des erreurs, n'a pas d'importance. L'essentiel est de ne pas le modifier après la formation !!!!.

Il existe une limite au nombre de lignes dans Excel. Si la machine lance, gardez-le à l'esprit. Meilleur sql. Quel est le résultat du calcul à partir de la capture d'écran, quel est le point pratique ?
 
Renat Akhtyamov #:
Il y a une limite au nombre de lignes dans Excel. Si la machine lance, gardez cela à l'esprit. Meilleur sql. Quel est le résultat du calcul à partir de la capture d'écran, quel est le point pratique ?

Un fichier CWS ordinaire est écrit.

Collection de l'historique OI, delta et volume respectivement. Les données que 100% ne seront pas modifiées dans l'historique, sans parler de l'absence d'historique OI en tant que tel. Le code pour calculer les paramètres enregistrés que j'ai donné ci-dessus ....

Raison: