소인 스크립트 자습서

거래 전략 은 행동 편향을 피하고 일관된 결과를 보장하는 가장 좋은 방법 중 하나입니다.

전략은 진입, 퇴장 및 / 또는 거래 관리 규칙을 결정하기 위해 객관적인 방식으로 지표를 사용합니다. 여기에는 거래 활동이 발생할 인스턴스를 설정하기위한 지표 또는 여러 지표의 자세한 사용이 포함됩니다.

그러나 모든 거래 전략은 일관성과 정확성을 측정하기 위해 다양한 시장 조건에서 테스트되어야합니다.

예 : 특정 기간 동안 최소한의 손실로 전체 70 ~ 80 %의 수익성을 제공 할 수있는 훌륭한 전략을 염두에두고 있습니다.

예를 들어 추세에서 비 추세 기간으로 시장 상황이 변할 때도 동일한 성능을 발휘할 수있는 것은 아닙니다. e

적절한 위험 관리를 통해 가능한 모든 시나리오에서 완전한 백 테스트는 계정에 큰 손실이 발생하는 상황을 피해야한다는 것입니다.

이 기사에서는 기본적인 이동 평균 전략이 거의없는 Trading-view 전략 테스터 환경의 기본을 다룰 것입니다.

Tradingview에는 무료 계정 소유자를 포함한 누구나 전략을 개발하고 그에 따라 백 테스트 할 수있는 파인 스크립팅 언어가 내장되어 있습니다.

언어 자체는 이해하기 매우 간단하며 여기에 로켓 과학 연구가 필요하지 않습니다.

가장 기본적인 것부터 시작하겠습니다.

1 & gt; 20 기간 이동 평균 전략 :

이 전략을 테스트하기 위해 비트 코인의 예를 들었습니다. 전략 수립을 위해 20 SMA를 사용하는 이유를 살펴 보겠습니다.

여기의 btcusd 차트에서 볼 수 있듯이, 8k 수준의 좋은 상승 추세와 합병 후 가격이 7 월 말에 하락하기 시작했고 20MA를 밑돌아 매도 신호를 제공 합니다.

가격은 20MA 근처에서 오랫동안 통합되어 마침내 위를 돌파하고 구매 신호를 제공 하고 다시 추세를 보이고 있습니다.

이제 우리만의 시그널 봇을 구축하기 위해 TradingView를 설정하는 방법을 알아 보겠습니다!


// @ version = 3

전략 (& quot; MA_strategy & quot;, shorttitle = & quot; MA_strategy & quot ;, overlay = true, initial_capital = 100000)

SMA = input (10, minval = 1)

s = sma (종가, SMA)

plot (s, color = yellow, linewidth = 2) // MA 플롯

구매 = 닫기 & gt; s

판매 = 종가

ordersize = floor (strategy.equity / close) // 계정 자산이 증가하거나 감소함에 따라 주문 크기를 동적으로 계산합니다.

strategy.entry ( “long”, strategy.long, ordersize, when = buy)

strategy.close (& quot; long & quot ;, when = sell)

아래의 간단한 코드를 이해하겠습니다.

strategy.exit (& quot; exit long & quot ;, from_entry = & quot; long & quot;, profit = p, loss = sl, trail_points = tl, trail_offset = os)

“long”은 닫을 위치의 id이며, p, sl, tl 및 os는 일부 기본값을 사용하여 입력 변수로 정의 할 수 있습니다. 틱 단위로 제공되어야합니다 (최소 가격 변동)

이 간단한 전략은 장기간 실행하면 괜찮은 결과를 제공합니다.

백 테스트하는 모든 전략에서 확인해야 할 중요한 사항 : 순이익, 수익률-즉, 거래에서 승리 한 비율. 최대 감소 , 수익 계수, 최대 승패 및 거래 목록 (매우 중요합니다!) 전략 시작일, 수익, 포지션 크기 집계 여부를 확인하기 위해 때때로 우리가 보는 것처럼 순이익과 수익성 때문에 우리는이 전략이 무적이라고 믿도록 속일 수 있으며 나중에 작동하는 버그를 발견 할 수 있습니다.

