콘텐츠로 이동

cTrader에서 범위 바 전략

범위 차트는 가격이 그 움직임을 만드는 데 얼마나 걸리는지에 관계없이 지정된 범위의 가격 움직임을 나타내기 위해 구축됩니다. 이것은 범위 크기보다 작은 가격 움직임을 걸러내어 추세를 더 쉽게 시각화할 수 있게 합니다. cTrader에서 범위 바를 기반으로 결정을 내리는 자동화된 거래 전략을 개발하는 프로세스는 표준 시간 기반 캔들스틱을 기반으로 하는 전략을 생성하는 프로세스와 동일합니다. 이 문서와 해당 비디오에서는 범위 바를 기반으로 간단한 전략을 개발하고 백테스트하는 방법을 시연합니다.

매수 및 매도 신호 정의

우리의 거래 로직을 간략히 설명합니다.

  • 매수 신호 - 약세 범위 바 다음에 강세 범위 바가 나타나고 약세 바의 시가 위에서 종가가 형성될 때 발생합니다.
  • 매도 신호 - 강세 범위 바 다음에 약세 범위 바가 나타나고 강세 바의 시가 아래에서 종가가 형성될 때 발생합니다.

매수 신호의 해석은 약세 추세가 강한 저항을 만났을 때 반등을 기대하며 매수할 때라는 것입니다. 매도 신호에는 반대 설정이 적용됩니다: 강세 추세가 저항을 만났을 때 매도 주문을 통해 이를 활용해야 합니다.

예제 cBot 생성

cBot을 생성하기 시작할 수 있습니다. 먼저 필요한 매개 변수를 정의합니다.

1
2
3
4
5
6
7
8
[Parameter(DefaultValue = 10000)]
public double Volume { get; set; }

[Parameter(DefaultValue = 20)]
public double StopLoss { get; set; }

[Parameter(DefaultValue = 20)]
public double TakeProfit { get; set; }

매수 신호는 다음과 같이 코딩할 수 있습니다.

1
2
3
4
if (Bars.Last(0).Close > Bars.Last(0).Open && Bars.Last(1).Close < Bars.Last(1).Open && Bars.Last(0).Close > Bars.Last(1).Open)
{
    ExecuteMarketOrder(TradeType.Buy, SymbolName, Volume,InstanceId, StopLoss, TakeProfit);
}

매도 신호는 다음과 같습니다.

1
2
3
4
if (Bars.Last(0).Close < Bars.Last(0).Open && Bars.Last(1).Close > Bars.Last(1).Open && Bars.Last(0).Close < Bars.Last(1).Open)
{
    ExecuteMarketOrder(TradeType.Sell, SymbolName, Volume,InstanceId, StopLoss, TakeProfit);
}

전략 백테스트

새로운 cBot을 빌드한 후 백테스트 탭으로 전환하여 백테스트를 실행합니다. 결과는 다음과 같습니다.

참고

범위 바 전략은 캔들스틱을 기반으로 하는 전략과 동일한 데이터 구조를 사용합니다. 예를 들어, Bars 컬렉션을 사용하여 범위 바를 검색했습니다. 캔들스틱을 검색하려고 할 때도 동일한 컬렉션을 사용했을 것입니다. cTrader의 이 기능을 통해 어떤 차트 유형에서도 수정 없이 테스트하고 실행할 수 있는 전략을 개발할 수 있습니다.

이 튜토리얼에서는 범위 차트를 기반으로 간단한 전략을 빠르게 개발하는 방법을 시연했습니다. 또한 이러한 전략이 시간 기반 캔들스틱이 포함된 차트에서 자유롭게 재사용될 수 있다고 제안했습니다.