服务器上是否有打勾历史? - 页 4

 
我认为索兰建议的有合理的依据,但就我个人而言,我需要他们进行研究,恐怕我在一周内很难提供什么严肃的东西,我有这样一个指标,就在分支出现的一周前,我的一个朋友写道,但有一个问题--他在每次初始化后都会删除带刻度的文件,他和我都无法完成这项工作。它根据一个固定的体积形成条形,因为有时一个刻度线来了,而体积没有变化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);
  }
//+------------------------------------------------------------------+


 
在我看来,开发者人为地编造技术问题,以证明自己不愿意(或不可能)在嘀嗒历史方面改进MT的理由。<br / translate="no">
Tick文件字符串(Time,Close,Volume)=(int,double,double)=(4,8,8,)=20字节。


报价可以通过相应地乘以10000和100(日语)来存储为整数。
你也可以存储关键点和相对于最后一次报价的偏移量。
所有这些问题都是技术问题。
主要问题是战略问题。
报价单不希望,而且,我认为,不会这样做。只有在终端被竞争对手挤压的情况下,才会有勾兑终端的先决条件。
还有一个问题。客户不需要为终端付款。
它是由购买服务器的DT支付的,而DT对tick终端不感兴趣,因为会有专家的pipsers在DT报价的特殊性上工作。
 
经纪公司对tick终端不感兴趣,因为会有pipsmiths对经纪公司报价的特殊性进行工作。

经纪公司不太可能考虑到终端(滴答或时间终端)。他们有其他的兴趣。我认为,对经纪公司来说,所有必要的东西都已经由开发商给出(允许/禁止自动交易,取消非市场价格的交易等等)。冠军的统计数据表明,任何一家经纪公司都可以安排好 "厨房",一些特殊的打勾终端的出现不会改变什么根本,至少经纪公司几乎不会反对它的引入,如果它被开发出来。好吧,既然还没有详细的证据证明需要引入蜱系列,那么这个问题将是现在的情况。
看一下欧米茄平台的滴答证明的结果会很有趣,它 "做任何事情--任何滴答和时间框架"。

虽然对经纪人的讨论已经超出了论坛的范围。我猜他们现在会把这一切都清理掉。)
 
我认为solandr 建议有合理的依据,但就我个人而言,我需要它们进行研究,我担心我在一周内无法提供任何严肃的东西...

"MQL4: 滴答收集器
专家顾问保存了指定符号的滴答历史记录
 
我建议我们从无休止的、无意义的关于井字形问题的口头辩论转向详细的证据。要做到这一点,我们需要做以下工作。如果你愿意,你可以写一个简单的脚本,用选定的刻度数量生成刻度序列,并将数据写入CSV文件。此外,你可以在EXCEL中打开这个文件,并使用标准的EXCEL工具来绘制tick-series图表。如果这样的图表是一周内可用的,例如指定的勾股图,你可以将其与标准的MT4图表进行比较,并表明勾股图给出了一些额外的进入/退出点,而这些点是无法从标准时间序列中以某种方式得到的,例如使用趋势支撑/阻力线或其他东西。

亲爱的solandr!
你为什么对这种论战如此恼火?为什么你坚持认为你知道关于未来的一切--包括什么该做和什么不该做?

你提出的 "建立证明 "方案在原则上是错误的。你想把蜱虫交易的成功作为唯一可信的论据。如果你这样推理,那么根本就不需要现有的T/F--还没有人报告说由于某个特定的T/F而取得了彻底的成功。

让我告诉你。以period_converter为基础,我在很久以前写了一个专家顾问,它不仅可以写出tick历史,还可以在图表上实时显示。因此,在其他框架中可以做到的一切,都可以在滴答图中做到。这再次表明MT4+MCL4是一个多么强大的工具。 这也表明,使这种服务内置并不那么困难。

此外,我已经花了很多时间来研究蜱虫数据。我是否因此而在市场上获得成功,这绝对不重要。人们取得成就与否是因为他们的能力和努力工作。但为了实现一个结果,他们必须首先拥有能力。这个条件不是充分的,而是必要的 !:-)

为什么问题是有机会用时间框架来工作,而不是用嘀嗒框架?由于开发者的能力(时间、人力等)有限,这种情况是可以理解的。但从服务的完整性和策略上看,这是完全不可接受的。因此,如果今天或多或少适合市场,明天就不适合了。
 
2Jhonny
我认为Scholand的建议有其合理性,但就我个人而言,我需要他们进行研究,我恐怕在一个星期内无法提供任何严肃的东西,但我有一个那种预生产的指标


正是如此!这正是我的观点。

顺便说一下,这个东西应该作为EA来实施。该指标跳过了刻度线!
为了避免擦伤文件,它必须像这样打开:FILE_BIN|FILE_READ|FILE_WRITE
在你写进文件之前,把写指针设置到文件的末端。
 
Yurixx,我只是在表达我的观点!这是一个自由的论坛,每个人都有权利表达自己的意见,不是吗?还是说我们应该总是听从大多数人的意见?但大多数人都 "泄密 "了--看看冠军赛吧!

人们要求开发商做一个滴答的历史,开发商断然拒绝。那么接下来呢?你就会在这里写下堆积如山的抱怨,说开发商没有听从 "劳动人民的意愿"?就我而言,我只是提出了一个对开发商施加压力的合理选择--仅此而已。如果每个人都只是想无休止的口头抱怨,而在这个问题上没有任何真正的进展,那么,请不要这样,我个人并不反对。
 
"MQL4: Tick collector <br / translate="no"> 专家顾问为指定的符号保存tick历史。


当然,我想感谢专家顾问,但我刚刚查了一下,它把数据保存在csv中,而我的设计是把数据保存在历史中,然后可以打开图表,进行离线分析。
 
当然,感谢专家顾问,但我刚刚查了一下,它是以csv格式保存的,而我的设计是以历史记录保存的,这个图表可以打开,可以离线分析。

"MQL4: simple_csv2fxt"。
简单的csv到fxt转换器。


有必要将我的专家顾问和这个脚本结合起来,并对其进行一些修补--这将是完美的;)
 
我认为问我们是否需要勾选数据是没有用的,因为答案很明显--提供的可能性越多,服务就越完整,质量就越高,总会有人需要其中一种。这个问题的答案是,这个功能会在不久的将来实现吗?- 显然不是...在我看来,有一个重要的原因......也就是说 - 将实施只有什么带来Metakvotes收入在这个阶段的新合同的形式,这是合乎逻辑和正确的...由于收入带来的中介公司(经纪人,DC等),然后将实施简化他们的生活,但不是什么将他们的生活复杂化......
蜱虫数据将使他们的生活复杂化,原因如下。
1.如果有tick数据,以tick符号交易的专家顾问肯定会出现,因此,这种专家的重叠会有巨大的困难。
2)如果有了可靠的蜱虫数据,在测试器中测试蜱虫专家的可能性就会出现(这也会增加他们的数量)。
3.在获得tick数据后,公众将要求获得真实的数量 :))))))
4.第四名是由于开发商不愿意或忙于工作(如果有经纪公司的需求,他们会在两星期内创造它:)。
5.最后,关于疯狂的流量和磁盘空间的 "王牌 "说法...