커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

부탁드립니다 항상 감사합니다

매 1시간봉이 시작되는 시점을 분봉에 표시하고싶습니다 1분봉 5분봉 10분봉 30분봉 부탁드립니다
프로필 이미지
윤호석
65
글번호 194284
지표
답변완료

부탁드립니다 항상 감사합니다

input : 타주기분(60); input : P(20), Dv(2); var : S1(0), D1(0), TM(0), TF(0), prevTF(0), isNew(false); var : cnt(0), SumSqrt(0), Stdv(0), sum(0), BBmd(0), BBup(0), BBdn(0); var : lastPriceInBlock(0), isFirst(true); Array : CC; { 기준 시각/날짜 초기화 } if Bdate <> Bdate[1] then begin S1 = TimeToMinutes(stime); D1 = sdate; end; if D1 > 0 then begin if sdate = D1 then TM = TimeToMinutes(stime) - S1 else TM = TimeToMinutes(stime) + 1440 - S1; TF = TM % 타주기분; prevTF = TF[1]; { 새 블럭 판단: 날짜 변경 or 나머지 되감김 or 충분히 경과 } isNew = (Bdate <> Bdate[1]) or (TF < prevTF) or (TM >= TM[1] + 타주기분); { 각 틱에서 현재 블럭의 마지막 가격을 트래킹 } lastPriceInBlock = C; if isNew and (isFirst = false) then begin { 직전 블럭 종료 시점 가격을 밀어넣기 } for cnt = 99 downto 1 begin CC[cnt] = CC[cnt-1]; end; CC[0] = C[1]; { 직전 틱(=직전 블럭 끝)의 종가를 기록 } end; if isFirst then begin { 초기 1회 세팅: 현재가로 CC[0] 채우기 } CC[0] = C; isFirst = false; end; { 충분히 쌓였으면 볼밴 계산 } if P <= 99 and CC[P-1] > 0 then begin sum = 0; for cnt = 0 to P-1 begin sum = sum + CC[cnt]; end; BBmd = sum / P; SumSqrt = 0; for cnt = 0 to P-1 begin SumSqrt = SumSqrt + (CC[cnt] - BBmd)*(CC[cnt] - BBmd); end; Stdv = SquareRoot(SumSqrt / P); BBup = BBmd + (Dv * Stdv); BBdn = BBmd - (Dv * Stdv); Plot1(BBup, "상단"); Plot2(BBmd, "중단"); Plot3(BBdn, "하단"); end; end; 예스트레이더 해외선물에 적용할수있게끔 부탁드립니다
프로필 이미지
윤호석
74
글번호 194283
지표
답변완료

문의 드립니다.

//@version=5 indicator( title="DEMA Adjusted Average True Range [BackQuant]", shorttitle = "DEMA ATR [BackQuant]", overlay=true, timeframe="", timeframe_gaps=true ) // Define User Inputs simple bool showAtr = input.bool(true, "Plot Dema Atr on Chart?") simple bool haCandles = input.bool(false, "Use HA Candles?") simple int periodDema = input.int(7, "Dema Period", group = "Dema Atr") series float sourceDema = input.source(close, "Calculation Source", group = "Dema Atr") simple int periodAtr = input.int(14, "Period", group = "Dema Atr") simple float factorAtr = input.float(1.7, "Factor", step = 0.01, group = "Dema Atr") simple bool paintCandles = input.bool(false, "Paint Candles According to trend?") simple bool showMA = input.bool(false, "Show Atr Moving Average as Confluence?",group = "Confluence") string movingAverageType = input.string("Ema", title="MA Type", options=["SMA", "Hull", "Ema", "Wma", "Dema"],group = "Confluence") simple int movingAveragePeriod = input.int(50, "Moving Average Period", group = "Confluence") simple color longColour = #00ff00 simple color shortColour = #ff0000 /////////////////////////////////////////////////////////////// &#169; BackQuant /////////////////////////////////////////////////////////////// // Use HA Candles? heikinashi_close = request.security( symbol = ticker.heikinashi(syminfo.tickerid), timeframe = timeframe.period, expression = close, gaps = barmerge.gaps_off, lookahead = barmerge.lookahead_off ) var series float source = close if haCandles == true source := heikinashi_close if haCandles == false source := sourceDema /////////////////////////////////////////////////////////////// &#169; BackQuant /////////////////////////////////////////////////////////////// // Function DemaAtrWithBands(periodDema, source, lookback, atrFactor)=> ema1 = ta.ema(source, periodDema) ema2 = ta.ema(ema1, periodDema) demaOut = 2 * ema1 - ema2 atr = ta.atr(lookback) trueRange = atr * atrFactor DemaAtr = demaOut DemaAtr := nz(DemaAtr[1], DemaAtr) trueRangeUpper = demaOut + trueRange trueRangeLower = demaOut - trueRange if trueRangeLower > DemaAtr DemaAtr := trueRangeLower if trueRangeUpper < DemaAtr DemaAtr := trueRangeUpper DemaAtr // Function Out DemaAtr = DemaAtrWithBands(periodDema, source, periodAtr, factorAtr) /////////////////////////////////////////////////////////////// &#169; BackQuant /////////////////////////////////////////////////////////////// // Moving Average Switch Type movingAverage(source, length, type) => switch type "SMA" => ta.sma(source, length) "Hull" => ta.hma(source, length) "Ema" => ta.ema(source, length) "Wma" => ta.wma(source, length) "Dema" => ta.dema(source, length) maOut = movingAverage(DemaAtr, movingAveragePeriod, movingAverageType) /////////////////////////////////////////////////////////////// &#169; BackQuant /////////////////////////////////////////////////////////////// // Conditions DemaAtrLong = ta.crossover(DemaAtr, DemaAtr[1]) DemaAtrShort = ta.crossunder(DemaAtr, DemaAtr[1]) // Colour Condtions var color Trend = #ffffff if DemaAtrLong Trend := longColour if DemaAtrShort Trend := shortColour // Plotting plot( showAtr ? DemaAtr : na, "ATR", color=Trend, linewidth = 2 ) barcolor(paintCandles ? Trend : na) plot(showMA ? maOut : na, "Moving Average", color.white, 2, plot.style_line) /////////////////////////////////////////////////////////////// &#169; BackQuant /////////////////////////////////////////////////////////////// // Alerts alertcondition( DemaAtrLong, title="Dema ATR Trend Up", message="Dema ATR Trend Up - {{ticker}} - {{interval}}" ) alertcondition( DemaAtrShort, title="Dema ATR Trend Down", message="Dema ATR Trend Down - {{ticker}} - {{interval}}" ) 트레이딩뷰 수식인데 여기서 DEMA 선의 색이 바뀌면 매수/매도 신호가 나오게 해주세요.
프로필 이미지
신대륙발견
60
글번호 194282
시스템
답변완료

