거래 로봇을 무료로 다운로드 하는 법을 시청해보세요
당사를 Twitter에서 찾아주십시오!
당사 팬 페이지에 가입하십시오
스크립트가 흥미로우신가요?
그렇다면 링크 to it -
하셔서 다른 이들이 평가할 수 있도록 해보세요
스크립트가 마음에 드시나요? MetaTrader 5 터미널에서 시도해보십시오
조회수:
33
평가:
(8)
게시됨:
업데이트됨:
\MQL5\Include\Forester\
MQL5 프리랜스 이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동

트레이딩 세션 제어를 위한 라이브러리. 시작 시 주 7일(토요일과 일요일에 암호화폐 거래가 있을 수 있음) 동안의 거래 세션 시간을 계산하여 하루에 최대 10개의 세션을 계산합니다. 그런 다음 OnTick()에서 확인을 할 수 있으며, 틱이 거래 세션 외부에서 나온 경우 추가 처리를 종료할 수 있습니다.

사용 예시:

//+------------------------------------------------------------------+
//|testControl_Trade_Sessions.mq5 |
//+------------------------------------------------------------------+
// #define LoadSessionFromInputs // 입력에서 세션 읽기
#include <Forester\Control_Trade_Sessions.mqh> // 거래 세션 제어 코드 연결하기

int OnInit()  {   return(INIT_SUCCEEDED);  }

void OnTick() {
  static TRADE_SESSIONS TradeSession(_Symbol);// 시장 개장/종가 시간을 가져와 요일별로 배열에 저장합니다. Expert Advisor를 시작할 때 한 번 호출됩니다(정적 참조).
  if(!TradeSession.isSessionTrade(TimeCurrent())){Print("Market closed. OnTick return"); return;}
  
  // 귀하의 행동
  }

결과는 다음과 같이 출력됩니다:

2022.01.10 00:05:00   Day: 0 Trade sessions: 1: 00:00-00:00 - это воскресенье
2022.01.10 00:05:00   Day: 1 Trade sessions: 1: 00:15-23:55
2022.01.10 00:05:00   Day: 2 Trade sessions: 1: 00:15-23:55
2022.01.10 00:05:00   Day: 3 Trade sessions: 1: 00:15-23:55
2022.01.10 00:05:00   Day: 4 Trade sessions: 1: 00:15-23:55
2022.01.10 00:05:00   Day: 5 Trade sessions: 1: 00:15-23:55
2022.01.10 00:05:00   Day: 6 Trade sessions: 1: 00:00-00:00
2022.05.30 00:05:00   Market closed. OnTick return
2022.05.30 00:05:01   Market closed. OnTick return
...
2022.05.30 00:14:36   Market closed. OnTick return
2022.05.30 00:14:40   Market closed. OnTick return
2022.05.30 23:55:00   Market closed. OnTick return
2022.05.30 23:55:00   Market closed. OnTick return
...
2022.05.30 23:59:30   Market closed. OnTick return
2022.05.31 00:00:01   Market closed. OnTick return
...

프로젝트 중 하나에서 작업하는 동안 코드를 만들었으므로 다른 프로젝트에 연결하기 위해 라이브러리로 분리하기로 결정했습니다.
새로운 MQL5 함수는 주말을 포함한 모든 날의 거래 세션을 읽는 데 사용됩니다.
가능한 한 빨리 작동하며 거래 세션 내의 각 틱에 대해 1 개의 확인 만 수행됩니다 :
.
if(time < this.NextTradeStop ) { return true; }
여기서 NextTradeStop은 현재 트레이딩 세션의 종료 시간입니다.

거래 세션 외부의 각 틱에서도 1회의 확인이 이루어집니다:
if(time < this.NextTradeStart ) { return false; }
세션 간 전환 시에만 다음 세션의 시간을 얻기 위해 배열에 액세스합니다.

