반응형

파인스크립트 12

파인스크립트 두개의 타임프레임의 비교하기 (request.security)

strategy("두개의 타임프레임")rsi = ta.rsi(close, 14)rsi_1d = request.security(syminfo.tickerid, "1D", rsi)rsi_1h = request.security(syminfo.tickerid, "60", rsi)plot(rsi_1d, color = color.green)plot(rsi_1h, color = color.yellow)//여러개를 한번에 가져오는 것도 가능함.[rsi_1d, low_1d, high_1d] = request.security(syminfo.tickerid, "1D", [rsi, low, high])//이렇게 하면 현재 보고있는 티커의 타임프레임의 데이터를 가져온다[rsi_1d, low_1d, high_1d] = reque..

파인스크립트 2024.09.07

파인스크립트 - 거미줄 주문 방법

rsi = ta.rsi(close, 14)if rsi 30    strategy.entry("롱", strategy.long)if strategy.position_size == 0    strategy.exit("종료1", "롱", limit = close * 1.01, qty_percent = 33)    strategy.exit("종료2", "롱", limit = close * 1.02, qty_percent = 33)    strategy.exit("종료3", "롱", limit = close * 1.03)  // 남은 수량 주문 //가장 중요한 점은  exit의 id를 다르게 해야한다. //평단가가 아닌 close를 하는 이유는 파인스크립트 특성상 봉종료(또는 봉종가)로 들어가기 때문이다.

파인스크립트 2024.09.05

파인스크립트 시간 (백테스팅 시작 날짜 조정하기)

매매 횟수가 너무 많아서 분석이 어렵거나 특정 날짜 이후의 백테스팅 결과만 보기 원할때는 진입 조건에 특정 날짜보다 클때만 진입하도록 할 수 있다. target_time = input.time(timestamp("2024-03-01"), title="시작 날짜 선택")if time >= target_time //timestamp("2024-03-01") strategy.entry("롱", strategy.long, qty = 1, stop = 65000, limit = 60000)

파인스크립트 2024.09.05

파인스크립트 strategy.entry의 stop, limit

strategy("스탑리밋", overlay = true)if time >= timestamp("2024-03-01") //특정구간 이후로 잘 작동되는지 확인하기 위하여 strategy.entry("long", strategy.long, qty = 1, stop = 65000, limit = 60000) if strategy.position_size == 0 strategy.exit("종료", "long", limit = 65000) strategy.entry("long", strategy.long, qty = 1, stop = 65000, limit = 60000) 65000을 터치하면 60000에 지정가 주문이 발동된다. 그리고 65000에 매도 상승장이나 하락장보다는 횡보..

파인스크립트 2024.09.05

파인스크립트 분할 매도

70%, 30% 이런 형태의 분할이 아닌 균등분할 (2분할, 3분할, 4분할 일 경우) 소스코드strategy("분할매도", overlay = false)rsi = ta.rsi(close, 14)is_long = ta.crossunder(rsi, 30)is_long_close = ta.crossover(rsi, 70)if is_long strategy.entry("long", strategy.long)if is_long_close strategy.close("long", qty_percent = 100/(2-strategy.closedtrades%2))//2분할을 기준으로 설명하면 기존 종료된 봉수를 2로 나는고 2에서 뺀다. 기존종료봉이 없는 경우라면// 100/(2-0) , 기존종료봉이 ..

파인스크립트 2024.09.04

라벨그리기

rsi 값을 차트에 라벨 형태로 그리는 방법trategy("라벨", overlay = true)rsi =ta.rsi(close, 14)if chart.left_visible_bar_time  트레이딩뷰에서는 최대 50개까지만 라벨이 보인다. 따라서 현재 보이고 있는 차트영역에서만 표시해주는 방식으로 아래와 같이 제한을 둔다. 이를 응용하면 마지막 50개 봉에만 표시 뭐 이런식으로도 가능하다.// 차트에 보이는 영역if chart.left_visible_bar_time = first_bar_index_to_label label.new(bar_index, high, str.tostring(rsi, "#.#"), color=color.orange, textcolor=color.white)

파인스크립트 2024.09.04

strategy 설정

strategy("strategy 설정", shorttitle = "설정", overlay = true, initial_capital = 100, currency = currency.USDT, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 1, commission_type = strategy.commission.percent, commission_value = 0.01) "strategy 설정" >  제목shorttitle = "설정" >  숏 타이틀  아래와 같이 변경된다. 큰 의미는 없다. 미설정시에서는 타이틀이 숏타이틀이 된다. overlay = true , 차트위에 데이터를 그릴 것인지 여..

파인스크립트 2024.09.03

지정가 주문 _1

strategy("지정가주문", overlay = true)entry_price = close * 0.98 strategy.entry("long", strategy.long , limit = entry_price) plot(entry_price) - 현재가에서 2% 떨어졌을 때 롱 매수 주문 (2% 이상 떨어지지 않는다면 매수 실행되지 않음) 높은 가격에 매수주문을 넣으려면?strategy.entry("long", strategy.long , stop = entry_price)- limit을 stop으로 변경한다. 숏의 경우에도 원리는 동일하다. limit와 stop이 헷갈릴 수 있는데 진입했을 때 더 유리한 경우가 limit라고 생각하면 쉽다.숏은 높은가격에 진입하는 것이 더 유리하므로 높은 가격..

파인스크립트 2024.09.03

strategy.exit 와 strategy.close의 차이

파인스크립트에서 strategy.exit 와 strategy.close 둘 다 포지션을 종료하는데 사용된다는 것은 동일하지만 동작방식에는 차이가 있다.  1. strategy.closestrategy.entry("매수", strategy.long)if (close > 100) strategy.close("매수")- 종가가 100보다 크면 롱포지션이 종료된다.- 즉 무조건 포지션이 종료된다. 시장가주문 2.strategy.exitstrategy.entry("매수", strategy.long)strategy.exit("종료", "매수", stop = 100, limit = 120) - 가격이 100이하로 떨어지거나 120이상 상승할때 포지션이 익절(손절)되어 종료된다.- 특정 조건을 충족할때 포지션이 ..

파인스크립트 2024.09.03

파인스크립트rsi_3

▷파인스크립트rsi_1 ▷ 파인스크립트rsi_2 작성한 전략을 실행 후 차트를 보면 해당 봉의 종가가 아닌 다음봉의 시가에 들어간 것을 확인할 수 있다. rsi가 30 아래로 내려갈 때 롱진입 시직전봉에서 29.6으로 rsi가 마감된 것을 확인 후 다음봉 시가에 들어간다. 파인스크립트는 종가 마감 시 실행되는 것이 default strategy("RSI 전략", initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, process_orders_on_close = true)다음봉 시가가 아닌 해당봉 종가에 들어가는 것을 원할 경우strategy에 아래의 내용을 추가시킨다.process_or..

파인스크립트 2024.09.03
반응형