MonthlyReturnTable
설정값
Mode : 값 종류
Position : 테이블 위치 - 상중하, 좌중우 조합으로 차트 9군데에 테이블을 표시합니다.
Precision : 값 정밀도 - 소수점 정밀도를 지정합니다. 거래 횟수에는 적용되지 않습니다.
Text : 글자 크기 - 0은 자동입니다.
MARGIN : 테이블의 상하좌우 여백을 설정합니다.
COLOR : 테이블의 셀, 글자 색을 설정합니다.
적용 방법
Pine Script®
응용 방법
Pine Script®
- https://kr.tradingview.com/script/HRuWLIsv/
- 수익률, 수익금, 최대손실폭, 거래 횟수를 월 및 연도별로 표시해줍니다.
- 결과값들은 정확하지 않을 수 있으므로 참고용으로만 보시기 바랍니다.
- 전략 스크립트 하단에 본 스크립트를 추가하여 사용할 수 있습니다.
- 파인스크립트 버전 6으로 작성되었습니다.
설정값
Mode : 값 종류
- ROI : 수익률(%)
- Profit : 수익금
- MDD : 최대손실폭(%)
- Trade : 거래 횟수
Position : 테이블 위치 - 상중하, 좌중우 조합으로 차트 9군데에 테이블을 표시합니다.
Precision : 값 정밀도 - 소수점 정밀도를 지정합니다. 거래 횟수에는 적용되지 않습니다.
Text : 글자 크기 - 0은 자동입니다.
MARGIN : 테이블의 상하좌우 여백을 설정합니다.
COLOR : 테이블의 셀, 글자 색을 설정합니다.
- Head : 제목 셀
- Bull : 양수 셀
- Bear : 음수 셀
- Zero : 0 셀
적용 방법
- 아래 스크립트를 복사하여 전략 스크립트 최하단에 붙여넣습니다.
- 스크립트가 공개되지 않은 비공개 스크립트에는 적용할 수 없습니다.
- 주석은 삭제할 수 있습니다.
import CHULTOO/MonthlyReturnTable/1
// 출력 모드 및 테이블 위치
string mode = input.string("ROI", title = "Mode", options = ["None", "ROI", "Profit", "MDD", "Trade"], group = "Monthly Return Table settings ──────────────", inline = "0", display = display.none)
string tablePosition = input.string(position.bottom_right, "Position", options = [position.top_left, position.top_center, position.top_right, position.middle_left, position.middle_center, position.middle_right, position.bottom_left, position.bottom_center, position.bottom_right], group = "Monthly Return Table settings ──────────────", inline = "0", display = display.none)
// 정밀도 및 글자 크기
int precision = input.int(2, "Precision", minval = 0, group = "Monthly Return Table settings ──────────────", inline = "1", display = display.none)
int textSize = input.int(12, "Text", minval = 0, group = "Monthly Return Table settings ──────────────", inline = "1", display = display.none, tooltip = "Text size 0 = Auto")
// 테이블 여백
int marginTop = input.int(0, "Top", minval = 0, group = "Margin", inline = "2", display = display.none)
int marginBottom = input.int(0, "Bottom", minval = 0, group = "Margin", inline = "2", display = display.none)
int marginLeft = input.int(0, "Left", minval = 0, group = "Margin", inline = "3", display = display.none)
int marginRight = input.int(0, "Right", minval = 0, group = "Margin", inline = "3", display = display.none)
// 테이블 색상 (헤더, 수익, 손실, 본전)
var color colorHead = input.color(#808080, title = "Head", group = "Color", inline = "1", display = display.none)
var color colorBull = input.color(#089981, title = "Bull", group = "Color", inline = "1", display = display.none)
var color colorBear = input.color(#F23645, title = "Bear", group = "Color", inline = "1", display = display.none)
var color colorZero = input.color(#808080, title = "Zero", group = "Color", inline = "1", display = display.none)
MonthlyReturnTable.get_table(mode, tablePosition, precision, textSize, marginTop, marginBottom, marginLeft, marginRight, colorHead, colorBull, colorBear, colorZero)
응용 방법
- mode라는 변수명이 기존 전략에서 중복 사용되었다면 dataType 등으로 변수명을 바꿉니다.
- 정밀도와 글자 크기, 색상 설정 삭제하기 - 정밀도와 글자 크기는 함수 인자의 중간에 있으므로, 중간에 있는 인자 삭제 후 그 뒤에 나오는 인자들은 함수를 불러올때 명시적으로 인자의 이름을 작성해주어야 합니다.
import CHULTOO/MonthlyReturnTable/1
// 출력 모드 및 테이블 위치
string dataType = input.string("ROI", title = "Mode", options = ["None", "ROI", "Profit", "MDD", "Trade"], group = "Monthly Return Table settings ──────────────", inline = "0", display = display.none)
string tablePosition = input.string(position.bottom_right, "Position", options = [position.top_left, position.top_center, position.top_right, position.middle_left, position.middle_center, position.middle_right, position.bottom_left, position.bottom_center, position.bottom_right], group = "Monthly Return Table settings ──────────────", inline = "0", display = display.none)
// 테이블 여백
int marginTop = input.int(0, "Top", minval = 0, group = "Margin", inline = "2", display = display.none)
int marginBottom = input.int(0, "Bottom", minval = 0, group = "Margin", inline = "2", display = display.none)
int marginLeft = input.int(0, "Left", minval = 0, group = "Margin", inline = "3", display = display.none)
int marginRight = input.int(0, "Right", minval = 0, group = "Margin", inline = "3", display = display.none)
MonthlyReturnTable.get_table(dataType, tablePosition, marginTop = marginTop, marginBottom = marginBottom, marginLeft = marginLeft, marginRight = marginRight)
Skin in the game
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.
Skin in the game
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.
