초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 928

 
Juer :

공유 폴더는 무엇입니까? 나는 그것을 전혀 사용하지 않습니다. 저는 항상 휴대용 모드로 실행합니다. 설치 폴더에 모든 것이 있습니다.

상인을 위한 LifeHack 기사: 여러 테스트에 대한 비교 보고서 .

*** 다음은 간단한 스크립트의 예입니다.   Check_TerminalPaths.mq5:

 //+------------------------------------------------------------------+
//|                                          Check_TerminalPaths.mq5 |
//|                        Copyright 2009, MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2009, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   Print ( "TERMINAL_PATH = " , TerminalInfoString ( TERMINAL_PATH ));
   Print ( "TERMINAL_DATA_PATH = " , TerminalInfoString ( TERMINAL_DATA_PATH ));
   Print ( "TERMINAL_COMMONDATA_PATH = " , TerminalInfoString ( TERMINAL_COMMONDATA_PATH ));
  }
//+------------------------------------------------------------------+

이 스크립트는 세 가지 매개변수를 출력합니다.

  • TERMINAL_PATH - 터미널이 실행되는 폴더
  • TERMINAL_DATA_PATH - 터미널 데이터가 저장되는 폴더
  • TERMINAL_COMMONDATA_PATH — 컴퓨터에 설치된 모든 클라이언트 터미널의 공통 폴더

3개의 터미널에 대한 예(그 중 하나는 / Portable 키로 시작됨):

 // Терминал запускается в основном режиме
TERMINAL_PATH 			= C:\Program Files\MetaTrader 5
TERMINAL_DATA_PATH 			= C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075
TERMINAL_COMMONDATA_PATH 			= C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\Common

// Терминал запускается в основном режиме
TERMINAL_PATH 			= D:\MetaTrader 5 3
TERMINAL_DATA_PATH 			= C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\ 0 C46DDCEB43080B0EC647E0C66170465
TERMINAL_COMMONDATA_PATH 			= C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\Common

// Терминал запускается в режиме Portable
TERMINAL_PATH 			= D:\MetaTrader 5 5
TERMINAL_DATA_PATH 			= D:\MetaTrader 5 5
TERMINAL_COMMONDATA_PATH 			= C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\Common

***

 
Vladimir Karputov :

공유 폴더: FILE_COMMON . 검색, 독서. 우리는 생각한다.

동일한 파일을 사용하는 테스터에서 오류 5004가 발생하지만 실제 데이터에서 디버깅할 때 모든 것이 정상인 이유는 무엇입니까?

 
Juer :

동일한 파일을 사용하는 테스터에서 오류 5004가 발생하지만 실제 데이터에서 디버깅할 때 모든 것이 정상인 이유는 무엇입니까?

당신은 전체 그림을 제공하지 않습니다. 집게로 정보를 빼내야 합니다.

상황을 올바르게 설명하십시오. 실행할 수 있는 CODE를 제공하십시오.

 

FILE_COMMON을 사용하면 실제 데이터와 테스터 모두에서 오류 없이 통과합니다.

 

OrderCalcMargin을 사용 하지 않고 한 로트의 비용을 계산하는 방법을 알려주시겠습니까?

bool l=OrderCalcMargin(ORDER_TYPE_BUY,Symbol(),Lts,SymbolInfoDouble(Symbol(),SYMBOL_ASK),마진);

경보(l);

그런 다음 내 함수는 false를 반환합니다.

 
Fast528 :

예를 들어 표시기나 로봇에서 일반적으로 수행되는 것처럼 오늘에서 1일을 뺀 기간에 진입/출구 위치 를 표시하고 그 사이에 선을 그리려면 차트의 표시기 가 필요합니다.

나는 꿀이 원래 질문과 대사와 어떤 관련이 있는지 이해하지 못했습니다. 오늘 빼기 1일은 여러 가지 방법으로 지정할 수 있습니다. 또는 다른 질문?
 
Alexey Viktorov :
나는 꿀이 원래 질문과 대사와 어떤 관련이 있는지 이해하지 못했습니다. 오늘 빼기 1일은 여러 가지 방법으로 지정할 수 있습니다. 또는 다른 질문?

시간 변수가 무엇인지 물었습니까? "서버 날짜"에서 1-2일을 뺀 계산을 설정하는 방법을 찾고 있습니다.

물론 질문이 있었고 구조를 채우는 두 가지 옵션의 차이점은 무엇입니까?

 MqlDateTime dt;
TimeTradeServer (dt);

и

MqlDateTime tm;
TimeToStruct ( TimeTradeServer (),tm);
 
Fast528 :

시간 변수가 무엇인지 물었습니까? "서버 날짜"에서 1-2일을 뺀 계산을 설정하는 방법을 찾고 있습니다.

물론 질문이 있었고 구조를 채우는 두 가지 옵션의 차이점은 무엇입니까?

글쎄, 구조를 채우면 거의 차이가 없을 것입니다.

그리고 로컬 컴퓨터의 시간을 통해 서버의 시간을 정의하려면 어떻게 해야 할까요? TimeCurrent()에 대해 사랑하지 않고 춤을 추지 않는 것은 무엇입니까?

 

코드

 //+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   for ( int i= 0 ;i<= 21 ;i++)
     {
       Print ( "Timeframe: " + EnumToString (( ENUM_TIMEFRAMES )i));
     }
  }

이 결과를 제공합니다:

 2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_CURRENT
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M1
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M2
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M3
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M4
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M5
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M6
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 7
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 8
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 9
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M10
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 11
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M12
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 13
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 14
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M15
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 16
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 17
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 18
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 19
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M20
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 21
내가 무엇을 잘못하고 있지?
사유: