커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

종목 검색식 변환 부탁드립니다

안녕하세요 종목 검색식 변환 부탁드립니다 이동 = eavg(C,60); L(26)>C(1) && C> O && V(25)*1.29 < V && Crossup(C, H(25)) && Crossup(C, 이동)
프로필 이미지
신의천기사
2025-02-23
434
글번호 188452
종목검색
답변완료

지표좀 수정 부탁 드립니다.(2건)

* 항상 많은 도움 고맙습니다. * 지표 수정 좀 요청 드립니다 <요청1> 아래 수식에서 소리음 수정 좀 요청 드림니다. 소리가 안남니다. ## 강조 input : len(10),len2(10); var : oo(0),cc(0),hh(0),ll(0); var : haclose(0),haopen(0),hahigh(0),halow(0); var : o2(0),c2(0),h2(0),l2(0); oo=ema(open,len); cc=ema(close,len); hh=ema(high,len); ll=ema(low,len); haclose = (oo+hh+ll+cc)/4; haopen = iff(IsNaN(haopen[1]) == true,(oo + cc)/2 , (haopen[1] + haclose[1]) / 2); hahigh = max(h, max(haopen,haclose)); halow = min(l, min(haopen,haclose)); o2=ema(haopen, len2); c2=ema(haclose, len2); h2=ema(hahigh, len2); l2=ema(halow, len2); PlotPaintBar(h2,l2,c2,o2,"강조",IFf(C2>O2,Lime,Red)); { PlotPaintBar(h2,l2,c2,o2,"강조",IFf(C2>O2,Rgb(255,0,0),Rgb(0,255,0)),Def,2); if CountIf(var25 == var25[1],1) == 1 and var25 != var25[1] Then PlaySound("C:KiwoomGlobalsoundsound1.wav"); } 여기에서 색상(Lime,Red)이 변경 될때 COUNDIF 로 1봉 까지만 소리음 나도록 수정좀 요청 드립니다. <요청2> 수식 좀 부 탁 드림니다. (그림 첨부부분) ㅇ 양봉박스 그리기 - 이전 200봉(변수) 기준 - 양봉의 긴몸통 봉 이 발생 하면(30틱이상(변수), 꼬리제외)(그림1) - 긴몸통의 전봉 고점과 다음봉 저점을 박스로 표현(그림2) → 전봉과 다음봉은 음봉 양봉 관계 없음 → 전봉과 다음봉이 겹칠수 있기에 전봉 고가 기준 기본 10틱 박스그리기 기본 - 박스길이는 다음가격이 박스권 하단 보다 작으면 박스 종료(사진2) * 박스채우기 색상: RGB(255,255,0) 박스선 색상 : RGB(255,0,0) 박스선 굵기 : 2 ㅇ 음봉박스 그리기 - 이전 200봉(변수) 기준 - 음봉의 긴몸통 봉 이 발생 하면(30틱이상(변수), 꼬리제외)(그림1) - 긴몸통의 전봉 고점과 다음봉 저점을 박스로 표현(그림2) → 전봉과 다음봉은 음봉 양봉 관계 없음 → 전봉과 다음봉이 겹칠수 있기에 전봉 고가 기준 기본 10틱 박스그리기 기본 - 박스길이는 다음가격이 박스권 하단 보다 작으면 박스 종료(사진2) * 박스채우기 색상: RGB(0,255,0) 박스선 색상 : RGB(255,0,0) 빅스선 굵기 : 2 * 항상 큰 도움에 고맙습니다. 수고하십시요.
프로필 이미지
요타
2025-02-24
437
글번호 188451
지표
답변완료

종목검색식 부탁드림니다.

항상 노고에 감사드림니다. 아래의 수식을 종목검색식으로 부탁드림니다. A= EAVG(C, 기간); B= DEMA(C, 기간); B1= TEMA(C, 기간); Crossup(A,B) 지표변수 기간 20 시가총액이 1000억이상인 종목검색식도 부탁드림니다.
프로필 이미지
존슨비치
2025-02-23
397
글번호 188450
종목검색
답변완료

Upvol 과 Downvol 을 1시간 단위로 누적하여 plotting 하고 싶습니다

항상 도움 주심에 감사합니다. 아래는 Upvol 과 Downvol 의 차이를 누적하는 것입니다. 이것을 1시간 단위로 누적하여 표현하고 싶습니다. 예를 들어 08:45 에 장개시 시작하여 09:44:59 까지 누적 09:45 ~ 10:44:59 누적 : : 14:45 ~ 15:44:49 까지 누적 도움 부탁합니다. ============================ Var: 상하거래량(0),잔량색(0); 상하거래량=Var3; if Bdate != Bdate[1] Then { var1 = 0; Var2 = 0; } var1 = var1+Upvol; Var2 = Var2+DownVol; Var3 = var1-Var2;
프로필 이미지
ycchoi17
2025-02-22
387
글번호 188449
지표
답변완료

