错误、漏洞、问题 - 页 2434

 

我怎样才能从手柄上知道文件名?

FileGetString丢失。

 
fxsaber:

我怎样才能从手柄上知道文件名?

FileGetString丢失。

我不认为你可以,通常句柄、描述符和其他描述符都是虚拟的整数表,它们被操作系统或程序环境与特定的物理事件/驱动程序/窗口绑定...

我最近开始用SB处理半成品,它相当方便,这里有一个现成的解决方案,适合你的情况https://www.mql5.com/ru/docs/standardlibrary/fileoperations/cfile

Документация по MQL5: Стандартная библиотека / Файлы / CFile
Документация по MQL5: Стандартная библиотека / Файлы / CFile
  • www.mql5.com
Стандартная библиотека / Файлы / CFile - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
fxsaber:

我怎样才能从手柄上知道文件名?

FileGetString丢失。

不可能
 
Igor Makanu:

我不认为你可以,通常句柄、描述符和其他描述符都是虚拟的整数表,它们被操作系统或程序环境与特定的物理事件/驱动程序/窗口绑定...

我使用SB的文件管理已经有一段时间了,它相当方便,这里有一个现成的解决方案,适合你的情况https://www.mql5.com/ru/docs/standardlibrary/fileoperations/cfile

很明显,你可以保存文件名。但看起来还是很奇怪,你不能做基本的事情。

斯拉瓦
不可能

如果你能做到,那就太好了。

 
fxsaber:

很明显,可以保存文件名。但你不能做基本的事情,这似乎还是很奇怪。

我认为你需要强迫自己使用现成的解决方案,至少我是在这条路上,在这里我在5分钟内就把OHLC写到了文件里

#property copyright "Copyright 2019, IgorM"
#property link      "https://www.mql5.com/ru/users/igorm"
#property version   "1.00"
#property strict
#property  show_inputs
input string FName="tst";
#include <Files\FileTxt.mqh>

CFileTxt *FOut;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   FOut=new CFileTxt();
   string sname=FName+"_"+_Symbol+"_"+EnumToString((ENUM_TIMEFRAMES)_Period)+".csv";
   FOut.Open(sname,FILE_WRITE|FILE_TXT);
   Print("Open file");
   Print("File name = ",FOut.FileName());
   int count=0;
   for(int i=Bars-1;i>=0;i--)
     {
      string s=TimeToStr(Time[i])+";"+DoubleToStr(Open[i],_Digits)+";"+DoubleToStr(High[i],_Digits)+";"+DoubleToStr(Low[i],_Digits)+";"+DoubleToStr(Close[i],_Digits)+"\n";
      FOut.WriteString(s);
      count++;
     }
   Print("Write ",count," bars");
   FOut.Flush();
   FOut.Close();
   delete FOut;
  }

当使用CFileTxt 类时,你不需要考虑从哪里获得文件属性--所有的东西都可以在程序执行过程中获得

 
Igor Makanu:

我认为你需要强迫自己使用现成的解决方案,至少我走在这条路上,下面是我如何在5分钟内对一个文件做了一个OHLC条目

你已经做到了。

关于交易、自动交易系统和策略测试的论坛

虫子,虫子,问题

fxsaber, 2019.04.17 14:00

很明显,你可以保存文件名。但看起来还是很奇怪,你不能做基本的事情。

 
fxsaber:

你已经做到了。

是的,我知道,但你只要试着理解这里的开发者的意识形态--他们在SB中有相当多的现成的解决方案。

 
fxsaber:

很明显,可以保存文件名。但你不能做基本的事情,这似乎还是很奇怪。

而且这将是好事。

为了什么?

 
Igor Makanu:

是的,我知道,但在这里你只需要试着理解开发者的意识形态--他们在SB中有相当多的现成的解决方案。

这当然是可以理解的。但这并不是我所谈论的。

 
Slava:

为什么?

我正在调试别人的代码,它正在将句柄从一些方法转移到其他函数。

我想取消一个特定的句柄,它现在被用在停止行中--该文件是什么?而要做到这一点真的很难。