이건 다 헛소리입니다. 브로커가 실제 호가 흐름과 다르게 상품 사양을 입력하면, 여러분의 라이브러리도 브로커처럼 노골적으로 거짓말을 하게 될 것입니다.
예시는 피나메에서 실행해 볼 수 있습니다.
정말 훌륭한 라이브러리네요, 감사합니다! 가장 큰 장점은 속도입니다. 최적화 작업에 딱 맞네요.
Forester 거래 세션 외의 각 틱마다 시간 계산이 이루어지고 이를 세션 배열과 비교했었습니다.
이제 세션이 변경될 때, 현재 세션의 종료 시간뿐만 아니라 다음 세션의 시작 시간도 함께 계산합니다. 그 결과, 역시 단 한 번의 확인만 필요하게 되었습니다:
이제 세션이 변경될 때, 현재 세션의 종료 시간뿐만 아니라 다음 세션의 시작 시간도 함께 계산합니다. 그 결과, 역시 단 한 번의 확인만 필요하게 되었습니다:
이는 어떤 구간 내 포함 여부를 계산하는 데 있어 가장 올바른 접근 방식입니다. 예를 들어, 거래가 12시부터 15시까지 이루어져야 한다면, 이와 유사한 NextTime 방식을 사용해야 합니다.
타사 코드 중에서는 오직 귀하께서만 이런 방식을 사용하고 계신 것을 확인했습니다.
SymbolInfoSessionTrade 오류 4307
자세히 읽어보지는 않았지만, 현재 구현 방식은 세션이 엄격히 하루 이내여야 한다고 가정하는 것 같습니다. 이는 시간대 차이가 큰 경우에는 맞지 않는데, 예를 들어 예를 들어, 유럽 세션이 아시아 브로커를 통해 거래되거나 그 반대의 경우처럼 말이죠. 즉, datetime에서 날짜를 제외하면 To 시간이 From 시간보다 작은 경우가 있습니다.
Stanislav Korotky #:
자세히 읽어보지는 않았지만, 현재 구현 방식은 세션이 반드시 하루 이내에 있어야 한다고 가정하는 것 같습니다. 이는 시간대 차이가 상당한 경우에는 맞지 않습니다. 즉, 예를 들어, 유럽 세션이 아시아 브로커를 통해 거래되거나 그 반대의 경우입니다. 즉, datetime에서 날짜를 제외하면 To 시간이 From 시간보다 앞서는 경우가 있습니다.
단순히 시간만 비교하는 방식입니다.자세히 읽어보지는 않았지만, 현재 구현 방식은 세션이 반드시 하루 이내에 있어야 한다고 가정하는 것 같습니다. 이는 시간대 차이가 상당한 경우에는 맞지 않습니다. 즉, 예를 들어, 유럽 세션이 아시아 브로커를 통해 거래되거나 그 반대의 경우입니다. 즉, datetime에서 날짜를 제외하면 To 시간이 From 시간보다 앞서는 경우가 있습니다.
if(!TradeSession.isSessionTrade(TimeCurrent())){Print("Market closed. OnTick return");return;}대신
TimeCurrent() 원하는 대로 설정할 수 있습니다.세션 시간은 브로커에서 가져오거나 수동으로 설정할 수 있습니다.
Control_Trade_Sessions:
트레이딩 세션 제어용 라이브러리. 시작 시에는 주 7일(토요일과 일요일에는 암호화폐 거래가 있을 수 있음) 동안의 거래 세션 시간을 계산하여 하루에 최대 10개의 세션을 계산합니다. 그런 다음 OnTick()에서 확인을 할 수 있으며, 거래 세션 외부에서 틱이 들어온 경우 추가 처리를 종료할 수 있습니다.
Author: Aleksei Kuznetsov