파인스크립트에서 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

"NaN"은 "Not a Number"의 약자로, 숫자로 정의되지 않은 값을 나타냅니다. 일반적으로 연산이 정의되지 않은 경우 이 값이 발생합니다.

예를 들어, 0을 0으로 나눌 때의 결과는 "정의되지 않음"으로 간주되고, 이러한 경우에 NaN 값이 반환됩니다.

또는 NaN값과 연산을 하는경우에도 NaN값을 리턴합니다

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

a=na +1	//na는 내장변수입니다.(NaN값)
plot(a)

결과 : 아무런 값도 출력되지 않습니다.

 

 

na함수

na 함수는 시계열 데이터에서 누락된 값이나 undefined 값이 있는지 확인하는 데 사용됩니다.

na는 Not Available의 약자입니다.

예제1:

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

x = na(close[1]) ? close : na
plot(x)

이 스크립트에서 na(close[1])는 이전 (1 기간 전)의 종가(close[1])가 누락되었는지 확인합니다. 만약 누락되었다면(na(close[1])가 참이라면), 현재 종가(close)를 x에 할당하고, 그렇지 않다면 na (즉, 누락된 값)를 x에 할당합니다.

따라서 이 스크립트는 이전 종가가 누락된 경우에만 현재 종가를 플롯하고, 그렇지 않은 경우에는 값을 플롯하지 않습니다.

 

예제2:

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

sma20 = ta.sma(close, 20)	//파인스크립트 버전5이전에는 sma(close,20) 이렇게 작성

plot(na(sma20) ? na : sma20)

이 예제에서는 20기간의 단순 이동 평균(SMA)을 계산합니다. 
그런 다음, na 함수를 사용하여 이동 평균이 유효한지 확인합니다.
만약 20기간의 데이터가 충분하지 않아 이동 평균을 계산할 수 없다면(na(sma20)가 참이라면), 그래프에 아무것도 플롯하지 않습니다(na). 
그렇지 않다면, 이동 평균을 플롯합니다(sma20).

이렇게 na 함수를 사용하면 충분한 데이터가 없어 계산을 할 수 없는 초기 기간 동안에는 이동 평균을 플롯하지 않는 등, 
누락된 데이터를 적절하게 처리할 수 있습니다.

 

 

nz함수

nz 함수는 "na" 함수와 유사한 역할을 하지만, 누락된 값을 다른 값으로 대체하는 기능을 가지고 있습니다. 

nz 함수는 첫 번째 인수로 시계열 데이터를 받고, 선택적으로 두 번째 인수를 받아 시계열 데이터에 누락된 값이 있을 경우 이를 대체합니다.

이 함수의 이름은 "na zero"에서 파생된 것으로, 누락된 값을 0으로 대체합니다. 

두 번째 인수가 주어지지 않으면 이 기능이 사용됩니다.

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

sma20 = ta.sma(close, 20)
plot(close - nz(sma20, close))

이 스크립트는 현재 종가와 20기간 단순 이동평균(SMA) 간의 차이를 플롯합니다. 
만약 이동평균이 유효하지 않다면(sma20가 na라면), 
이동평균을 현재 종가(close)로 가정하고 계산합니다. 
이렇게 nz 함수를 사용하면 누락된 값을 적절하게 처리하고, 연산을 계속할 수 있습니다.

 

 

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

바이빗 거래수수료 20%할인 받을 수 있는 링크

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

파인스크립트에서 함수는 작업을 수행하거나 계산을 수행하는데 사용되는 코드 블록입니다. 
함수는 다음과 같이 정의할수 있습니다.

사용자 정의함수

함수명(인자)
함수명(인자1, 인자2)
함수명(인자1, 인자2,...)

위처럼 파라미터는 여러개 지정할수도 있고, 한개만 지정할수도 있습니다.

아래는 일반적인 함수 사용 예시입니다.

- 여러줄 함수

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

myFunction(x, y) => 
    result = x + y
    result	//이값을 반환합니다.

plot(myFunction(close, open))

 

- 한줄함수

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

myFunction(x, y) => x + y
plot(myFunction(close, open))

둘의 결과값은 동일합니다.  한줄함수는 함수내용이 간단한경우 사용되며, 여러줄 함수는 여러 수식이 포함되는경우

주로 사용됩니다.

 

- 결과가 여러개인 함수

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

fun(x, y) =>
    a = x+y
    b = x-y
    [a, b]

[res0, res1] = fun(open, close)
plot(res0)
plot(res1)

결과값을 여러개 받고 싶은 경우 위처럼 사용가능합니다.

 

내장함수

파인스크립트 내에서 기본적으로 제공되는 함수를 내장함수라고 합니다.

위 예시처럼 plot()함수는 내장함수 입니다. 

이후 포스트부터는 자주 사용되는 내장함수를 활용하여 간단한 스크립트를 작성하면서

설명하도록 하겠습니다.

 

 

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

바이빗 거래수수료 20%할인 받을 수 있는 링크

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

 

