예상 독서 시간 : 7 분

PrescienTrader에는 AmiBroker의 강력한 분석 및 백 테스팅 기능과 통합되는 멀티 타임 프레임 기능이 포함되어 있습니다. 또한 분석 기능을 사용하는 방법을 보여주는 AFL 스크립트도 포함되어 있습니다. 분석 기능에는 PrescientAPI Professional 구독이 필요합니다.

다음 비디오는 탐색을 설정하고 실행하는 방법을 보여줍니다. 비디오를보고이 기사로 돌아가 튜토리얼을 계속하십시오.

썸네일

탐구

포함 된 PrescienTrader Backtesting 스크립트를 사용하여 탐색을 실행하면 AmiBroker가 지정된 계측기 목록과 지정된 날짜 범위를 검색합니다. 기기와 날짜의 각 조합에 대한 행을 생성합니다. 위의 예에서는 2018 년 10 월 1 일부터 12 월 31 일까지의 날짜 범위에 대한 단일 계측기 (CHF / JPY)를 분석하고 있습니다.

스크립트는 다음 탐색 열을 출력합니다.

  • 시세 표시기
  • 날짜 시간
  • 공개, 높음, 낮음, 닫기, 볼륨, 공개 관심 분야
  • 저장되었습니다 – 저장된 매개 변수 설정을 사용하는 모든 행에 대해이 열이 노란색으로 강조 표시됩니다. PrescienTrader에 파라미터를 저장하면 선택한 기기 및 시간 프레임에 대해서만 파라미터가 저장됩니다. 이를 통해 각 기기 및 각 시간 프레임에 대해 사용자 정의 파라미터 설정을 사용할 수 있습니다. 탐색을 실행하면 PrescienTrader가 모든 사용자 지정 매개 변수 설정을 자동으로 적용합니다. 저장된 열의 노란색 강조 표시는 행이 매개 변수 창에 입력 한 설정이 아니라 저장된 설정을 사용하고 있음을 알려줍니다.
  • PL 슬로프 – 이것은 Prescient Line 트렌드의 기울기를 나타냅니다. 양의 기울기는 상승 추세를 예측하고 음의 기울기는 하락 추세를 예측합니다.
  • FLD 점수 – PL 기준 설정에 따라 유효한 모든 사이클에 대한 FLD의 합에 각 사이클의 강도 또는 진폭을 곱한 값. 양수 값은 시장이 주기적으로 상승 추세에 있음을 나타냅니다. 음수 값은 시장이 주기적으로 하락 추세에 있음을 나타냅니다.
  • 트렌드 바 – 현재 예측 된 경향 내 상대 막대 번호. 트렌드의 첫 번째 막대는 막대 0입니다.
  • 트렌드 바 – 현재 예측 된 경향의 총 막대 수.
  • 트렌드 Pct – 현재 예측 된 경향의 완료 백분율. 예를 들어 추세 막대 = 5이고 추세 막대 = 10이면 추세 백분율은 50%입니다. Trend Pct는 100%에 도달하지 않습니다. 이는 새로운 트렌드가 시작되었음을 의미하기 때문입니다. 기존 트렌드와 새로운 트렌드가 겹치는 시점에서 Trend Pct는 0%가됩니다. 숫자 표시 외에이 열에는 추세가 진행됨에 따라 녹색에서 빨간색으로 이동하는 막대 그래프도 표시됩니다.
  • 동작 – 이것은 현재 행에 대한 신호 Buy / Sell / Short / Cover입니다. 포함 된 스크립트에서 생성 된 신호는 단순히 Trend Slope를 기반으로합니다. Trend Slope가 양수이면 Buy 신호를 표시하고 Trend Slope가 음수이면 Short 신호를 표시합니다. 이것은 매우 간단합니다 PrescienTrader 지표를 사용하여 거래 시스템 구축을 시작할 수있는 방법에 대해 설명합니다. 돈을 잃을 가능성이 높으므로 실시간 거래에이 예제 신호를 사용하지 마십시오! 아이디어는 지표 및 기타 지표를 사용하여 자체 거래 시스템을 개발 한 다음 시스템을 광범위하게 백 테스트하는 것입니다. 유효한 백 테스트 된 시스템이 있으면 해당 시스템을 동작 열에 연결하여 거래 신호를 표시 할 수 있습니다.

백 테스팅