지표 문의드립니다.

거래대금 500~1000억 봉에 : 주황색 1000억 이상 봉에 : 빨강색 강조표시 되도록 부탁드리겠습니다. 금액은 수정가능하게 해주세요!
프로필 이미지
조하트
58
글번호 194281
강조
답변완료

수식 부탁 드립니다

안녕하세요 궁금한 지표식은 주간 복합 야간 3분차트에 30분 이동평균선 ( 5 . 10 . 20 .60 )을 나타내고 싶습니다 기존에 있던 선들이 틀리게 나오네요 1 , 주간 30분 이동평균선 2 , 복합 30분 이동평균선 3 , 야간 30분 이동평균선 미리 감사 드립니다
프로필 이미지
starj5
72
글번호 194280
지표
답변완료

수정요청

아래 수식은 각기 다른 수식의 if ~ 부분입니다. 각각을 1봉전에 발생하는 것으로 변경해보았는데 잘 안되어 요청드립니다. ------------------------------------------------------------------------------ if CROSSUP(haH,A) && cumulative_volume_delta>0 && ema_volume_strength_wave>ema_volume_strength_wave[1] && haC>haO && Var3 > 60 && CountIf(Var3 < 59.9,5)[1] == 5 Then Find(1); ------------------------------------------------------------------------------- if haC[2] < HaO[2] and HaC[1] > HaO[1] and HaC > HaO and ((haRSI[2] < 30 and haRSI > 30) or haRSI>60) and haL[2] < B[2] then Find(1);
프로필 이미지
ksks
75
글번호 194279
종목검색
답변완료

사용자함수 리턴값 사용 문의

먼저 항상 친절한 답변 감사 드립니다^^ 환절기에 몸조리 잘 하시길 바라겠습니다. 다름이 아니라 체결시점보유수량을 확인하는 사용자함수를 개발하여 시스템함수안에서 각 체결 시 매수체결상태코드라는 리턴값을 가지고 사용을 하려고 합니다. 1) 예를 들어 리턴값 매수체결상태코드 "11" 이나 "21" 을 가져왔을 때 substring을 사용하여 첫번째 숫자를 판단하려고 합니다. 매수체결상태코드.substring(0,1) == "1" 이나 매수체결상태코드.substring(0,1) == "2" 로 사용하면 될까요..? 2) 그리고 한가지만 더 문의 드립니다. 리턴값을 예를 들어 1,2,3,4 로 숫자형으로 가져왔을때 시스템함수에서 split(자르기)할 수 있는 예시 코드를 주시면 정말 감사 드리겠습니다. 감사합니다!
프로필 이미지
째국
52
글번호 194278
시스템
답변완료

종목 검색 변환 요청드립니다

안녕하세요? 아래 키움 신호 검색 수식을 예스랭귀지 종목 검색 수식으로 변환 부탁드립니다. 선행1 = shift((highest(high,5) + lowest(low,5) + highest(high, 20) + lowest(low,20)) / 4, 20-1); 선행2 = shift((highest(high,60) + lowest(low,60))/2, 20-1); 라인 = Valuewhen(1, Crossup(선행1, 선행2) or Crossdown(선행1, 선행2), min(L,L(1))); Crossup(C, 라인) Valuewhen 사용자함수는 별도로 정의하였습니다.
프로필 이미지
진은광
81
글번호 194277
종목검색
답변완료

문의 드립니다.

입력한 시간의 시가를 다음 그 시간까지 수평선으로 긋는 지표를 만들 수 있나요? 9시를 입력하면, 다음날 9시까지 시가를 수평선으로 그어주고, 12시를 입력하면, 다음날 12시까지구요. 답변 감사합니다.
프로필 이미지
alltoone
64
글번호 194276
지표
답변완료

변환 부탁드립니다

다음을 예스트레이더로 부탁드립니다 A = H - L; B = max(C, O) - L; D = A / B > 2 && H / C(1) > 1.25; E = ValueWhen(1, D, H); F = BarsSince (D); CrossUp(C, E) && F < 20
프로필 이미지
파크에버뉴
74
글번호 194275
종목검색