라이브러리: 멀티 테스터 - 페이지 34

 

안녕하세요, 스테판 마조람 님

파일에서 문자열 배열로 설정을 읽는 이 초안 함수를 추가할 수 있습니다.

#define  ARRAY_APPEND(array, value)                  \
   ArrayResize(array, ArraySize(array) + 1, 128);   \
   array[ArraySize(array) - 1] = value;

//+------------------------------------------------------------------+
//||
//+------------------------------------------------------------------+
void LoadSettings(string filename, string &settings[]) {
   int f = FileOpen(filename, FILE_READ | FILE_TXT | FILE_ANSI);

   if(f) {
      string setting = "";
      string s;
      while(!FileIsEnding(f)) {
         s = FileReadString(f);
         StringTrimRight(s);
         StringTrimLeft(s);
         if(s == "[Tester]") {
            if(setting != "") {
               ARRAY_APPEND(settings, setting);
               setting = "";
            }

         }
         if(s != "" && StringSubstr(s, 0, 2) != "//") {
            setting += s + "\n";            
         }
      }

      if(setting != "") {
         ARRAY_APPEND(settings, setting);
      }
      FileClose(f);
   } else {
      PrintFormat("Error open file: %s", filename);
   }
}

#undef  ARRAY_APPEND

그리고 OnInit()에서 다음과 같이 사용하세요.

int OnInit() {
   string Settings[];

   LoadSettings("MySettings.ini", Settings);

   /* 확인 읽기용
 for(int i = 0; i < ArraySize(Settings); i++) {
 PrintFormat("------------ Settings[%d]: --------------", i);
 Print(Settings[i]);
 }
 */

   for (uint i = ArraySize(Settings); (bool)i--;)
    Run(Settings[i]);

   return INIT_SUCCEEDED;
}
 
Stefan Marjoram #:

20개의 세트 파일을 추가해야 합니다.

트레이딩, 자동매매 시스템 및 트레이딩 전략 테스트 포럼

메타트레이더 5 빌드 3550의 새 버전: 개선 및 수정 사항

fxsaber, 2023.05.23 00:58

유효성 검사는 많은 INI 주문을 순차적으로 실행할 수 있습니다.

  1. 필요한 ini 파일을 Files\YourName 폴더에 넣습니다.
  2. 터미널에서 Validate를 시작하고 폴더 이름( YourName)을 지정합니다.
ini-작업이 순차적으로 실행됩니다.

20개의 필수 ini-파일을 생성하고 위에서 설명한 대로 수행합니다.

 

버그

갑자기 알레르기 발작이 일어나고 있어요.

원인은 무엇일까요?

 
EgorKim #:

갑자기 찾아온 알레르기입니다.

원인은 무엇일까요?

시작 버튼을 손으로 눌렀나요?

 
fxsaber #:
시작 버튼은 손으로 조작할 수 있나요?

예.

이 코드만 사용합니다.

   if(MTTESTER::IsReady())
     {
      Sleep(200);
     }

   if(MTTESTER::ClickStart())
     {
      Sleep(200);
     }
 
EgorKim #:

이 코드만 사용합니다.

업데이트되었습니다.

 
MTTester가 업데이트되었습니다.
 
fxsaber #:
MTTester가 업데이트되었습니다.

다시.

 
MTTester.mqh 업데이트.
 
EgorKim #:

갑자기 찾아온 알레르기입니다.

테스트에 도움을 주셔서 감사합니다! MTTester.mqh 업데이트가 게시되었습니다.