백 테스트 또는 최적화를 실행하려면 먼저 PrescienTrader Backtesting AFL 스크립트를로드하십시오. 우리는 당신을 제안합니다 대본을 만들다원본 스크립트를 수정하는 대신 분석 함수는 탐색 열에 대한 출력을 생성하고 결과가 포함 된 AFL 배열 및 행렬을 생성합니다. 백 테스트 또는 최적화를 실행할 때 생성 된 AFL 배열 및 행렬을 사용합니다. 여기에는 다음이 포함됩니다.

  • ptStaticPL
  • ptStaticPLSlope
  • ptStaticFLDScore
  • ptStaticTrendBar
  • ptStaticTrendBars
  • ptStaticTrendPct
  • ptStaticFrequencies (매트릭스)
  • ptStaticSlopes (매트릭스)
  • ptStaticFLDPrices (매트릭스)

여러 시간대에 대한 분석을 실행하는 경우 함수는 각 시간대에 대해 별도의 배열 및 행렬 세트를 생성합니다. 각 이름에 HTPx 접미사가있는 경우를 제외하고 이름은 위와 동일합니다. 여기서 x는 더 높은 기간 인덱스를 나타냅니다. 예를 들어, 첫 번째 더 높은 기간의 배열 및 행렬은 ptStaticPLHTP1, ptStaticPLSlopeHTP1 등으로 이름이 지정됩니다. 두 번째 더 높은 기간의 배열 및 행렬은 ptStaticPLHTP2, ptStaticPLSlopeHTP2 등으로 이름이 지정됩니다.

AmiBroker 백 테스터는 매우 강력합니다. 진정한 포트폴리오 백 테스팅, 워크 포워드 테스트, Monte Carlo 시뮬레이션, 다중 타임 프레임 테스트, pyramiding 및 스케일링, 다중 통화 등을 지원합니다. 이 모든 기능과 성능은 예비 테스트 및 PrescienTrader의 출력을 위해 제공됩니다. AmiBroker에서의 백 테스팅에 대한 자세한 내용은이 기사의 범위를 벗어납니다. 이를 위해서는 AmiBroker 설명서를 읽는 것이 가장 좋습니다.

매개 변수 및 매개 변수

분석을 실행할 때 PrescienTrader는 매개 변수 창에서 지정한 매개 변수 값을 사용합니다. 그러나 이전에 현재 시장 및 기간에 대한 계측기 설정을 저장 한 경우 저장된 설정은 매개 변수 창에 표시된 설정보다 우선합니다.. 이를 통해 포트폴리오의 각 기기에 대해 서로 다른 매개 변수 값을 사용하여 포트폴리오 분석을 수행 할 수 있습니다. 매개 변수 창을 볼 때 마지막으로 입력 한 설정이 표시되며 반드시 저장된 설정이 아닐 수도 있습니다. 클릭 모두 초기화 버튼을 눌러 저장된 기기 설정을 표시합니다.

또한 기본 설정을 저장할 수 있습니다. 저장된 기기 설정과 달리 저장된 기본 설정은 아니 표시된 설정을 무시합니다. 이를 통해 AmiBroker가 입력 한 마지막 설정을 자동으로 기억한다는 사실을 활용할 수 있으므로 특정 설정을 여러 번 테스트하는 경우 매번 다시 입력 할 필요가 없습니다. 그러나을 클릭하면 언제든지 저장된 기본 설정으로 돌아갈 수 있습니다 모두 초기화 단추. 명심하십시오 저장된 계측기 설정이 저장된 기본 설정보다 우선합니다.클릭하면 모두 초기화 기본 설정이 표시되지 않습니다. 즉, 현재 표시된 계측기 및 시간 프레임에 대한 계측기 설정을 저장했습니다.

마지막으로 각 매개 변수에 해당하는 AFL 변수를 설정하여 대부분의 매개 변수를 대체 할 수 있습니다. 사용 가능한 변수는 다음과 같습니다.

  • ptPolarity (0 = 양수, 1 = 음수)
  • ptPLBasis (0 = 진폭, 1 = 강도)
  • ptLookbackRange
  • ptMinFrequency
  • ptMaxFrequency
  • ptHarmonicFilter
  • ptMinConfidence
  • ptBestXCycles

각 변수에는 다중 시간대 분석을위한 기간 변동이 더 큽니다. 더 높은 기간 변수를 설정하려면 변수 이름에 HTP1, HTP2, HTP3 등을 추가하십시오. 예를 들면 다음과 같습니다.

  • ptMinFrequencyHTP1
  • ptMaxFrequencyHTP2
  • ptLookbackRangeHTP3
  • ptHarmonicFilterHTP2
  • ptMinConfidenceHTP1
  • ptPLBasisHTP4

변수는 항상 매개 변수 창 설정과 저장된 설정보다 우선합니다. AFL에서 매개 변수를 설정하면 해당 매개 변수가 매개 변수 창에서 사라집니다. 호출하기 전에 모든 매개 변수를 설정해야합니다. PrescientAnalysis 또는 PrescientAnalysis 준비 기능.

