커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
3651
글번호 230811
지표
답변완료

문의 드립니다.

안녕하세요 날씨가 쌀쌀한 요즘 감기 조심하세요.. 기존에 수식에 한가지를 더 추가하고 싶어서 문의 남깁니다. 첨부한 그림처럼.. 검은색 선이 꺽이는 지점에 수평으로 선을 더 넣고 싶습니다. 수평으로 연결되는선은 계속 연결되는 것이 아니라 20봉정도 보이게 하고 싶습니다. 또한 수평으로 보이는 선을 변수에서 조종할수 있었으면 좋겠습니다. 그리고 차트표시에서 검은색선과 새로이 만들어 달라는 선을 표시하거나 안표시 할수 있게 해주시면 감사하겠습니다. 기존 수식입니다. Input:chngRate(0.1); Var:j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); For j = 0 To 9 { barArr[j] = barArr[j] + 1; } Condition1 = Min(valArr[1],valArr[2]) * (1 + (chngRate/100)) < H and lastHiVal < H; Condition2 = Max(valArr[1],valArr[2]) * (1 - (chngRate/100)) > L and (lastLoVal > L || lastLoVal == 0); If Condition1 Then { lastHiVal = H; lastLoVal = 0; } If Condition2 Then { lastLoVal = L; lastHiVal = 0; } turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; If turnPntBit <> "" Then { If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H,L); barArr[1] = 0; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } If turnPntBit <> turnPntArr[1] Then { for j = 8 downto 1 { valArr[j+1] = valArr[j]; barArr[j+1] = barArr[j]; turnPntArr[j+1] = turnPntArr[j]; } } If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H) or (turnPntBit == "Lo" and valArr[1] > L))) Then { valArr[1] = IFF(turnPntBit == "Hi",H,L); barArr[1] = 0; turnPntArr[1] = turnPntBit; If turnPntArr[1][1] <> turnPntArr[1][0] Then{ TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]); if turnPntArr[1][0]=="Hi" Then{ } if turnPntArr[1][0] =="Lo" Then{ } } Else TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); } } TL_SetSize(TL1,1); TL_SetColor(TL1,black);
프로필 이미지
로꼬로꼬
2020-10-11
794
글번호 142974
지표
답변완료

지표작성법 부탁드립니다

지표명 : 박스권 상하단 표시 아래 지표설정법과 종목검색식(당일 캔들이 박스 상단 돌파한 종목검색) 작성부탁드립니다. 수식오류메시지가 나와서 지표 저장이 나오지 않습니다. 1.상단(수식1) TOP= HIGHEST(H,기간); LO=LOWEST(L,기간); DOUBLE=VALUEWHEN(1,H>TOP(1),H); VALUEWHEN(1,BARSSINCE(H>TOP(1))==(기간-R),DOUBLE) 2.하단(수식2) TOP= HIGHEST(H,기간); LO=LOWEST(L,기간); DOUBLE=VALUEWHEN(1,H>TOP(1),H); VALUEWHEN(1,BARSSINCE(H>TOP(1))==(기간-R),LO) 3.지표설정 > 기간 45, R 2 4.스케일 > 가격
프로필 이미지
파워
2020-10-11
633
글번호 142973
지표
답변완료

색상지정

