파인스크립트에서 input 함수는 사용자로부터 입력을 받는 데 사용됩니다.

input 함수는 여러 가지 형태의 입력을 받을 수 있습니다. 다음은 주요 인수와 그 용도입니다

  1. defval : 이는 입력의 기본값을 정의합니다. 사용자가 별도의 값을 입력하지 않은 경우 이 값이 사용됩니다.
  2. title : 이는 입력 필드의 이름을 정의합니다. 이 이름은 Pine Script 에디터의 설정 창에 표시됩니다.
//@version=5
indicator("Thxbot script")

length = input(defval = 14, title = "Length")	//사용자 입력을 받는다.

sma = ta.sma(close, length)
plot(sma)

 

파인스크립트 v5이전에서는 입력 타입을 지정해줘야했지만 v5부터는 defval에 따라 자동으로 type이 정해집니다.

위 소스는 int 정수형을 입력으로 받아서 이평선을 출력하는 예제소스입니다.

 

- 결과 -

 

input 함수는 매우 많이 사용되는 함수 이므로 꼭 활용법에 대해 숙지해놓으시기 바랍니다.

좀더 많은 예제와 설명은 파인스크립트 input 메뉴얼을 참고하세요

https://kr.tradingview.com/pine-script-reference/v5/#fun_input

파인스크립트로 가장 기초적인 sma(단순이동평균), ema (가중이동평균)을 만들어  보도록 하겠습니다.

 

SMA(단순이동평균) - 단순 평균값을 계산하여 만든선입니다.

//@version=5
indicator("Thxbot script")


// sma20=ta.sma(close,20)	//이평선은 파인스크립트 내장함수로 기본으로 제공합니다.

//아래는 기초학습을 위해 파인스크립트 사용자정의 함수로 만들어본 이평선 예제입니다.
sma_custom(src, length) =>
    sum = 0.0
    
    
    for i = 0 to length-1
        sum := sum + src[i]
    sma = sum / length
    sma

sma20 = sma_custom(close, 20)

plot(sma20,color = color.red)

 

 

 

EMA(가중이동평균) - 최근 데이터에 더 큰 가중치를 부여하는 방식계산되는 이동평균

//@version=5
indicator("Thxbot script")

//ema20=ta.ema(close, 20)	//파인스크립트에서 기본적으로 제공하는 ema 내장함수

ema_custom(src, length) =>
    alpha = 2 / (length + 1)
    ema = src
    if na(ema[1])
        ema := src
    else
        ema := alpha * src + (1 - alpha) * ema[1]
    ema

ema20 = ema_custom(close, 20)

plot(ema20,color = color.blue)

 

sma, ema 결과값은 아래와 같습니다.

 

파인스크립트 내에서 기본적으로 제공하는 내장함수를 사용하는것이 더 정확하고 안전하지만,

함수 기본 사용법을 익히기 위해 한번 제작해봤습니다.

 

파인스크립트에서 조건문은 특정 조건이 참인지 거짓인지에 따라 다른 코드를 실행하는 데 사용됩니다.
조건문은 주로 if, else if, else 키워드를 사용하여 작성되며, 조건은 대개 비교 연산자나 논리 연산자를 사용하여 표현합니다.

 

if문

//@version=5
indicator("Thxbot script")

a=100

if a>=100 
	a := 200	//재할당이므로 (:=)를 사용
    
결과
200

 

 

if, else if

//@version=5
indicator("Thxbot script")

a=100

if a > 100 
	a := 200	//재할당이므로 (:=)를 사용
else if  a <= 100
	a := 50		//재할당이므로 (:=)를 사용
    
결과
50

 

 

if, else if, else

//@version=5
indicator("Thxbot script")

a=100

if a > 100 
	a := 200	//재할당이므로 (:=)를 사용
else if  a < 100
	a := 50		//재할당이므로 (:=)를 사용
else 
	a := 1000

plot(a)
    
결과
1000

 

아래는 트레이딩뷰에 스크립트를 넣고 결과 화면입니다. plot함수는 차후에 배우겠지만 간략하게 설명드리면 인자로 입력한 값을 차트에 그려주는 함수입니다.

 

 

트레이딩뷰 자동매매(무료) : 땡스봇TV

바이빗 거래수수료 20%할인 및 증정금 $90 받을 수 있는 링크

www.bybit.com/en/register?affiliate_id=8325&language=en&group_id=0&group_type=1

 

비트겟 거래수수료 50%할인링크

https://partner.bitget.com/bg/F64QJX

 

바이낸스 레퍼럴링크

레퍼럴코드 : CPA_0069Y9NEXA

https://www.binance.com/en/activity/referral-entry/CPA?fromActivityPage=true&ref=CPA_0069Y9NEXA

 

 

비트맥스 거래수수료 6개월 동안 10% 할인받을 수 있는 링크

https://www.bitmex.com/register/wvtdj4

+ Recent posts