검색식 부탁 드립니다._(__)_

항상 도와주심에 감사드립니다. _(__)_ 0봉전 기준으로 가장 최근 시점의 20일선과 60일선의 골든크로스라인을 재돌파하는 종목검색 식을 부탁드립니다.
프로필 이미지
한칼부르스
2025-02-22
389
글번호 188448
종목검색
답변완료

시스템를 부탁드립니다...

선물 2분봉 장시작시 전일 마지막 매수매도 시스템 신호가 오늘 시가시 변함 없다면 전일 마지막신호가 매수이면 매수신호를 매도이면 매도신호를 시가봉에 한번더 표시할수있었으면 좋겠습니다..감사합니다.
프로필 이미지
미우
2025-02-22
360
글번호 188447
시스템
답변완료

수식 부탁드립니다.

항상 도움주셔서 감사합니다. 트레이딩뷰에 있는 선행예상지표입니다. 예스트레이더 지표수식과 종목검색 부탁드립니다. // This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/ // &#169; LuxAlgo //@version=5 indicator("Echo Forecast [LuxAlgo]","LuxAlgo - ECHO", overlay = true, max_bars_back = 1000, max_lines_count = 200) //-----------------------------------------------------------------------------} //Settings //-----------------------------------------------------------------------------{ length = input.int(50, 'Evaluation Window', minval = 0, maxval = 200) fcast = input.int(50, 'Forecast Window', minval = 1, maxval = 200) fmode = input.string('Similarity', 'Forecast Mode', options = ['Similarity','Dissimilarity']) cmode = input.string('Cumulative', 'Forecast Construction', options = ['Cumulative','Mean','Linreg']) src = input(close) //Style fcastCss = input(#2157f3, 'Forecast Style', inline = 'fcast_style', group = 'Style') fcastStyle = input.string('· · ·', '', options = ['──','- - -','· · ·'], inline = 'fcast_style', group = 'Style') showArea = input(true,'Show Area', inline = 'areas', group = 'Style') refArea = input(color.new(#ff5d00, 80), '', inline = 'areas', group = 'Style') corrArea = input(color.new(#089981, 80), '', inline = 'areas', group = 'Style') evalArea = input(color.new(color.gray, 80),'', inline = 'areas', group = 'Style') //-----------------------------------------------------------------------------} //Populate line arrays //-----------------------------------------------------------------------------{ var lines = array.new_line(0) if barstate.isfirst for i = 0 to fcast-1 array.push(lines,line.new(na,na,na,na , style = fcastStyle == '- - -' ? line.style_dashed : fcastStyle == '· · ·' ? line.style_dotted : line.style_solid , color = fcastCss)) //-----------------------------------------------------------------------------} //Calculations //-----------------------------------------------------------------------------{ var eval_window = box.new(na,na,na,na,na, bgcolor = evalArea) var ref_window = box.new(na,na,na,na,na, bgcolor = refArea) var corr_window = box.new(na,na,na,na,na, bgcolor = corrArea) n = bar_index d = src - src[1] //Get range maximum/minimum top = ta.highest(src, length + fcast * 2) btm = ta.lowest(src, length + fcast * 2) //Set forecast if barstate.islast k = 0 float val = na A = array.new_float(0) //Calculation window X = array.new_int(0) //Linreg independant variable //Populate calculation window for i = 0 to fcast*2+length A.push(src[i]) //Populate independant variable array if cmode == 'Linreg' X.push(n[i]) a = A.slice(0, fcast-1) //Reference window //Find window to produce forecast for i = 0 to length-1 b = A.slice(fcast + i, fcast * 2 + i - 1) //Evaluation window r = a.covariance(b) / (a.stdev() * b.stdev()) //Correlation //Maximization or minimization problem if fmode == 'Similarity' val := r >= nz(val, r) ? r : val else val := r <= nz(val, r) ? r : val k := val == r ? i : k //Set ECHO prev = src current = src for i = 0 to fcast-1 e = d[fcast + k + (fcast-i-1)] //Get forecast point if cmode == 'Mean' current := array.avg(a) + e else if cmode == 'Linreg' a = A.slice(0, fcast) x = X.slice(0, fcast) alpha = a.covariance(x) / x.variance() beta = a.avg() - alpha * x.avg() current := alpha * (n + i + 1) + beta + e else current += e l = lines.get(i) l.set_xy1(n+i, prev) l.set_xy2(n+i+1, current) prev := current //Set areas if showArea //Evaluation window eval_window.set_lefttop(n-length-fcast*2+1, top) eval_window.set_rightbottom(n-fcast+1, btm) //Reference window ref_window.set_lefttop(n-fcast+1, top) ref_window.set_rightbottom(n, btm) //Correlation window corr_window.set_lefttop(n-k-fcast*2+1, top) corr_window.set_rightbottom(n-k-fcast, btm) //-----------------------------------------------------------------------------} 부탁드립니다.
프로필 이미지
영희훈
2025-02-22
471
글번호 188446
지표