예를 들어 내 DC에서 거래 세션은 00:15부터 23:55까지입니다. 00:15 이후 첫 번째 틱으로 NextTradeStop이 23:55로 설정되고 하루 종일 이 조건만 확인됩니다.

내 거래 세션

거래 세션 시간을 수동으로 지정할 수도 있습니다. 이 옵션을 활성화하려면
줄을 추가하세요.
#define  LoadSessionFromInputs // 입력에서 세션 읽기

요일별로 트레이딩 세션을 입력하기 위한 7개의 입력이 생성됩니다.

세션 시간은 반드시 공백 없이 : - 및 를 사용하여 입력합니다,

매개변수 탭에서 다음과 같이 표시됩니다:



그리고 이것이 로그에 출력되는 방식입니다:
TradeSessionsMonday=00:15-17:45,17:55-23:55
TradeSessionsTuesday=00:15-23:55
TradeSessionsWednesday=00:10-17:45,17:55-23:00,23:05-23:55
TradeSessionsThursday=00:15-17:45,17:55-23:55
TradeSessionsFriday=00:15-23:55
TradeSessionsSaturday=00:15-23:55
TradeSessionsSunday=
EURUSD : 실제 틱은 2022년부터 시작됩니다.05.10 00:00:00, 모든 틱 세대 사용
2022.01.10 00:05:00 일: 1 거래 세션: 1: 00:15-17:45, 2: 17:55-23:55
2022.01.10 00:05:00 일: 2 거래 세션: 1: 00:15-23:55
2022.01.10 00:05:00 일: 3 거래 세션: 1: 00:10-17:45, 2: 17:55-23:00, 3: 23:05-23:55
2022.01.10 00:05:00 일: 4 거래 세션: 1: 00:15-17:45, 2: 17:55-23:55
2022.01.10 00:05:00 일: 5 거래 세션: 1: 00:15-23:55
2022.01.10 00:05:00 일: 6 거래 세션: 1: 00:15-23:55
2022.01.10 00:05:00 시장 마감. OnTick 반환
...

세션 종료 시간이 시작 시간보다 짧은 경우(예: 20:00-8:00) 세션은 다음날 8:00까지 계속됩니다. 이는 거래 세션이 서버 시간과 다른 시간대에 있는 경우에 유용할 수 있습니다.

거래 세션 시간은 입력 없이 코드에서 지정할 수도 있습니다. 이를 위해 LoadFromInputs() 함수가 만들어졌습니다. 이 함수는 입력 없이도 예시처럼 문자열 배열을 사용하여 코드에서 직접 호출할 수 있습니다.

string s=["00:15-17:45,17:55-23:55","00:00-24:00",....] 
void LoadFromInputs(string &s[]){...}


전문가용 어드바이저가 다중 통화이고 상품마다 거래 세션 시간이 다른 경우 각 상품에 대해 별도의 TRADE_SESSIONS 인스턴스를 만들고 세션 데이터로 LoadFromInputs()를 호출하고 isSessionTrade()를 확인할 수 있습니다. 이렇게 하려면 이 예제와 유사하게 코드를 수정해야 합니다.

MetaQuotes Ltd에서 러시아어로 번역함.
원본 코드: https://www.mql5.com/ru/code/48059

탠덤 탠덤

페어 트레이딩. 헤징. 시장 중립 전략

SetSellStopLimitOrder SetSellStopLimitOrder

이 스크립트는 현재 가격과 주문 발동 가격에서 고정된 값의 발동 레벨, 손절매 레벨, 이익실현 레벨을 핍 단위로 설정하여 SellStopLimit 주문을 설정하도록 설계되었습니다.

Moving Averages-14 different types Moving Averages-14 different types

종가를 기준으로 14가지 유형의 이동 평균을 계산하는 지표입니다.

EMDcotir(경험적 모드 분해) EMDcotir(경험적 모드 분해)

현재 기기의 경험적 모드 분해.