L'historique des tics est-il disponible sur le serveur ? - page 4

 
Je pense qu'il y a une base rationnelle dans la suggestion de Scholand, mais personnellement j'en ai besoin pour la recherche et je crains de ne pouvoir fournir rien de sérieux en une semaine, et j'ai un tel indicateur juste une semaine avant l'apparition de la branche, mais il y a un problème - il supprime le fichier avec des ticks après chaque initialisation, et ni lui ni moi n'avons réussi à terminer la tâche. Il forme des barres en fonction d'un volume fixe, car il arrive qu'un tick arrive et que le volume n'ait pas changé de 1.
//+------------------------------------------------------------------+
//|                                                    TickSaver.mq4 |
//|                               Copyright © 2006, Cherednikov K.M. |
//|                                            mailto:chkm76@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, Cherednikov K.M."
#property link      "mailto:chkm76@mail.ru"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Black

#include <WinUser32.mqh>
//---- input parameters
extern int NumTicksPerBar=3;
extern int Minutes_for_HSTfilename=3;

//---- buffers
double ExtMapBuffer1[];

//---- глобальные переменные
int hFile=-1;
int iFilePos;
int CurrTickNumber=0;
datetime i_time, i_time_bar0;
double d_open, d_low, d_high, d_close, d_volume;
double d_low_bar0, d_high_bar0, d_volume_bar0;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   int    nVersion=400;
   string szCopyright;
   string szSymbol=Symbol();
   int    iDigits=Digits;
   int    iUnused[13];

   //---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,ExtMapBuffer1);
   hFile=FileOpenHistory(szSymbol + Minutes_for_HSTfilename + ".hst", FILE_READ);
   if(FileSize(hFile)<0){
   // Дабы не затереть реальные файлы историй, в имя файла добавлен "0" перед периодом
   hFile=FileOpenHistory(szSymbol + Minutes_for_HSTfilename + ".hst", FILE_BIN|FILE_WRITE);
   if(hFile < 0) return(-1);
   //---- Записать заголовок hst-файла
   szCopyright="(C)opyright 2003, MetaQuotes Software Corp.";
   FileWriteInteger(hFile, nVersion, LONG_VALUE);
   FileWriteString(hFile, szCopyright, 64);
   FileWriteString(hFile, szSymbol, 12);
   FileWriteInteger(hFile, Minutes_for_HSTfilename, LONG_VALUE);  //  файл - М2
   FileWriteInteger(hFile, iDigits, LONG_VALUE);
   FileWriteInteger(hFile, 0, LONG_VALUE);
   FileWriteInteger(hFile, 0, LONG_VALUE);
   FileWriteArray(hFile, iUnused, 0, 13);
   FileFlush(hFile);
   iFilePos=FileTell(hFile);
    }
    
    else{ iFilePos=FileTell(hFile); }
   i_time = CurTime();
   i_time_bar0 = Time[0];
   d_open = Close[0];
   d_low = d_open;
   d_high = d_open;
   d_close = d_open;
   d_volume = 1;
   d_volume_bar0 = Volume[0];

   /*d_low_bar0 = Low[0];
   d_high_bar0 = High[0];*/
   
   //----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   if(hFile>=0)
    { 
      FileClose(hFile); 
      hFile=-1; 
    }
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   CurrTickNumber++;
   //********* Обновление данных в переменных текущего бара **************
   d_close = Close[0];
   if (d_low > d_close) d_low = d_close;
   if (d_high < d_close) d_high = d_close;

   // Объем
   if (i_time_bar0!=Time[0])  // если на реальном графике появился новый бар, а для 
                              //   нас еще не набралось тиков закончить тиковый бар...
    { //расчитать изменение объема с учетом пополнения предыдущего реального бара
      d_volume += Volume[1] + Volume[0] - d_volume_bar0;
      i_time_bar0 = Time[0];
    }
   else
    { //расчитать изменение объема только с учетом текущего реального бара
      d_volume += Volume[0] - d_volume_bar0;
    }
   d_volume_bar0 = Volume[0];

   // Обновление данных последнего бара
   FileSeek(hFile, iFilePos, SEEK_SET);
   FileWriteInteger(hFile, i_time, LONG_VALUE);
   FileWriteDouble(hFile, d_open, DOUBLE_VALUE);
   FileWriteDouble(hFile, d_low, DOUBLE_VALUE);
   FileWriteDouble(hFile, d_high, DOUBLE_VALUE);
   FileWriteDouble(hFile, d_close, DOUBLE_VALUE);
   FileWriteDouble(hFile, d_volume, DOUBLE_VALUE);

   if (CurrTickNumber==NumTicksPerBar)
   {
      iFilePos=FileTell(hFile);
      CurrTickNumber=0;
      i_time = CurTime();// / 60 / Minutes_for_HSTfilename;
      //i_time *= 60 * Minutes_for_HSTfilename;
      d_open = Close[0];
      d_low = d_open;
      d_high = d_open;
      d_close = d_open;
      d_volume = 1;
      FileWriteInteger(hFile, i_time, LONG_VALUE);
      FileWriteDouble(hFile, d_open, DOUBLE_VALUE);
      FileWriteDouble(hFile, d_low, DOUBLE_VALUE);
      FileWriteDouble(hFile, d_high, DOUBLE_VALUE);
      FileWriteDouble(hFile, d_close, DOUBLE_VALUE);
      FileWriteDouble(hFile, d_volume, DOUBLE_VALUE);
   }
   FileFlush(hFile);

   // Обновление окна автономно открытого файла
   int hwnd=WindowHandle(Symbol(), Minutes_for_HSTfilename);
   if (hwnd!=0) PostMessageA(hwnd, WM_COMMAND, 33324, 0);

   Comment("Отладочная Инфа: \n"+
           "Тиков в баре: " + CurrTickNumber +
           "\nOpen=" + d_open + "    Close=" + d_close +
           "\nHigh=" + d_high + "    Low=" + d_low +
           "\nVol=" + d_volume +
           "\nПозиция файла: " + iFilePos
   );

   return(0);
  }