SMA 기간을 변경하려면 설정 (위 그림의 왼쪽 상단)에 액세스하여 원하는 값을 기간으로 입력하면 수치의 변화를 볼 수 있습니다.

이제 이동 평균 교차 전략을 살펴 보겠습니다.

2 & gt; 이동 평균 교차 전략

가격 교차는 모멘텀의 변화를 식별하는 데 사용되며 기본 진입 또는 종료 전략으로 사용할 수 있습니다.

단기간 MA가 더 큰 기간 MA (이 경우 10–20MA) 아래로 교차하면 하락세가 통제 상태에 있고 모멘텀을 얻고 있으며 큰 움직임이 모퉁이를 돌고 있음을 나타냅니다.

반대로, 더 짧은 기간 MA가 더 큰 기간 위로 교차한다는 것은 모멘텀이 이제 상승세쪽으로 이동했음을 의미합니다.

여기에 새로운 것은 없습니다. 여전히 얼마나 잘 작동하는지 확인하는 것은 놀랍습니다. 특히 일부 거래 필터를 사용하여 고르지 못한 움직임 중에 생성되는 잡음 신호를 제거하는 경우 더욱 그렇습니다.

이제 중요한 부분 :

이 전략의 파인 스크립트 코드는 다음과 같을 수 있습니다.

// @ version = 3

전략 (& quot; MAcross_strategy & quot ;, shorttitle = “MAcross_strategy & quot ;, overlay = true, initial_capital = 100000)

SMA_Fast = input (10, minval = 1) // 첫 번째 sma의주기를 입력하려면 기본주기를 10으로 설정

SMA_Slow = input (20, minval = 1)

s1 = sma (close, SMA_Fast) // s1 및 s2 변수에 저장된 sma 값

s2 = sma (종가, SMA_Slow)

plot (s1, color = yellow, linewidth = 2) // MA 플롯

플롯 (s2, color = red, linewidth = 2)

buy = crossover (s1, s2) // 소나무 내장 함수를 사용하여 구매 / 판매 조건을 정의합니다.

판매 = 크로스 언더 (s1, s2)

ordersize = floor (strategy.equity / close) // 계정 자산이 증가하거나 감소함에 따라 주문 크기를 동적으로 계산합니다.

strategy.entry (& quot; long & quot;, strategy.long, ordersize, when = buy) // 구매 조건이 충족 될 때 구매

strategy.close (& quot; long & quot ;, when = sell) // 판매 조건이 충족되면 포지션을 닫습니다.

이제 완료되었습니다. 이제 계속 진행하여 저장 한 다음 차트에 추가 할 수 있습니다.

전략 테스터 탭에서 효과를 확인합니다.

SMA 기간을 변경하려면 동일한 프로세스가 필요합니다. 설정 (위 그림의 왼쪽 상단)에 액세스하고 원하는 값을 거기에 기간으로 입력하면 그림에서 변경 사항을 볼 수 있습니다.

p>

이제 전략에서 SMA를 사용하지 않고 대신 다른 MA를 사용하고 싶지 않다고 가정하고 위의 코드에서 사용한 sma () 함수를 wma () / ema () / vwma () 함수로 바꾸십시오. 귀하의 선호에 따라 다른 모든 세부 사항은 동일하게 유지됩니다!

아래의 전략을 확인하여 기간 및 HMA, TEMA와 같은 기타 MA의 코드를 전략에 구현하세요.

https://www.tradingview.com/script/4fh0NkBh-MA-strategy/

이것은 pine으로 구현할 수있는 가장 기본적인 두 가지 전략이었습니다.

다음 기사에서는 WMA, Heikin-Ashi 캔들과 관련된 고급 전략을 다루고 MACD, stoch, RSI와 같은 다양한 오실레이터의 코드 스 니펫을 제공하여 더 나은 결과를 얻기 위해 모든 전략에 추가하는 방법을 보여줄 것입니다.

이 기사의 목적은 Tradingview의 전략 테스터 환경에 대한 전반적인 느낌을 제공하는 것이 었습니다. 그렇게되었다고 생각되면 친절하게 좋아요를 눌러 구독하세요.