답변완료
트레이딩뷰 지표소스 검색식
트레이딩뷰 지표소스로 종목 검색식을 만들고 싶은데
가능할까요?
지표상 Buy 신호 종목 검색을 하고 싶습니다.
//@version=3
study(title="ATR Smoothed (By dysrupt)_BuySell version", shorttitle="ATR_SM_BuySell", overlay = true)
//Modifyed by @guikroth
////////////////////////////////////////////////////////////////////////////////INPUTS
nATRPeriod = input(21, "Period")
nATRMultip = input(6.3, "Multiplier",type=float, minval=0.5, maxval=1000, step=0.1)
/////////////////////////////////////////////////////////////////////////////////ATR
xATR = atr(nATRPeriod)
nLoss = nATRMultip * xATR
xATRTrailingStop = na
xATRTrailingStop :=
iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss),
iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss),
iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))
pos = na
pos :=
iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1,
iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0)))
color = pos == -1 ? red: pos == 1 ? lime : blue
//patr=plot(xATRTrailingStop, color=color, linewidth=2, title="ATR Trailing Stop", transp=0)
// Deternine if we are currently LONG
isLong = false
isLong := nz(isLong[1], false)
// Determine if we are currently SHORT
isShort = false
isShort := nz(isShort[1], false)
//Trading
// Buy only if the buy signal is triggered and we are not already long
LONG = not isLong and pos == 1
// Sell only if the sell signal is triggered and we are not already short
SHORT = not isShort and pos == -1
if (LONG)
isLong := true
isShort := false
if (SHORT)
isLong := false
isShort := true
barcolor(isLong ? lime : isShort ? red : na)
// Show Break Alerts
plotshape(SHORT, title="Sell", style=shape.labeldown, location=location.abovebar, size=size.normal, text="Sell", transp=0, textcolor = white, color=red, transp=0)
plotshape(LONG, title="Buy", style=shape.labelup, location=location.belowbar, size=size.normal, text="Buy", textcolor = white, color=green, transp=0)
// === /PLOTTING ===
// Send alert to TV alarm sub-system
alertcondition(LONG,title="Sell",message="Sell")
alertcondition(SHORT,title="BuY",message="Buy")
alertcondition(SHORT,title="BuY",message="Buy")
alertcondition(SHORT,title="BuY",message="Buy")
////////////////////////////////////////////////////////////////////////////////VWMA
len2 = input(100, minval=1, title="Smooth")
src = input(close, title="Source")
out = vwma(src, len2)
avg1=avg(out, xATRTrailingStop)
plot(avg1, color=aqua, transp=0, title="ATR")
2022-06-02
2207
글번호 159492
종목검색
답변완료
문의
도움 주셔서 감사드립니다.
아래 영웅문 수식 변환하여 종목검색에 활용하고자 합니다.
*수식*
a=(sum(if(C>C(1),1,0),Period)*sum(if(C>C(1),C-C(1),0),Period)/(sum(if(C>C(1),C-C(1),0),Period)+sum(if(C<C(1),C(1)-C,0),Period))-sum(if(C<C(1),1,0),Period)*sum(if(C<C(1),C(1)-C,0),Period)/(sum(if(C>C(1),C-C(1),0),Period)+sum(if(C<C(1),C(1)-C,0),Period)))/Period*100
*검색 조건*
a가 -50 이하인 종목 검색
2022-06-02
1316
글번호 159491
종목검색
답변완료
매도 청산식 문의 드립니다.
얼마전에 현물관련 분할매도 관련 시스템식을 요청드린적이 있었습니다.
그런데 해당식으로 적용했을때 적용이 안되는 경우가 있는데
이유를 찾을수가 없어 이렇게 글을 남깁니다.
요청드렸던 식은 아래와 같습니다.
위 그림파일을 보시면 1,2,3번 으로 동그라미를 쳐놨습니다.
1. 1번 동그라미에서 3%분할익절, 4% 분할일익절 청산이 되지 않은 이유가 궁금합니다.
2. 2번 동그라미에서는 아주 잘 적용 된것 같습니다. 이부분에선 질문이 없습니다.
3. 3번 동그라미에서는 B, C, D 에서 매수가 되었고, 3%에서 전량 매도청산되었는데, 해당부분에서는 4, 5, 7, 10%의 분할익절이 왜 적용안되었는지 궁금합니다.
확인부탁드리겠습니다.
그리고 항상 감사드립니다.
---------------------------------------------------------------
안녕하세요
예스스탁입니다.
예스랭귀지는 대소문자 구분하지 않습니다 h나 H나 같습니다.
#매수진입
if MarketPosition == 1 Then
{
#전봉대비 수량 감소(일부 청산발생을 위미)
if CurrentContracts < CurrentContracts[1] Then
{
#청산가 저장
var1 = LatestExitPrice(0);
#청산시간 저장
Var2 = TimeToMinutes(sTime);
}
#전봉대비 수량 증가(추가 진입발생을 의미)
if CurrentContracts > CurrentContracts[1] Then
{
#현재수량 저장
Var3 = CurrentContracts;
#고가 저장
Var4 = H;
}
#최근 진입후 최고가 계산
#현재봉 고가가 Var4보다 크면 Var4의 값을 현재봉 고가로 저장
if h > Var4 Then
Var4 = h;
#일부청산이 한번이상 발생하고
#현재 시간이 일부청산후 10분 이후이고
#종가가 청산가 보다 작으면
#전량 청산
if var1 > 0 and TimeToMinutes(sTime) >= Var2+10 and C < AvgEntryPrice then
ExitLong("bx");
#진입후 최고가가 평단가+3% 작으면
#평단가+3%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 40% 청산
if Var4 < AvgEntryPrice*1.03 Then
ExitLong("3%익절",AtLimit,AvgEntryPrice*1.03,"",Floor(Var3*0.40));
#진입후 최고가가 평단가+4% 작으면
#평단가+4%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 30% 청산
if Var4 < AvgEntryPrice*1.04 Then
ExitLong("4%익절",AtLimit,AvgEntryPrice*1.04,"",Floor(Var3*0.30));
#진입후 최고가가 평단가+5% 작으면
#평단가+5%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 10% 청산
if Var4 < AvgEntryPrice*1.05 Then
ExitLong("5%익절",AtLimit,AvgEntryPrice*1.05,"",Floor(Var3*0.10));
#진입후 최고가가 평단가+6% 작으면
#평단가+6%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 10% 청산
if Var4 < AvgEntryPrice*1.06 Then
ExitLong("7%익절",AtLimit,AvgEntryPrice*1.06,"",Floor(Var3*0.10));
#진입후 최고가가 평단가+10% 작으면
#평단가+10%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 전량 청산
if Var4 < AvgEntryPrice*1.10 Then
ExitLong("10%익절",AtLimit,AvgEntryPrice*1.10);
}
Else#매수진입중이 아니면
{
#변수 0으로 초기화
var1 = 0;
Var2 = 0;
}
2022-06-01
804
글번호 159488
시스템
답변완료
text 함수 좌표설정에 대해 .;..
Tx="무궁화꽃이피었습니다.";
var1 = Text_New(sDate, sTime, H, Tx);
Text_SetColor(var1, BLUE);
Text_SetStyle(var1, 1, 1);
Text_SetBold(var1, 1);
Text_SetSize(var1, 16);
위와같이 하여 좌표지점의 좌, 우, 상, 하 위치에 택스트를 표현하는 방법은 알겠습니다.
추가로 알고자 하는 것은
위 텍스트 좌표에서 좌측으로 이동시킬려면,
sTime[5]로 하면 같은 x축 산상에 봉의 5번째 앞의 위치로 되지요?.
그럼 봉의 뒷쪽.. 챠트의 여백위치에 표현하는 방법도 있는지 알고 싶습니다.
2022-06-01
1021
글번호 159485
지표
답변완료
막대 그래프 표현 방법..
그래프 종류에 점 선 막대 일자 등이 있는데..
막대 그래프 표현 방법에 대해 문의 드립니다.
특정지점에 고점과 저점을 잡아 막대 그래프를 그리려면
동일 시각에 고점의 값을 할당해 특정 색으로 막대그래프를 그린 다음에
저점에 값을 할당해서 배경색으로 또 막대 그래프를 주어 표현하고 있습니다.
그렇게 하면 고점과 저점값으로 막대그래프를 표현할 수 있는데
이때 저점에서 그려준 배경색의 막대 그래프 때문에
다른 것들이 덫칠해져서 챠트가 지저분해 지고 여러가지 애로사항이 있습니다.
그래서 질문의 요지는
특정시간, 특정위치에 막대 그래프를 표현하고자 할 때
고점과 저점 사이에만 막대그래프가 만들어지게 하는 방법은 없는지..
현제까지 제가 아는 것은 막대그래프는 그냥 값을 지정하면
0부터 ~ 값까지 막대그래프가 그려지니까..
그것 아랫부분에 그려지는 모든 것들에 선과봉챠트 등 간섭? 을 받아
여러가지 보안작업이 필요한거 같습니다.
고점과 저점값을 지정하면
그 사이에만 막대그래프가 그려지는 그런 깔끔한 방법이 없을까요??
참고로 제가 하는 방법은 아래와 같습니다...
(시가 종가를 이용한 막대그래프를 표현하는 방법)
Plot87(iff(O > C, O, C), "oc", iff(O > C, 색1, 색4), def, 8);
#막대그래프로 설정
Plot88(iff(O > C, C, O), "co", 바탕색, def, 8);
#막대그래프로 설정
2022-06-01
1342
글번호 159484
지표