오류, 버그, 질문 - 페이지 2434

 

핸들로 파일 이름을 어떻게 알 수 있습니까?

FileGetString이 없습니다.

 
fxsaber :

핸들로 파일 이름을 어떻게 알 수 있습니까?

FileGetString이 없습니다.

나는 그렇게 생각하지 않습니다. 일반적으로 핸들, 설명자 및 기타 설명자는 OS 또는 프로그램 환경에 의해 특정 물리적 이벤트/드라이버/창에 연결된 정수의 가상 테이블입니다...

얼마 전 SB의 도움으로 파일 작업을 사용하기 시작했습니다. 매우 편리하며 여기에 귀하의 경우에 대한 기성품 솔루션이 있습니다. https://www.mql5.com/en/docs/standardlibrary/fileoperations/cfile

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

핸들로 파일 이름을 어떻게 알 수 있습니까?

FileGetString이 없습니다.

안 돼요
 
Igor Makanu :

나는 그렇게 생각하지 않습니다. 일반적으로 핸들, 설명자 및 기타 설명자는 OS 또는 프로그램 환경에 의해 특정 물리적 이벤트/드라이버/창에 연결된 정수의 가상 테이블입니다...

얼마 전 SB의 도움으로 파일 작업을 사용하기 시작했습니다. 매우 편리하며 여기에 귀하의 경우에 대한 기성품 솔루션이 있습니다. https://www.mql5.com/en/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 :

훌륭해

네, 압니다. 하지만 여기서 개발자의 이념을 이해하려고 노력해야 합니다. 그들은 안보리에서 기성품 솔루션을 많이 준비했습니다.

 
fxsaber :

파일 이름을 저장할 수 있음이 분명합니다. 그러나 여전히 초등을 할 수 없다는 것이 이상하게 보입니다.

그리고 그것은 좋을 것입니다.

무엇 때문에?

 
Igor Makanu :

네, 압니다. 하지만 여기서 개발자의 이념을 이해하려고 노력해야 합니다. 그들은 안보리에서 기성품 솔루션을 많이 준비했습니다.

물론 이것은 이해할 수 있습니다. 그러나 그것은 다른 것에 관한 것이었습니다.

 
Slava :

무엇 때문에?

핸들이 한 메서드에서 다른 함수로 전달되는 다른 사람의 코드를 디버깅 중입니다.

현재 정지선에서 사용되는 특정 핸들을 출력하고 싶습니다 - 어떤 종류의 파일인가요? 그리고 이것을 하는 것은 매우 어렵습니다.