파워 님에 의해서 삭제되었습니다.

프로필 이미지
파워
2025-02-22
434
글번호 188445
지표
답변완료

질문

안녕하세요... 조건검색시 Ema(C,240)과 같은 1년이나 2년 이동평균 등을 사용해 수식을 작성하고 있습니다. 혹은, 일목균형표의 기간을 기존보다 늘려서 사용하고 있습니다. 검색에 필요한 최소기간은 500봉으로 설정했습니다. 그러면, 클로봇, RF시스템즈, 닷밀 같이 최근에 상장한 종목들이 검색에서 제외되는 것 같습니다. 혹시 이런 종목들을 기존 종목들과 함께 검색되게 하려면 어떻게 하면 될까요? 가능하면 condtion=~ 의 수식을 사용했으면 하는데 가능할런지요? 늘 감사합니다. 좋은 하루보내세요.
프로필 이미지
이루나라
2025-02-23
421
글번호 188444
종목검색
답변완료

시스템 트레이딩 수식 변환 부탁드립니다

지난번에 문의를 드렸지만 제대로 구현이 되지 않아서 전략을 설명하는 이미지와 전략을 구현한 파인스크립트 소스를 첨부드립니다. 또한 덧붙인 추가적인 예외 상황까지 참고하시어 예스랭기지로 변환 부탁드리겠습니다. ①롱 진입 : 100일 이평선을 상향 돌파 마감한 캔들의 시초가를 기준점으로 설정, 다음 캔들부터 +100틱에서 롱 포지션 진입.(그림1) ②숏 진입 : 200일 이평선을 하향 돌파 마감한 캔들의 시초가를 기준점으로 설정, 다음 캔들부터 -100틱에서 숏 포지션 진입.(그림2) ③기존 포지션이 있을 경우, 진입 조건을 만족해도 추가로 진입하지 않음. ④익절과 손절은 각각 100틱 ⑤나스닥 100 선물 1계약 [추가 상황] 기준 이평선 돌파 캔들(X)의 시가와 종가의 갭이 +-100틱을 넘어설 경우, X 캔들의 다음 캔들(X+1)부터 X 캔들의 시초가 +-100틱 지점을 지정가로 포지션 진입. -롱 : A 캔들이 100일 이평 상향 돌파 마감. A캔들 시초가 10,000, 종가 10,100 가정했을 때, A+1 캔들부터 +100틱인 10,025에서 지정가로 포지션 진입(그림3) -숏 : B 캔들이 200일 이평 하향 돌파 마감. B캔들 시초가 10,000, 종가 9,000 가정했을 때, B+1 캔들부터 -100틱인 9,975에서 지정가로 포지션 진입(그림4) //@version=5 strategy("Auto Trading", overlay=true) // 설정 변수 lengthLong = 100 lengthShort = 200 tickSize = syminfo.mintick tickOffset = 100 * tickSize tp_sl_ticks = 100 * tickSize // 이동평균선 계산 ma100 = ta.sma(close, lengthLong) ma200 = ta.sma(close, lengthShort) // 캔들 정보 prevOpen = ta.valuewhen(close > ma100 and ta.crossover(close, ma100), open, 0) shortPrevOpen = ta.valuewhen(close < ma200 and ta.crossunder(close, ma200), open, 0) // 진입 가격 계산 longEntryPrice = prevOpen + tickOffset shortEntryPrice = shortPrevOpen - tickOffset // 포지션 보유 여부 확인 hasPosition = strategy.position_size != 0 // 롱 진입 조건 (기존 포지션 없고, 조건 충족 시) longCondition = not hasPosition and ta.crossover(close, ma100) if (longCondition) strategy.entry("Long", strategy.long, qty=1, stop=longEntryPrice) strategy.exit("Long TP/SL", from_entry="Long", limit=longEntryPrice + tp_sl_ticks, stop=longEntryPrice - tp_sl_ticks) // 숏 진입 조건 (기존 포지션 없고, 조건 충족 시) shortCondition = not hasPosition and ta.crossunder(close, ma200) if (shortCondition) strategy.entry("Short", strategy.short, qty=1, stop=shortEntryPrice) strategy.exit("Short TP/SL", from_entry="Short", limit=shortEntryPrice - tp_sl_ticks, stop=shortEntryPrice + tp_sl_ticks)
프로필 이미지
codeblue
2025-02-24
440
글번호 188443
시스템