단일 스레드 대 다중 스레드 분석

PrescienTrader는 단일 스레드 및 다중 스레드 분석을 모두 지원합니다. 단일 스레드 기능에는 한 줄의 코드 만 필요하므로 빠른 탐색 또는 간단한 백 테스트를 실행하는 데 좋습니다. 단점은 분석이 단일 스레드에서 실행되므로 한 번에 한 행만 분석 할 수 있다는 것입니다. 그러나 분석이 단지 수백 개의 행으로 구성된 경우 시차는 무시할 수 있습니다. 이 시나리오에서는 멀티 스레드 분석을위한 추가 코드를 작성하여 실행하는 시간보다 시간이 오래 걸립니다.

PrescienTrader Backtester 스크립트 – 단일 스레드 섹션

예제 분석 스크립트는 PrescienTrader 백 테스터. 이 스크립트를 보면 단일 스레드 섹션과 다중 스레드 섹션이 포함되어 있으며 매개 변수 설정을 사용하여 전환 할 수 있습니다. 단일 스레드 분석 섹션에는 한 줄의 코드가 포함됩니다.

PTBacktest ();

그만큼 PT 백 테스트 매개 변수 창에서 모든 매개 변수를 구성하므로이 함수는 매개 변수를 사용하지 않습니다. 실행되면 API 요청을 작성하고, PrescientAPI에 요청을 제출하고, 응답을 구문 분석하고, 결과를 탐색 열에 출력하고 위에서 설명한 AFL 배열을 생성합니다.

다중 시간대 분석을 수행하려면 PrescientAnalysis 함수를 여러 번 호출하면됩니다. 예를 들어 기본 기간과 두 개의 더 높은 기간을 분석하려는 경우 다음 코드를 사용합니다.

PTBacktest (); PTBacktest (); PTBacktest ();

함수의 각 인스턴스는 매개 변수 창에서 다른 시간대를 작성하므로 위의 예에서 매개 변수 창에는 기본 기간 인 HTP1 및 HTP2에 대한 설정이 포함됩니다. 멀티 스레딩을 멀티 타임 프레임과 혼동하지 마십시오. 이것들은 완전히 다른 개념입니다. 멀티 스레딩은 계측기 포트폴리오 분석과 같이 한 번에 둘 이상의 분석을 실행하는 것을 말합니다. 다중 시간대는 두 개 이상의 시간대에서 각 기기를 분석하는 것을 말합니다. 예를 들어, S & P 500 일일, 주별 및 월간 시간대를 분석 할 수 있습니다. 이 예에서는 3 개 시간대를 동시에 분석하기 때문에 다중 스레드 모드에서 실행하면 이점이 있습니다. 그러나 단일 스레드 모드에서 다중 시간대 분석을 실행할 수 있으며,이 경우 시간대를 순차적으로 분석합니다.

PrescienTrader 분석 스크립트 – 다중 스레드 섹션

멀티 스레드 섹션은 단일 스레드 스크립트보다 복잡하며 몇 줄의 코드가 필요합니다.

postVars = PTBacktestPrepare ();
if (StrLen (postVars)> 0) {
    ih = InternetPostRequest ( "https://api.prescientrading.com", postVars);
    if (ih) {
        응답 = "";
        while ((line = InternetReadString (ih))! = "")
            응답 + = 라인;
        PTBacktestExecute (응답);
        인터넷 닫기 (ih);
    }
    다른 {
        msg = "API에서 응답이 없습니다-가능한 시간 초과 또는 인터넷 연결 문제-60 초 동안 대기 중";
        _TRACE (msg);
        PTLogToFile (msg);
        PTWait (60);
    }
}

추가 코드의 이유는 AmiBroker가 PrescienTrader와 같은 플러그인에서 멀티 스레딩을 지원하지 않기 때문입니다. 따라서 플러그인은 단일 플러그인 기능으로 전체 분석 작업을 수행하는 대신 가장 많은 시간이 걸리는 API 요청을 제외한 모든 것을 처리하므로 여러 스레드에서 실행하면 가장 큰 이점을 얻을 수 있습니다.