파인스크립트에서 시리즈(series)는 시간에 따라 변화하는 값의 순서를 나타내는 데이터 유형입니다. 

이는 주로 가격 데이터와 같은 시계열 데이터를 다루는 데 사용됩니다. 

예를 들어, close, open, high, low와 같은 기본 제공 변수들은 모두 시리즈입니다.

시리즈는 일련의 값들을 나타내며, 각 값은 특정 시간에 해당합니다. 시리즈의 가장 최근 값은 현재 시간(즉, 현재 바)에 해당하며, 이전의 값들은 과거의 시간에 해당합니다.

시리즈를 사용하면 시간에 따른 데이터의 변화를 쉽게 처리할 수 있습니다. 예를 들어, 이동 평균을 계산하거나 과거의 가격을 현재 가격과 비교하는 등의 작업을 할 수 있습니다.

시리즈의 특정 값을 접근하려면 대괄호([])를 사용하고, 대괄호 안에 원하는 시간을 지정합니다. 0은 현재 바를, 1은 이전 바를, 2는 그 이전 바를 가리킵니다. 

예를 들어, close[1]은 이전 바의 종가를 나타냅니다.

다음은 시리즈를 사용하는 간단한 파인스크립트 예제입니다

 

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

difference = close - close[1] // 현재 바의 종가와 이전 바의 종가의 차이를 계산합니다.
//difference = close[0] - close[1] // 위 소스와 현재 소스는 같은 결과값을 보여줍니다.
plot(difference)	//계산한값을 그래프로 나타냅니다.

 

결과


이 스크립트는 현재 바의 종가와 이전 바의 종가 사이의 차이를 계산하고, 

그 차이를 차트에 그립니다. 여기서 close와 difference는 모두 시리즈입니다.

 

파인스크립트는 시리즈로 시작해서 시리즈로 끝난다고 생각하셔도 무방합니다.

그만큼 시리즈를 많이 사용하므로 시리즈에대해서는 100%로 그이상 이해하셔야합니다.

 

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

바이빗 거래수수료 20%할인 받을 수 있는 링크

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

파인스크립트에서 조건문은 특정 조건이 참인지 거짓인지에 따라 다른 코드를 실행하는 데 사용됩니다.
조건문은 주로 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

파인스크립트에서 연산자(operator)는 수학적, 비교, 논리적, 할당(대입) 등의 연산을 수행하는 기호나 키워드를 말합니다. 연산자를 사용하여 값이나 변수 간의 관계를 나타내거나, 값을 계산하거나, 기존 값을 변경할 수 있습니다.

 

산술 연산자(Arithmetic Operators):

덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 나머지(%), 거듭제곱(^) 등의 기본적인 
수학 연산을 수행합니다.

 

비교 연산자(Comparison Operators)

등호(==), 부등호(!=),  작은(<), 큰(>), 작거나 같은(<=), 크거나 같은(>=) 연산자로 
두 값이나 변수를 비교할 때 사용됩니다.

 

논리 연산자(Logical Operators)

and(논리곱), or(논리합), not(부정) 연산자로 논리적인 조건을 평가할 때 사용됩니다.

 

할당(대입) 연산자(Assignment Operators)

할당(=), 재할당(:=), 덧셈 후 할당(+=), 뺄셈 후 할당(-=), 곱셈 후 할당(*=), 나눗셈 후 할당(/=), 
나머지 연산 후 할당(%=), 거듭제곱 후 할당(^=) 등의 연산을 수행합니다.

재할당(:=) : 이미 사용된 변수에 재할당하는경우 사용됩니다.

 

a=5
a=7 //다시 대입시 오류발생

아래처럼 코딩하셔야 정상적으로 실행됩니다.

a=5
a:=7	//정상적으로 a에 7이 할당됩니다.

 

 

삼항연산자(?:)

조건에 따라 두 개의 다른 값을 선택할 수 있게 합니다.

condition ? result1(true) : result2(false)

condition이 참이면 result1실행, 거짓이면 result2실행

예)

age=26

whatAge=(age >21) ? "Up" : "Down"

결과 : "Up"

 

트레이딩뷰 자동매매 : 땡스봇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

 

NFT(Non-Fungible Token)는 블록체인 기술을 기반으로 한 고유하고 교환 불가능한 디지털 자산입니다.

암호화폐와 관련된 이 개념은 대부분의 암호화폐와는 달리, 각 NFT는 고유한 가치를 가지며 서로 대체할 수 없습니다. 일반적인 암호화폐(예: 비트코인, 이더리움)는 대체 가능한 자산으로 간주되며, 어떤 단위도 다른 단위와 동일한 가치를 가집니다.

NFT는 주로 디지털 아트, 게임 아이템, 수집품, 음악, 도메인 이름 등 다양한 디지털 자산의 소유권을 나타내기 위해 사용됩니다. 

