리소스 로딩... 로딩...

FMZ 퀀트 플랫폼에서 온도계 전략의 실행 및 적용

저자:FMZ~리디아, 창작: 2023-01-19 09:22:10, 업데이트: 2023-09-20 09:25:20

img

FMZ 퀀트 플랫폼에서 온도계 전략의 실행 및 적용

왜 그것을 온도 조절기라고 부르는가? 우리는 이 시스템을 시장의 변동성과 트렌드 패턴 모두에서 변화와 거래에 적응할 수 있는 능력에 따라 명명했습니다. 이 시스템은 특정 시장 영역에서 특정 시스템의 성공에 대한 우리의 관찰에서 유래되었습니다. 이 시스템은 시장의 양쪽 패턴을 완전히 활용하기 위해 이중적인 성격을 가진 전략을 만들 수 있습니다.

먼저, 시장 패턴을 결정하는 데 도움이 되는 함수를 만듭니다. 이 함수의 출력에 따라, 온도 조절기는 추적 모드에서 단기 스윙 모드로 전환합니다.

트렌드 추적 모드는 볼링거 밴드의 트렌드 추적 메커니즘과 유사하다. 단기 스윙 시스템은 패턴 인식을 포함한 개방적인 돌파구이다. 기능은 시장의 방황 거리를 실제 거리와 비교한다.

Abs (폐기 가격 - 종료 가격[29])/(최고 가격(30) - 최저 가격 (최저 가격, 30일) * 100

함수는 0에서 100 사이의 값을 생성합니다. 값이 높을수록 현재 시장이 덜 혼잡합니다. 함수가 반환하는 값이 20보다 작으면 시스템이 단기 스윙 모드로 들어갑니다.

기본적으로 시장의 대부분은 스윙 움직임을 보이고 있으며 시스템은 변동을 파악하고 약간의 이익을 얻으려고 노력합니다. 온도계는 작은 시장 충동으로 구매 / 판매함으로써 이 업적을 달성하려고합니다. 변동이 충분히 큰 경우 시스템은 모드를 전환합니다.

단기 변동에 대한 심도 있는 분석을 통해, 우리는 때때로 구매가 판매보다 낫다는 것을 발견하고, 그 반대의 경우도 발견한다. 이 때, 그것은 단순한 시각적 모드로 결정될 수 있다. 만약 오늘의 종료 가격이 어제의 최고점, 최저점 및 종료 가격 (일간의 핵심점으로도 알려져 있다) 보다 높다면, 우리는 내일의 시장 움직임이 하향적일 수 있다고 생각한다. 그러나, 만약 오늘의 종료 가격이 어제의 최고점, 최저점 및 평균 종료 가격보다 낮다면, 오늘의 시장은 상승적일 수 있다. 우리는 이러한 시간을 구매 및 판매가 쉬운 가격으로 분류한다.

FMZ 퀀트 플랫폼에서 온도계 전략은 매우 인기있는 전략입니다. 사용자는 전략의 성능을 향상시키기 위해 자신의 필요에 따라 추가적인 거래 논리를 추가 할 수 있습니다. 다음은 FMZ 퀀트 플랫폼에서 온도계 전략의 전형적인 프레임워크입니다:

  • 주요 차트: 상위 트랙 공식: TOP^^MAC+N_TMPTMP;// 볼링거 채널 상위 트랙 다운트랙 공식: BOTTOM^^MAC-N_TMPTMP;// 볼링거 채널 다운트랙

  • 하위 차트: CMI 공식: CMI:ABS ((C-REF ((C,N_CMI-1)) / ((HHV ((H,N_CMI) -LLV ((L,N_CMI)) * 100;//0-100의 값이 클수록 추세가 강해질 것입니다. CMI < 20은 변동 모드이며, CMI > 20은 추세입니다.

  • 코드 (MyLanguage):

MAC:=MA(CLOSE,N);
TMP:=STD(CLOSE,N);
TOP^^MAC+N_TMP*TMP;      // Bollinger channel upper track
BOTTOM^^MAC-N_TMP*TMP;   // Bollinger channel down track
BBOLL:=C>MAC;
SBOLL:=C<MAC;
N_CMI:=30;

CMI:ABS(C-REF(C,N_CMI-1))/(HHV(H,N_CMI)-LLV(L,N_CMI))*100; // The greater the value of 0-100 is, the stronger the trend will be. CMI < 20 is volatility mode, CMI >20 is the trend.

N_KD:=9;
M1:=3;
M2:=3;
RSV:=(CLOSE-LLV(LOW,N_KD))/(HHV(HIGH,N_KD)-LLV(LOW,N_KD))*100; // The difference between the closing price and the lowest value of N period is made, the difference between the highest value of N period and the lowest value of N period is made, and the ratio between the two differences is made.

K:=SMA(RSV,M1,1); // Moving average of RSV
D:=SMA(K,M2,1);   // Moving average of K
MIND:=30;
BKD:=K>D AND D<MIND;
SKD:=K<D AND D>100-MIND;

// Oscillation mode
BUYPK1:=CMI < 20 AND BKD;  // Oscillating long position, buy close
SELLPK1:=CMI < 20 AND SKD; // Oscillating short position, sell close

// Handling of original oscillating positions in trend mode
SELLY1:=REF(CMI,BARSBK) < 20 AND C>BKPRICE*(1+0.01*STOPLOSS*3) AND K<D; // Oscillation long position stop-profit
BUYY1:=REF(CMI,BARSSK) < 20 AND C<SKPRICE*(1-0.01*STOPLOSS*3) AND K>D;  // Oscillation short position stop-profit

// Trend mode
BUYPK2:=CMI >= 20 AND C > TOP;        // Trend long position, buy close
SELLPK2:=CMI >= 20 AND C < BOTTOM;    // Trend short position, sell close

// Handling of original oscillating positions in trend mode
SELLY2:=REF(CMI,BARSBK) >= 20 AND C>BKPRICE*(1+0.01*STOPLOSS*3) AND SBOLL;// Trend long position stop-profit
BUYY2:=REF(CMI,BARSSK) >= 20 AND C<SKPRICE*(1-0.01*STOPLOSS*3) AND BBOLL;// Trend short position stop-profit
SELLS2:=REF(CMI,BARSBK) >= 20 AND C<BKPRICE*(1-0.01*STOPLOSS) AND SBOLL;// Trend long position stop-loss
BUYS2:=REF(CMI,BARSSK) >= 20 AND C>SKPRICE*(1+0.01*STOPLOSS) AND BBOLL;// Trend short position stop-loss

IF BARPOS>N THEN BEGIN
    BUYPK1,BPK;
    SELLPK1,SPK;
    BUYPK2,BPK;
    SELLPK2,SPK;
END
BUYY1,BP(SKVOL);
BUYY2,BP(SKVOL);
BUYS2,BP(SKVOL);
SELLY1,SP(BKVOL);
SELLY2,SP(BKVOL);
SELLS2,SP(BKVOL);

전략 백테스트의 결과는 다음과 같습니다.

img img img

더 자세한 내용은 다음 문서를 참조하십시오.https://www.fmz.com/strategy/129086.


관련

더 많은