이것을 단계별로 세분화합시다…

  1. 첫 번째 단계에서는 PTBacktestPrepare를 호출하고 그 결과를 postVars 변수에 할당합니다. 이 함수는 매개 변수 창에 정의 된 매개 변수를 사용하여 API 요청에 적합한 형식으로 데이터를 생성합니다.
  2. 두 번째 단계에서는 InternetPostRequest 및 InternetReadString 함수를 사용하여 API 요청을합니다. 원격 서버와 상호 작용하기 때문에 프로세스의 속도가 가장 느리므로 여러 스레드에서 실행하는 것이 가장 좋습니다.
  3. 마지막 단계에서 API에서 반환 된 데이터에 대해 PTBacktestExecute를 실행합니다. 이 함수는 데이터를 구문 분석하고 결과를 탐색 열에 출력하고 위에서 설명한 AFL 배열을 생성합니다.

보다시피 복잡하지는 않지만 단일 스레드 방식보다 훨씬 많은 코드가 필요합니다. 많은 양의 데이터를 분석하는 경우 컴퓨터의 CPU 코어 수에 따라 다중 스레드 방식이 최대 32 배 빨라질 수 있습니다.

단일 스레드 방식과 마찬가지로 위 코드 블록을 여러 번 삽입하거나 코드 블록을 for 루프에 래핑하여 여러 시간 프레임을 분석 할 수 있습니다.

최적화

최적화는 시장 또는 시장 그룹에 가장 적합한 결과를 얻기 위해 미세 조정 매개 변수의 프로세스입니다. AmiBroker는 최대 64 개의 매개 변수를 동시에 최적화하고 포트폴리오 최적화를 지원하며 3 개의 스마트 최적화 엔진, 표준 입자 떼 최적화, 부족CMA-ES.

PrescienTrader는 각 매개 변수에 대한 코드를 작성하지 않고도 모든 매개 변수의 최적화를 지원합니다. 최적화 매개 변수를 설정하려면 시프트 키를 클릭하고 매개 변수 도구 모음 아이콘을 클릭하십시오. 그러면 최적화 매개 변수 창이 표시됩니다. 범위 각 매개 변수 및 (시작 및 종료) 단계 숫자 매개 변수 범위는 최적화 범위를 나타냅니다. 예를 들어, 룩백 범위를 최적화하기 위해 다음과 같은 것을 선택할 수 있습니다.

조회 범위 : 5
전환 범위 : 10
전환 범위 단계 : 1

이 매개 변수를 입력하면 1 씩 증가하여 5에서 10 사이의 전환 범위를 최적화하므로 5, 6, 7, 8, 9, 10의 값을 테스트합니다.

벌채 반출

분석을 실행할 때 PrescienTrader는 지속적으로 정보를 추적 창에 출력합니다. 각 줄에는 다음 정보가 포함됩니다.

  • 분석 유형 (백 테스트, 최적화, 탐색 등)
  • 분석되는 기기의 상징
  • 기간 (일별, 주별, 월별 등)
  • 데이터 계열 (닫기, 평균 등)
  • 매개 변수 값 :
    • 극성
    • PL 기준
    • 최소 주파수
    • 최대 주파수
    • 전환 범위
    • 고조파 필터
    • 최소한의 자신감
    • 최고의 X 사이클

각 매개 변수 값에 대해 소스를 괄호 안에 표시합니다. 소스는 다음 중 하나 일 수 있습니다.

  • Param – 매개 변수 창에서 값을 가져 왔습니다.
  • Opt – 매개 변수 창에 지정된 최적화 설정에 따라 값이 생성되었습니다.
  • 저장 –이 계측기와 기간에 대한 저장 값.
  • AFL – 매개 변수에 해당하는 AFL 변수에서 값을 가져 왔습니다.
  • 배열 – AFL 배열에서 값을 가져 왔습니다. 배열은 각 막대마다 다른 값을 사용할 수 있으므로 값이 표시되지 않습니다.

AFL 변수가 가장 높은 우선 순위를 가지며 그 뒤에 저장된 값과 매개 변수 창에 지정된 값이옵니다.

추적 창 외에도 매개 변수 창에 파일 경로를 입력하여 파일에 로깅 할 수 있습니다.

이 글이 도움 되었나요?
싫어함 0
견해: 1418
영원히 무료
일일 거래 신호
PrescientSignals 제작
구독
이메일받은 편지함으로 매일 배달되는 무료 거래 신호를 수신하려면 구독하십시오
무료 신호는 1 주일 지연됩니다. 이를 통해 이전주의 예측을 실제 결과와 비교하여 PrescientSignals 서비스를 위험없이 평가할 수 있습니다.
영원히 무료
PrescientSignals에 의한 일일 거래 신호
구독
이메일받은 편지함으로 매일 배달되는 무료 거래 신호를 수신하려면 구독하십시오
무료 신호는 1 주일 지연됩니다. 이를 통해 이전주의 예측을 실제 결과와 비교하여 PrescientSignals 서비스를 위험없이 평가할 수 있습니다.