블록체인 기술의 활용으로 인해 NFT는 소유권 및 출처를 추적할 수 있으며, 저작권과 소유권에 대한 높은 수준의 투명성을 제공합니다.

  1. 고유성: 각 NFT는 고유한 식별자를 가지며, 그에 따라 고유한 가치를 가집니다.
  2. 불가연성: 블록체인 기술을 활용하여 NFT의 출처와 소유권 정보가 영구적이고 변경 불가능하게 저장됩니다.
  3. 소유권: NFT는 소유권을 증명하며, 전송 가능하고 거래 가능한 디지털 자산입니다.
  4. 투명성: NFT 트랜잭션은 블록체인에 기록되므로 투명하게 추적할 수 있습니다.

NFT는 이더리움 블록체인을 기반으로 한 ERC-721 및 ERC-1155 토큰 표준을 사용하여 구현되며, 다른 블록체인 플랫폼에서도 지원됩니다. 최근 몇 년 동안 NFT 시장은 급격한 성장을 경험했으며, 디지털 아트 및 수집품 시장의 혁신과 함께 큰 주목을 받았습니다.

 

대표적인 NFT관련 프로젝트는 다음과 같습니다.

  1. 이더리움 (ETH): 이더리움은 가장 널리 사용되는 스마트 계약 플랫폼으로, ERC-721 및 ERC-1155 토큰 표준을 통해 NFT를 구현합니다. 대부분의 NFT 프로젝트와 거래가 이더리움 블록체인에서 발생합니다.
  2. 플로우 (FLOW): 플로우는 NFT 및 디지털 자산에 특화된 블록체인으로, 크립토 키티(CryptoKitties) 개발자가 만들었습니다. 이 플랫폼은 NBA Top Shot, UFC, Dr. Seuss 등의 인기 프로젝트를 지원합니다.
  3. 엔진코인 (ENJ): 엔진코인은 NFT 및 디지털 자산을 생성, 관리, 거래할 수 있는 플랫폼인 엔진(Enjin)의 기반 토큰입니다. 게임 아이템, 가상 상품 및 디지털 수집품을 만들고 거래하는 데 사용됩니다.
  4. 디센트럴랜드 (MANA): 디센트럴랜드는 가상 현실 플랫폼으로, 사용자가 가상 세계에서 땅을 소유하고, 건물을 짓고, 아바타를 사용하여 상호 작용할 수 있습니다. MANA 토큰은 플랫폼에서의 거래 및 상호 작용에 사용되는 토큰입니다.
  5. 샌드박스 (SAND): 샌드박스는 가상 세계를 구축하고, 게임을 만들고, 디지털 자산을 거래하는 데 사용되는 플랫폼입니다. SAND 토큰은 플랫폼 내에서 교환 및 거래를 위한 토큰입니다.

이 외에도 Rarible (RARI), Chiliz (CHZ), Axie Infinity (AXS) 등 다양한 NFT 관련 코인이 있습니다.

 

 

 트레이딩뷰 무료자동매매 봇: 땡스봇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

땡스봇TV 1.27버전으로 업데이트 되었습니다.

업데이트 내역은 아래와 같습니다.

- 바이빗거래소 리플, 이더리움 지원

- 손절가 설정시 고정금액으로 설정할수 있도록 고정가 추가

- bybit api 업데이트로 인한 api 수정

 

기존사용자들은 꼭 1.27버전으로 업데이트 받으신후 사용하시기 바랍니다.

또한 추가 코인이 필요하시거나 기능상 필요한 기능이 있으시면 피드백남겨주세요

감사합니다.

안녕하세요

2020. 9. 9일 서버점검은 12시5분에 진행될 예정입니다.

서버점검시에는 땡스봇이 모두 종료될예정이므로 사용자분들은

점검시간 이전에 땡스봇을 종료해주시기 바랍니다.

점검시간은 1-20분정도 소요될 예정입니다.

점검내역은  서버 안정화 작업이 진행될 예정입니다.

감사합니다.

=============================

점검이 완료되었습니다.

프로그램 새로 구동하여 시작하세요

땡스봇 업데이트 안내드립니다.

업데이트 내역은 아래와 같습니다.

 - 땡스봇 계정1개이상 사용시 설정값이 중복되어 덮어씌워지는 부분 해결

 - 전략2 버프기능 안정화작업

사용자분들께서는 프로그램을 종료후 업데이트 받아서 사용하시기 바랍니다.

감사합니다.

 

안녕하세요

2020. 9. 2일 서버점검은 12시5분에 진행될 예정입니다.

서버점검시에는 땡스봇이 모두 종료될예정이므로 사용자분들은

점검시간 이전에 땡스봇을 종료해주시기 바랍니다.

점검시간은 1-20분정도 소요될 예정입니다.

점검내역은  서버 안정화 작업이 진행될 예정입니다.

감사합니다.

 

---------------------------------------------------

점검이 완료되었습니다. 감사합니다.

안녕하세요 땡스봇입니다.

금주 정기점검은 없으므로 그냥 사용하시면 됩니다.

감사합니다.

 

항상 성투하세요^^

+ Recent posts