//+------------------------------------------------------------------+


 
Personnellement, il me semble que les développeurs inventent artificiellement des problèmes techniques pour se justifier de leur manque de volonté (ou de leur impossibilité) d'améliorer MT en termes d'historique de tics. <br / translate="no">
Chaîne du fichier Tick (Time,Close,Volume) = (int,double,double) = (4,8,8,) = 20 octets.


Les citations peuvent être stockées dans des entiers en les multipliant par 10000 et 100 (pour le japonais) en conséquence.
Vous pouvez également enregistrer les points clés et le décalage par rapport à la dernière citation.
Tous ces problèmes sont d'ordre technique.
Le principal problème est d'ordre stratégique.
Les quotients ne veulent pas et, je pense, ne le feront pas. Ce n'est que si le terminal est pressé par les concurrents qu'il sera nécessaire d'avoir un terminal à tic-tac.
Il y a un autre problème. Les clients ne paient pas pour le terminal.
Il est payé par les DT qui achètent des serveurs, et les DT ne sont PAS INTERESSEES par le terminal tick, parce qu'il y aura des pipsers habiles qui travailleront sur les particularités des cotations DT.
 
Les sociétés de courtage ne sont pas intéressées par un terminal à tic-tac, car il y aura des pipistes qui travailleront sur les particularités des cotations des sociétés de courtage.

Il est peu probable que les sociétés de courtage pensent au terminal (tick ou time terminal). Ils ont d'autres intérêts. Tout ce qui est nécessaire pour les sociétés de courtage, je pense, est déjà donné par les développeurs (autorisation/interdiction de l'auto-trading, annulation des transactions à des prix hors marché et ainsi de suite). Les statistiques du championnat montrent que toute société de courtage peut organiser une bonne "cuisine" et que l'apparition d'un terminal de tick spécial ne changera rien de fondamental, du moins les sociétés de courtage ne s'opposeront guère à son introduction, s'il est développé. Eh bien, puisqu'il n'y a pas encore de preuve détaillée de la nécessité d'introduire des séries de tiques, la question restera là où elle est maintenant.
Il serait intéressant d'examiner les résultats des épreuves de ticks de la plateforme Omega, qui "fait tout - n'importe quel tick et n'importe quelle période".

Bien que la discussion sur les courtiers dépasse déjà le cadre du forum. Je suppose qu'ils vont tout nettoyer maintenant?:o)
 
Je pense qu'il y a une base rationnelle dans ce que solandr a suggéré, mais personnellement j'en ai besoin pour mes recherches et j'ai peur de ne pas pouvoir fournir quelque chose de sérieux en une semaine...

"MQL4 : Collecteur de tic
Le conseiller expert enregistre l'historique des ticks pour les symboles spécifiés.
 
Je suggère que nous passions du débat verbal sans fin et sans intérêt sur la question du morpion aux preuves détaillées. Pour ce faire, nous devons procéder comme suit. Si vous le souhaitez, vous pouvez écrire un script simple qui génère des séries de tics avec le nombre de tics sélectionné et écrit les données dans un fichier CSV. En outre, vous pouvez ouvrir ce fichier dans EXCEL et utiliser les outils standard d'EXCEL pour dessiner le diagramme de la série de tics. Si un tel graphique est disponible pour une semaine, par exemple pour un tick-frame spécifié, vous pouvez le comparer avec un graphique MT4 standard et montrer que le graphique tick-frame a donné des points d'entrée/sortie supplémentaires qui n'auraient pas pu être obtenus d'une manière ou d'une autre à partir des séries chronologiques standard, par exemple en utilisant les lignes de support/résistance de la tendance ou autre.

Cher Solandr!
Pourquoi êtes-vous si irrité par cette polémique ? Pourquoi persistez-vous à croire que vous savez tout sur l'avenir - à la fois ce qu'il faut faire et ce qu'il ne faut pas faire ?

Le programme de "construction de preuves" que vous proposez est faux dans son principe. Vous voulez faire du succès du commerce des tiques le seul argument crédible. Si vous raisonnez ainsi, alors aucun des t/f existants n'est nécessaire - personne n'a encore fait état d'un succès radical grâce à un t/f particulier.