늘 감사합니다. 아래 수식에서 var : V1(0,data1),V2(0,data1),v3(0,data1),v4(0,data1); if data1(V > 50000) Then{ v1 = data1(O); v2 = data1(H); v3 = data1(L); v4 = data1(C); } if v1 > 0 and v2 > 0 and v3 > 0 and v4 > 0 Then{ plot11(v1,"시가"); plot12(v2,"고가"); plot13(v3,"저가"); plot14(v4,"종가"); plot14(v4,"종가");의 값이 양봉이면 빨간색선으로 plot14(v4,"종가");의 값이 음봉이면 파란색선으로 표시해 주세요. 감사합니다.
프로필 이미지
상암동
2020-10-10
604
글번호 142972
지표

2wnwn 님에 의해서 삭제되었습니다.

프로필 이미지
2wnwn
2020-10-12
37
글번호 142971
시스템
답변완료

문의드립니다.

그림은 당일 시,고 ,저점을 표시한 선입니다. 그런데 전일 시, 고, 저점의 선때문에 당일 차트가 위쪽으로 몰리는 현상이 나타나는데요... 당일 시, 고 , 저점을 나타내는 지표만 부탁합니다. *** 당일 시, 고 , 저점이 표시되면 전일 시, 고 ,저점은 표시되지 않도록 부탁합니다. ====================================================================== 아래수식을 예스로 부탁합니다. src = input(title="Source", defval=close) alpha = input(title="Alpha", type=float, minval=0, maxval=1, step=0.1, defval=0.2) colorchange = input(title="Change Color ?", type=bool, defval=false) gamma=1-alpha L0 = 0.0 L0 := (1-gamma) * src + gamma * nz(L0[1]) L1 = 0.0 L1 := -gamma * L0 + nz(L0[1]) + gamma * nz(L1[1]) L2 = 0.0 L2 := -gamma * L1 + nz(L1[1]) + gamma * nz(L2[1]) L3 = 0.0 L3 := -gamma * L2 + nz(L2[1]) + gamma * nz(L3[1]) cu= (L0>L1 ? L0-L1 : 0) + (L1>L2 ? L1-L2 : 0) + (L2>L3 ? L2-L3 : 0) cd= (L0<L1 ? L1-L0 : 0) + (L1<L2 ? L2-L1 : 0) + (L2<L3 ? L3-L2 : 0) temp= cu+cd==0 ? -1 : cu+cd LaRSI=temp==-1 ? 0 : cu/temp Color = colorchange ? (LaRSI > LaRSI[1] ? green : red) : blue plot(100*LaRSI, title="LaRSI", linewidth=2, color=Color, transp=0) plot(20,linewidth=1, color=maroon, transp=0) plot(80,linewidth=1, color=maroon, transp=0) ======================================================================= T3FiboLine = input(false, title="Show T3 Fibonacci Ratio Line?") length1 = input(8, "T3 Length") a1 = input(0.7, "Volume Factor") e1 = ema((high + low + 2 * close) / 4, length1) e2 = ema(e1, length1) e3 = ema(e2, length1) e4 = ema(e3, length1) e5 = ema(e4, length1) e6 = ema(e5, length1) c1 = -a1 * a1 * a1 c2 = 3 * a1 * a1 + 3 * a1 * a1 * a1 c3 = -6 * a1 * a1 - 3 * a1 - 3 * a1 * a1 * a1 c4 = 1 + 3 * a1 + a1 * a1 * a1 + 3 * a1 * a1 T3 = c1 * e6 + c2 * e5 + c3 * e4 + c4 * e3 col1 = T3 > T3[1] col3 = T3 < T3[1] color_1 = col1 ? color.green : col3 ? color.red : color.yellow plot(T3, color=color_1, linewidth=3, title="T3") length12 = input(5, "T3 Length fibo") a12 = input(0.618, "Volume Factor fibo") e12 = ema((high + low + 2 * close) / 4, length12) e22 = ema(e12, length12) e32 = ema(e22, length12) e42 = ema(e32, length12) e52 = ema(e42, length12) e62 = ema(e52, length12) c12 = -a12 * a12 * a12 c22 = 3 * a12 * a12 + 3 * a12 * a12 * a12 c32 = -6 * a12 * a12 - 3 * a12 - 3 * a12 * a12 * a12 c42 = 1 + 3 * a12 + a12 * a12 * a12 + 3 * a12 * a12 T32 = c12 * e62 + c22 * e52 + c32 * e42 + c42 * e32 col12 = T32 > T32[1] col32 = T32 < T32[1] color2 = col12 ? color.blue : col32 ? color.purple : color.yellow plot(T3FiboLine and T32 ? T32 : na, color=color2, linewidth=2, title="T3fibo") alertcondition(crossover(T3, T3[1]), title="T3 BUY", message="T3 BUY!") alertcondition(crossunder(T3, T3[1]), title="T3 SELL", message="T3 SELL!") alertcondition(cross(T3, T3[1]), title="Color ALARM", message="T3 has changed color!")
프로필 이미지
as8282
2020-10-11
798
글번호 142970
지표
답변완료

부탁드립니다.

// This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License https://creativecommons.org/licenses/by-sa/4.0/ // &copy; LuxAlgo //@version = 4 study(title=" Support and Resistance Levels with Breaks",shorttitle = " Support and Resistance Levels with Breaks", overlay = true , max_bars_back=1000) // toggleBreaks = input(true, title = "Show Breaks" ) leftBars = input(15, title = "Left Bars ") rightBars = input(12, title = "Right Bars") volumeThresh = input(20, title = "Volume Threshold") // highUsePivot = fixnan(pivothigh(leftBars, rightBars)[1]) lowUsePivot = fixnan(pivotlow(leftBars, rightBars)[1]) r1 = plot(highUsePivot, color=change(highUsePivot) ? na : #FF0000, linewidth=3, offset=-(rightBars+1), title="Resistance") s1 = plot(lowUsePivot, color=change(lowUsePivot) ? na : #233dee, linewidth=3, offset=-(rightBars+1), title="Support") //Volume % short = ema(volume, 5) long = ema(volume, 10) osc = 100 * (short - long) / long //For breaks with volume plotshape(toggleBreaks and crossunder(close,lowUsePivot) and not (open - close < high - open) and osc > volumeThresh, title = "Break", text = 'B', style = shape.labeldown, location = location.abovebar, color= color.red,textcolor = color.white, transp = 0, size = size.tiny) plotshape(toggleBreaks and crossover(close,highUsePivot ) and not(open - low > close - open) and osc > volumeThresh, title = "Break", text = 'B', style = shape.labelup, location = location.belowbar, color= color.green,textcolor = color.white, transp = 0, size = size.tiny) //For bull / bear wicks plotshape(toggleBreaks and crossover(close,highUsePivot ) and open - low > close - open , title = "Break", text = 'Bull Wick', style = shape.labelup, location = location.belowbar, color= color.green,textcolor = color.white, transp = 0, size = size.tiny) plotshape(toggleBreaks and crossunder(close,lowUsePivot) and open - close < high - open , title = "Break", text = 'Bear Wick', style = shape.labeldown, location = location.abovebar, color= color.red,textcolor = color.white, transp = 0, size = size.tiny) alertcondition(crossunder(close,lowUsePivot) and osc > volumeThresh , title = "Support Broken" , message = "Support Broken") alertcondition(crossover(close,highUsePivot) and osc > volumeThresh, title = "Resistance Broken" , message = "Resistance Broken") ======================================================================================= // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // &copy; LonesomeTheBlue //@version=4 study("Support Resistance - Aging [Example]", overlay = true) prd = input(defval = 20, title="Pivot Period", minval = 4, maxval = 50) src = input(defval = 'High/Low', title = "Source", options = ['High/Low', 'Close/Open']) backcolor = input(defval = "Black", title = "Background color", options = ["Black", "White"]) var float ph = na var float pl = na srch = src == 'High/Low' ? high : max(close, open) srcl = src == 'High/Low' ? low : min(close, open) ph := highestbars(srch, prd) == 0 ? srch : na pl := lowestbars(srcl, prd) == 0 ? srcl : na var col_array = array.new_color(128) if barstate.isfirst array.set(col_array, 0, #ffffff), array.set(col_array, 1, #fdfdfd), array.set(col_array, 2, #fbfbfb), array.set(col_array, 3, #f9f9f9), array.set(col_array, 4, #f7f7f7), array.set(col_array, 5, #f5f5f5), array.set(col_array, 6, #f3f3f3), array.set(col_array, 7, #f1f1f1), array.set(col_array, 8, #efefef), array.set(col_array, 9, #ededed), array.set(col_array, 10, #ebebeb), array.set(col_array, 11, #e9e9e9), array.set(col_array, 12, #e7e7e7), array.set(col_array, 13, #e5e5e5), array.set(col_array, 14, #e3e3e3), array.set(col_array, 15, #e1e1e1), array.set(col_array, 16, #dfdfdf), array.set(col_array, 17, #dddddd), array.set(col_array, 18, #dbdbdb), array.set(col_array, 19, #d9d9d9), array.set(col_array, 20, #d7d7d7), array.set(col_array, 21, #d5d5d5), array.set(col_array, 22, #d3d3d3), array.set(col_array, 23, #d1d1d1), array.set(col_array, 24, #cfcfcf), array.set(col_array, 25, #cdcdcd), array.set(col_array, 26, #cbcbcb), array.set(col_array, 27, #c9c9c9), array.set(col_array, 28, #c7c7c7), array.set(col_array, 29, #c5c5c5), array.set(col_array, 30, #c3c3c3), array.set(col_array, 31, #c1c1c1), array.set(col_array, 32, #bfbfbf), array.set(col_array, 33, #bdbdbd), array.set(col_array, 34, #bbbbbb), array.set(col_array, 35, #b9b9b9), array.set(col_array, 36, #b7b7b7), array.set(col_array, 37, #b5b5b5), array.set(col_array, 38, #b3b3b3), array.set(col_array, 39, #b1b1b1), array.set(col_array, 40, #afafaf), array.set(col_array, 41, #adadad), array.set(col_array, 42, #ababab), array.set(col_array, 43, #a9a9a9), array.set(col_array, 44, #a7a7a7), array.set(col_array, 45, #a5a5a5), array.set(col_array, 46, #a3a3a3), array.set(col_array, 47, #a1a1a1), array.set(col_array, 48, #9f9f9f), array.set(col_array, 49, #9d9d9d), array.set(col_array, 50, #9b9b9b), array.set(col_array, 51, #999999), array.set(col_array, 52, #979797), array.set(col_array, 53, #959595), array.set(col_array, 54, #939393), array.set(col_array, 55, #919191), array.set(col_array, 56, #8f8f8f), array.set(col_array, 57, #8d8d8d), array.set(col_array, 58, #8b8b8b), array.set(col_array, 59, #898989), array.set(col_array, 60, #878787), array.set(col_array, 61, #858585), array.set(col_array, 62, #838383), array.set(col_array, 63, #818181), array.set(col_array, 64, #7f7f7f), array.set(col_array, 65, #7d7d7d), array.set(col_array, 66, #7b7b7b), array.set(col_array, 67, #797979), array.set(col_array, 68, #777777), array.set(col_array, 69, #757575), array.set(col_array, 70, #737373), array.set(col_array, 71, #717171), array.set(col_array, 72, #6f6f6f), array.set(col_array, 73, #6d6d6d), array.set(col_array, 74, #6b6b6b), array.set(col_array, 75, #696969), array.set(col_array, 76, #676767), array.set(col_array, 77, #656565), array.set(col_array, 78, #636363), array.set(col_array, 79, #616161), array.set(col_array, 80, #5f5f5f), array.set(col_array, 81, #5d5d5d), array.set(col_array, 82, #5b5b5b), array.set(col_array, 83, #595959), array.set(col_array, 84, #575757), array.set(col_array, 85, #555555), array.set(col_array, 86, #535353), array.set(col_array, 87, #515151), array.set(col_array, 88, #4f4f4f), array.set(col_array, 89, #4d4d4d), array.set(col_array, 90, #4b4b4b), array.set(col_array, 91, #494949), array.set(col_array, 92, #474747), array.set(col_array, 93, #454545), array.set(col_array, 94, #434343), array.set(col_array, 95, #414141), array.set(col_array, 96, #3f3f3f), array.set(col_array, 97, #3d3d3d), array.set(col_array, 98, #3b3b3b), array.set(col_array, 99, #393939), array.set(col_array, 100, #373737), array.set(col_array, 101, #353535), array.set(col_array, 102, #333333), array.set(col_array, 103, #313131), array.set(col_array, 104, #2f2f2f), array.set(col_array, 105, #2d2d2d), array.set(col_array, 106, #2b2b2b), array.set(col_array, 107, #292929), array.set(col_array, 108, #272727), array.set(col_array, 109, #252525), array.set(col_array, 110, #232323), array.set(col_array, 111, #212121), array.set(col_array, 112, #1f1f1f), array.set(col_array, 113, #1d1d1d), array.set(col_array, 114, #1b1b1b), array.set(col_array, 115, #191919), array.set(col_array, 116, #171717), array.set(col_array, 117, #151515), array.set(col_array, 118, #131313), array.set(col_array, 119, #111111), array.set(col_array, 120, #0f0f0f), array.set(col_array, 121, #0d0d0d), array.set(col_array, 122, #0b0b0b), array.set(col_array, 123, #090909), array.set(col_array, 124, #070707), array.set(col_array, 125, #050505), array.set(col_array, 126, #030303), array.set(col_array, 127, #010101), max_array_size = 10 // 5 R or S level, 1 age, 1 level = 5 * (1 + 1) = 10 var r_levels = array.new_float(0) var s_levels = array.new_float(0) // add new S/R age and level to the array add_array(srarray, level)=> if array.size(srarray) >= max_array_size array.pop(srarray) array.pop(srarray) array.unshift(srarray, level) // S/Rlevel array.unshift(srarray, 0) // age // aging function get_older(srarray)=> if array.size(srarray) > 0 for i = 0 to array.size(srarray) - 1 by 2 array.set(srarray, i, array.get(srarray, i) + 1) if array.get(srarray, array.size(srarray) - 2) > 127 array.pop(srarray) array.pop(srarray) remove_element_from_r_if_broken()=> notremoved = true if array.size(r_levels) > 0 for i = 1 to array.size(r_levels) - 1 by 2 if close > array.get(r_levels, i) array.remove(r_levels, i) array.remove(r_levels, i - 1) notremoved := false break notremoved remove_element_from_s_if_broken()=> notremoved = true if array.size(s_levels) > 0 for i = 1 to array.size(s_levels) - 1 by 2 if close < array.get(s_levels, i) array.remove(s_levels, i) array.remove(s_levels, i - 1) notremoved := false break notremoved if ph or pl add_array(ph ? r_levels : s_levels, (ph ? ph : pl)) // aging get_older(r_levels) get_older(s_levels) // remove broken S/R levels if array.size(r_levels) > 0 for i = 1 to array.size(r_levels) if remove_element_from_r_if_broken() break if array.size(s_levels) > 0 for i = 1 to array.size(s_levels) if remove_element_from_s_if_broken() break get_level(srarray, i)=> float level = na if array.size(srarray) > i if array.get(srarray, i - 1) > 1 // if age > 1 level := array.get(srarray, i) level get_color(srarray, i)=> color retcol = na if array.size(srarray) > i if array.get(srarray, i) > 1 and array.get(srarray, i) < 128 if backcolor == "Black" retcol := array.get(col_array, round(array.get(srarray, i))) else retcol := array.get(col_array, 127 - round(array.get(srarray, i))) retcol plot(get_level(r_levels, 1), color =get_color(r_levels, 0), style = plot.style_circles) plot(get_level(r_levels, 3), color =get_color(r_levels, 2), style = plot.style_circles) plot(get_level(r_levels, 5), color =get_color(r_levels, 4), style = plot.style_circles) plot(get_level(r_levels, 7), color =get_color(r_levels, 6), style = plot.style_circles) plot(get_level(r_levels, 9), color =get_color(r_levels, 8), style = plot.style_circles) plot(get_level(s_levels, 1), color =get_color(s_levels, 0), style = plot.style_circles) plot(get_level(s_levels, 3), color =get_color(s_levels, 2), style = plot.style_circles) plot(get_level(s_levels, 5), color =get_color(s_levels, 4), style = plot.style_circles) plot(get_level(s_levels, 7), color =get_color(s_levels, 6), style = plot.style_circles) plot(get_level(s_levels, 9), color =get_color(s_levels, 8), style = plot.style_circles) sr_text = "Resistance Levels / Age" if array.size(r_levels) > 1 for x = 1 to array.size(r_levels) - 1 by 2 if array.get(r_levels, x - 1) > 1 sr_text := sr_text + " " + tostring(array.get(r_levels, x)) + " / " + tostring(array.get(r_levels, x - 1)) sr_text := sr_text + " " + "Support Levels / Age" if array.size(s_levels) > 1 for x = 1 to array.size(s_levels) - 1 by 2 if array.get(s_levels, x - 1) > 1 sr_text := sr_text + " " + tostring(array.get(s_levels, x)) + " / " + tostring(array.get(s_levels, x - 1)) ptime = time - time[1] var label srlabel = na label.delete(srlabel) srlabel := label.new(time + 20 * ptime, close, text = sr_text, xloc = xloc.bar_time, color = color.yellow, textcolor = color.black) ====================================================================================== //@version=4 //Basic Hull Ma Pack tinkered by InSilico - Modified by Crystoba Sept 2020 study("CS Hull Suite", shorttitle="CS Hull Suite" , overlay=true) //INPUT src = input(close, title="Source") modeSwitch = input("Hma", title="Hull Variation", options=["Hma", "Thma", "Ehma"]) showFhull = input(title="Show fast Hull?", type=input.bool, defval=true, confirm=false) fastlength = input(55, title="Def: 55 for swing entry)") showShull = input(title="Show slow Hull?", type=input.bool, defval=true, confirm=false) slowlength = input(180, title="Def: 180-200 for floating S/R") switchColor = input(true, "Color Hull according to trend?") candleCol = input(false,title="Color candles based on Hull's Trend?") visualSwitch = input(true, title="Show as a Band?") thicknesSwitch = input(1, title="Line Thickness") transpSwitch = input(40, title="Band Transparency",step=5) //FUNCTIONS //HMA FHMA(_src, _fastlength) => wma(2 * wma(_src, _fastlength / 2) - wma(_src, _fastlength), round(sqrt(_fastlength))) SHMA(_src, _slowlength) => wma(2 * wma(_src, _slowlength / 2) - wma(_src, _slowlength), round(sqrt(_slowlength))) //EHMA FEHMA(_src, _fastlength) => ema(2 * ema(_src, _fastlength / 2) - ema(_src, _fastlength), round(sqrt(_fastlength))) SEHMA(_src, _slowlength) => ema(2 * ema(_src, _slowlength / 2) - ema(_src, _slowlength), round(sqrt(_slowlength))) //THMA FTHMA(_src, _fastlength) => wma(wma(_src,_fastlength / 3) * 3 - wma(_src, _fastlength / 2) - wma(_src, _fastlength), _fastlength) STHMA(_src, _slowlength) => wma(wma(_src,_slowlength / 3) * 3 - wma(_src, _slowlength / 2) - wma(_src, _slowlength), _slowlength) //SWITCH FMode(modeSwitch, src, len) => modeSwitch == "Hma" ? FHMA(src, len) : modeSwitch == "Ehma" ? FEHMA(src, len) : modeSwitch == "Thma" ? FTHMA(src, len/2) : na SMode(modeSwitch, src, len) => modeSwitch == "Hma" ? SHMA(src, len) : modeSwitch == "Ehma" ? SEHMA(src, len) : modeSwitch == "Thma" ? STHMA(src, len/2) : na //OUT - FAST FHULL = FMode(modeSwitch, src, fastlength) FMHULL = FHULL[0] FSHULL = FHULL[2] //OUT - SLOW SHULL = SMode(modeSwitch, src, slowlength) SMHULL = SHULL[0] SSHULL = SHULL[2] //COLOR FhullColor = switchColor ? (FHULL > FHULL[2] ? #00ff00 : #ff0000) : #ff9800 ShullColor = switchColor ? (SHULL > SHULL[2] ? #ffeb3b : #9c27b0) : #ff9800 //PLOT ///< Frame FFi1 = plot(showFhull ? FMHULL : na, title="FMHULL", color=FhullColor, linewidth=thicknesSwitch, transp=50) FFi2 = plot(visualSwitch ? showFhull ? FSHULL : na : na, title="FHULL", color=FhullColor, linewidth=thicknesSwitch, transp=50) SFi1 = plot(showShull ? SMHULL : na, title="SMHULL", color=ShullColor, linewidth=thicknesSwitch, transp=50) SFi2 = plot(visualSwitch ? showShull ? SSHULL : na : na, title="SHULL", color=ShullColor, linewidth=thicknesSwitch, transp=50) ///< Ending Filler fill(FFi1, FFi2, title="Fast Band Filler", color=FhullColor, transp=transpSwitch) fill(SFi1, SFi2, title="Slow Band Filler", color=ShullColor, transp=transpSwitch) ///BARCOLOR barcolor(color = candleCol ? (switchColor ? ShullColor : na) : na) ------------------------------------------------------------------------------------ 트레이딩뷰소스 변환 부탁드려요. 너무 자주 부탁드리게 되네요. 항상 감사드립니다.
프로필 이미지
양정희
2020-10-09
1158
글번호 142969
지표

양정희 님에 의해서 삭제되었습니다.

프로필 이미지
양정희
2020-10-09
0
글번호 142968
지표
답변완료

69316번 재질문에 대한 답변 부탁드립니다.

문의한 내용한 답변이 제가 원하는 것이 아니어서 다시 질문드렸습니다. 69316번 추가질문에 대한 답변 부탁드립니다.
프로필 이미지
탄탄시스템
2020-10-09
744
글번호 142967
시스템
답변완료

수식 재문의 드립니다.

"countif(Crossup(c,ma),BarsSinceEntry)&#160;>=&#160;2&#160;&#160;&#160;and&#160;crossup(c,ma)&#160;and&#160;BarsSinceEntry&#160;>10 위와&#160;같이&#160;변경하시면&#160;진입이후&#160;10봉이상&#160;경과&#160;후에&#160;crssup이&#160;두번이상&#160;발생하면&#160;조건만족하는&#160;식입니다. BarsSinceEntry&#160;>10조건을&#160;삭제하시면 진입이후&#160;봉수&#160;관계없이&#160;2번&#160;발생하면&#160;청산이&#160;됩니다. " 라고 주셨는데 "countif((crossup(A,B) and C<D),10)>=1 and crossup(E,F)" 일 경우인데 ABCDEF가 다 다르거나 AB와 EF는 같은 경우라도 결과는 countif문은 발생이 안되었는데 crossup(E,F)가 실행이 됩니다. 전제조건인 countif 실행이 안되는것 같은데 무슨 문제인가요? ==> " 현재봉 기준 crossup(E,F)가 발생되었고 현재봉 이전 10봉이내에 countif문이 실행되었다면 매수 " 수식입니다.
프로필 이미지
chunsk
2020-10-09
743
글번호 142966
시스템