Laissez-moi vous informer. J'ai écrit depuis longtemps un Expert Advisor, qui non seulement écrit l'historique des tics, mais l'affiche aussi en temps réel sur le graphique. Ainsi, tout ce qui peut être fait dans d'autres cadres peut être fait dans un graphique en tic-tac. Cela montre une fois de plus à quel point MT4+MCL4 est un outil puissant. Cela montre également qu'il n'est pas si difficile d'intégrer ce service.

De plus, j'ai passé beaucoup de temps à rechercher des données sur les tics. Il importe peu que je réussisse ou non sur le marché grâce à elle. Les gens réussissent ou non quelque chose grâce à leurs capacités et à leur travail. Mais pour qu'un résultat soit atteint, il faut d'abord qu'ils en aient la capacité. Cette condition n'est pas suffisante, mais nécessaire ! :-)

Pourquoi la question est de savoir s'il est possible de travailler avec des délais, et non avec des cases à cocher ? Cette situation est compréhensible en raison des capacités limitées (temps, main-d'œuvre, etc.) des développeurs. Mais il est totalement inacceptable en termes d'exhaustivité du service et de stratégie. Par conséquent, si elle convient plus ou moins au marché aujourd'hui, ce ne sera pas le cas demain.
 
2 Jhonny
Je pense qu'il y a une base rationnelle dans la suggestion de Scholand, mais personnellement j'en ai besoin pour la recherche et j'ai peur de ne pas pouvoir fournir quelque chose de sérieux en une semaine, mais j'ai un indicateur de pré-production de ce type


Exactement ! C'est exactement ce que je veux dire.

Au fait, cette chose devrait être implémentée comme une EA. L'indicateur saute des ticks !
Pour éviter de frotter le fichier, il doit être ouvert comme ceci : FILE_BIN|FILE_READ|FILE_WRITE
Et avant d'écrire dans le fichier, placez le pointeur d'écriture à la fin du fichier.
 
Yurixx, je ne faisais qu'exprimer mon point de vue ! C'est un forum libre et chacun a le droit d'exprimer son opinion, n'est-ce pas ? Ou devrions-nous toujours écouter l'opinion de la majorité ? Mais la majorité d'entre eux "fuient" - regardez le championnat !

Les gens ont demandé aux développeurs de faire une histoire à tic-tac, les développeurs ont refusé catégoriquement. Et ensuite ? Vous allez juste écrire ici une montagne de plaintes selon lesquelles les développeurs n'ont pas écouté les "souhaits des travailleurs" ? Pour ma part, j'ai simplement proposé une option rationnelle pour faire pression sur les développeurs, c'est tout ! Si tout le monde ne veut que des plaintes verbales interminables sans aucun progrès réel sur la question, alors, s'il vous plaît, je n'ai personnellement rien contre.
 
"MQL4 : Tick collector <br / translate="no">Le conseiller expert enregistre l'historique des ticks pour les symboles spécifiés.


Bien sûr, je veux remercier pour l'Expert Advisor, mais je viens de vérifier, il sauvegarde les données en csv, alors que le mien a été conçu pour les stocker dans l'historique et ensuite le graphique peut être ouvert et analysé hors ligne.
 
Bien sûr, merci pour le conseiller expert, mais je viens de vérifier, il enregistre en csv, alors que le mien a été conçu pour enregistrer dans l'historique et ce graphique peut être ouvert et analysé hors ligne.

"MQL4 : simple_csv2fxt".
Convertisseur simple de csv en fxt.


Il faut combiner mon Expert Advisor et ce script, et le rafistoler un peu - ce sera parfait ;)
 
Je pense qu'il est inutile de se demander si nous avons besoin de données à cocher, car la réponse est évidente : plus on offre de possibilités, plus le service est complet et de qualité, et il y aura toujours des gens qui auront besoin de l'un ou l'autre... La réponse à la question : cette fonctionnalité sera-t-elle mise en œuvre dans un avenir proche ? - Apparemment pas... Il y a à mon avis une raison importante... A savoir - sera mis en œuvre que ce qui apporte Metakvotes recettes à ce stade sous la forme de nouveaux contrats et c'est logique et correct ... Comme le revenu apporte des sociétés intermédiaires (courtiers, DC, etc.) alors sera mis en œuvre ce qui simplifie leur vie, mais pas ce qui va compliquer leur vie ...
Les données à tiques vont leur compliquer la vie pour les raisons suivantes :
1. Si les données tick sont disponibles, les Expert Advisors négociant sur le symbole tick sont sûrs d'apparaître, et il y aura donc d'énormes difficultés avec le chevauchement de ces experts.
2) si des données fiables sur les tiques sont disponibles, la possibilité de tester les experts en tiques dans le testeur deviendra disponible (ce qui augmentera également leur nombre)
3. Après l'accès aux données tick, le public exigera l'accès aux volumes réels : )))))).
4. la 4ème place est occupée par la mauvaise volonté ou l'affairisme des développeurs (s'il y avait une demande des sociétés de courtage, elles la créeraient en une quinzaine de jours :))
5. Et enfin, un argument de poids sur le trafic et l'espace disque démesurés...