커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식 확인 좀 부탁 드립니다.

if Tcond == true and H >= L+300 Then { trade = False; } 고가와 저가가 300p이상 나는 장대양봉에서는 종가에 진입신호가 나오더라도 진입을 금지하려면 위와 같은 식이 맞는지요?
프로필 이미지
산수유
2025-01-17
527
글번호 187311
시스템
답변완료

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

항상 노고에 감사드림니다. 아래의 수식을 종목검색식으로 부탁드림니다. V>avg(V,Period)*배수&& V>V(1)*배수 지표변수 Period 499 배수 5
프로필 이미지
존슨비치
2025-01-17
485
글번호 187310
종목검색

구경꾼그림자 님에 의해서 삭제되었습니다.

프로필 이미지
구경꾼그림자
2025-01-17
1
글번호 187309
종목검색
답변완료

수식 부탁드립니다

안녕하세요 지표 수식 하나 부탁드립니다 틱차트에서 30분간 간격을 세로줄로 표시하고, 만약 가능하다면 그 봉 위에 그 30분간 틱봉의 갯수를 표시하는 수식 부탁합니다 감사합니다
프로필 이미지
쿠루드
2025-01-17
439
글번호 187308
지표
답변완료

조건 검색식 부탁합니다

영웅문 120이평 골든크로스 신호입니다 이 신호에 맞는 조건 검색식 부탁합니다 행복한 하루 되세요 x1 = c> avg(c,5); x2 = c> avg(c,20); x3 = c> avg(c,60); x4 = avg(c,5) > avg(c,20); x5 = avg(c,5) > avg(c,60); x6 = o < avg(c,224); x7 = amount > con1; x8 = (h(1) / avg(c,224,1) - 1) * 100 >= con2; x9 = sum(if(x8,1,0), con3) >= 1; x1 and x2 and x3 and x4 and x5 and x6 and x7 and x9 지표변수 con1 15,000 con2 -5 con3 30
프로필 이미지
볼라레
2025-01-17
592
글번호 187303
종목검색
답변완료

질문드립니다

항상 모르는 것을 성실히 답변해 주셔서 감사드립니다. 파워종목 수식검색에 아래와 같은 수식을 사용합니다. var : A(0); A=WMa(2 * WMa(C,200 / 2) - WMa(C, 200), floor(sqrt(200))); IF a>a[1] and a[1]<a[2]TheN Find(1); 이 수식은 현재 봉이 ham돌파 검색식입니다. 만들고자 하는 수식은 현재봉전 1봉2봉3봉전에는 ham 추세가 하락하고 있고 ham추세 상승시에 현재봉이 ham 200을 돌파하는 검색식을 만들고 싶으나 실력이 부족해 못만들고 있습니다. 도움을 주시면 정말 감사하겠습니다
프로필 이미지
수다판다
2025-01-17
465
글번호 187301
종목검색
답변완료

90959 수식 수정 부탁드립니다

1. 파라볼릭 음전환 발생시 직전 파라볼릭 차트 양전환 발생시킨 캔들 포함 천정 까지 양봉수 n 일때 파라볼릭 음전환 발생 캔들 포함 n 번째 음봉 저가를 표시한다 파라볼릭 양전환 발생시 직전 파라볼릭 차트 음전환 발생시킨 캔들 포함 바닥 까지 음봉수 m일때 파라볼릭 양전환 발생 캔들 포함 m 번째 양봉 고가를 표시한다 2. 10캔들 바닥 포함 n번째 캔들이 10캔들 천정일 때 10캔들 바닥 포함 n번째 양봉의 고가를 표시한다 10캔들 천정 포함 n번째 캔들이 10캔들 바닥일 때 10캔들 천정 포함 n번째 음봉의 저가를 표시한다 감사합니다
프로필 이미지
para
2025-01-17
560
글번호 187299
지표
답변완료

청산 수식 좀 봐 주십시요.

* 매번 많은 도움에 고맙습니다 * 청산 수식 추가 요청 드림니다. 사진에 보면 최대 손실이 -22.8틱 나옴니다. 이부분을 보완 하려 합니다. * <요청 사항> 1. 진입후 "최고가 대비 100틱 이상 하락 하면 청산" 로직 좀 추가 요청 드립니다. 2. 진입후 50틱 이상 손실이고 이전 50봉 최저가 이탈시 청산" 로직 좀 추가 요청 드립니다. ㅇ 소리음이 안 나는데 확인좀 부탁 드립니다. (소리는 나는데 띵~~띵~~하고 소리음이 안나와요....) var1 = ma(c,5); var2 = ma(c,20); If MarketPosition <= 0 and sDate >= 20250101 and CrossDown( var1 , var2 ) Then { Buy( "수"); PlaySound("C:KiwoomGlobalsoundsound9.wav"); } if MarketPosition == 1 then { ExitLong("수수익",AtLimit,EntryPrice+PriceScale*90); if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*50 Then Exitlong("2프수",AtStop,highest(H,BarsSinceEntry)-abs(highest(H,BarsSinceEntry)-EntryPrice)*0.8); if MaxEntries < 3 Then Buy("bb",AtLimit,LatestEntryPrice(0)-PriceScale*40); ExitShort("수손절",AtStop,EntryPrice-PriceScale*50); ExitLong("bx7",AtStop,highest(H,BarsSinceEntry)*0.95); if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*50 Then Exitlong("5프수",AtStop,highest(H,BarsSinceEntry)-abs(highest(H,BarsSinceEntry)-EntryPrice)*0.8); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*40 Then sell("bs2"); ExitLong("bx8",AtStop,lowest(L,BarsSinceEntry) -PriceScale*40 ); } * 고맙 습니다, 좋은 주말 되십시요.
프로필 이미지
요타
2025-01-17
476
글번호 187298
시스템
답변완료

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

문의드립니다. 1. 볼륨 오실레이터 가 "3일 연속" 거래가 늘어날때의 종목검색식 부탁드려요. (연속일수는 변수로 처리해서 사용하면 좋을듯합니다) 2. 볼륨 오실레이터 가 기준선0 아래에서 "4일연속 " 거래가 늘어날때의 종목검색식 부탁드립니다.(연속일수는 변수처리)
프로필 이미지
일지매7
2025-01-17
473
글번호 187297
종목검색
답변완료

문의

2선만나오독부탁드립니다 / This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // &#169; RedKTrader - March 2023 //@version=5 // ****************************** // EVEREX v2.0 adds markers for key patterns based on nPrice:nVol ratios // starting with EoM and Compression - maybe add "Balanced" and "Mega" ?? // to-do list // inspecting the effort vs result concept by plotting volume vs. price change // this is like looking at distance versus fuel consumption - but comparing a normalized average of each // to help reveal areas of volume & price action anomalies, contraction & expansion indicator('RedK Effort Versus Results Explorer v2.0', 'RedK EVEREX v2.0', precision = 0, timeframe = '', timeframe_gaps = false, explicit_plot_zorder = true) // *********************************************************************************************************** // This function calcualtes a xable average type GetAverage(_data, _len, MAOption) => value = switch MAOption 'SMA' => ta.sma(_data, _len) 'EMA' => ta.ema(_data, _len) 'HMA' => ta.hma(_data, _len) 'RMA' => ta.rma(_data, _len) => ta.wma(_data, _len) // *********************************************************************************************************** // ======================================================================================== // Normalization function - Normalizes values that are not restricted within a zero to 100 range // This technique provides a scale that is closer to a "human" estimation of value in "bands" // as in: low, below average, average, above average, high, super high // this also avoids the issue of extreme values when using the stoch() -based technique // these values are subjective, and can be changed - but slight changes here won't lead to major changes in outcome // since all is relative to the same data series. // Normalize(_Value, _Avg) => _X = _Value / _Avg _Nor = _X > 1.50 ? 1.00 : _X > 1.20 ? 0.90 : _X > 1.00 ? 0.80 : _X > 0.80 ? 0.70 : _X > 0.60 ? 0.60 : _X > 0.40 ? 0.50 : _X > 0.20 ? 0.25 : 0.1 // =================================================================================== // =========================================================================================================== // Inputs // =========================================================================================================== grp_1 = 'Rate of FLow (RoF)' grp_2 = 'Lookback Parameters' grp_3 = 'Bias / Sentiment' grp_4 = 'EVEREX Bands' length = input.int(10, minval = 1, inline = 'ROF', group = grp_1) MA_Type = input.string(defval = 'WMA', title = 'MA type', options = ['WMA', 'EMA', 'SMA', 'HMA', 'RMA'], inline = 'ROF', group = grp_1) smooth = input.int(defval = 3, title = 'Smooth', minval = 1, inline = 'ROF', group = grp_1) //src = input.source(close, title = "Source (for 2-Bar Shift)", group = grp_1) sig_length = input.int(5, 'Signal Length', minval = 1, inline = 'Signal', group = grp_1) S_Type = input.string(defval = 'WMA', title = 'Signal Type', options = ['WMA', 'EMA', 'SMA', 'HMA', 'RMA'], inline = 'Signal', group = grp_1) lookback = input.int(defval = 20, title = 'Length', minval = 1, inline = 'Lookback', group = grp_2) lkbk_Calc = input.string(defval = 'Simple', title = 'Averaging', options = ['Simple', 'Same as RRoF'], inline='Lookback', group = grp_2 ) showBias = input.bool(defval = false, title = 'Bias Plot ? -- ', inline = 'Bias', group = grp_3) B_Length = input.int(defval = 30, title = 'Length', minval = 1, inline = 'Bias', group = grp_3) B_Type = input.string(defval = 'WMA', title = 'MA type', options = ['WMA', 'EMA', 'SMA', 'HMA', 'RMA'], inline = 'Bias', group = grp_3) showEVEREX = input.bool(true, 'Show EVEREX Bands ? -- ', inline = 'EVEREX', group = grp_4) // a simple mechanism to control/change the strength band scale for improving visualization // applies only to the "bands" and the level hlines bandscale = str.tonumber(input.string("100", title = "Band Scale", options = ['100', '200', '400'], inline = 'EVEREX', group = grp_4)) DispBias = showBias ? display.pane : display.none DispBands = showEVEREX ? display.pane : display.none showhlines = showEVEREX ? display.all : display.none Disp_vals = display.status_line + display.data_window // =========================================================================================================== // Calculations // =========================================================================================================== // Volume "effort" Calculation -- will revert to no volume acceleration for instruments with no volume data v = na(volume) ? 1 : volume // this part ensures we're not hit with calc issues due to NaN's NoVol_Flag = na(volume) ? true : false // this is a flag to use later lkbk_MA_Type = lkbk_Calc == 'Simple' ? 'SMA' : MA_Type Vola = GetAverage(v, lookback, lkbk_MA_Type) Vola_n_pre = Normalize(v, Vola) * 100 //Now trap the case of no volume data - ensure final calculation not impacted Vola_n = NoVol_Flag ? 100 : Vola_n_pre //plot(Vola_n , "Volume Normalized", color = color.white, display = display.none) // =============================================================================================================== // Price "result" calculation // we'll consider "result" (strength or weakness) to be the outcome (average) of 6 elements: // Same (in-)Bar strength elements: // 1 - Bar Closing: the closing within the bar --> this will be a direct +100 / -100 value // 2 - Spread to range: the spread to range ratio (that's BoP formula) --> direct +100 / -100 value // 3 - Relative Spread: spread relative to average spread during lookback period --> normalized // 2-bar strength elements: // 4 - 2-bar closing: the closing within 2-bar range (that accomodates open gap effect) // 5 - 2-bar Closing Shift to Range: Change in close relative to the 2-bar range // 6 - 2-bar Relative Shift: the 2-bar Close (or source price) shift - relative to the average 2-bar shift during lookback period --> normalized BarSpread = close - open BarRange = high - low R2 = ta.highest(2) - ta.lowest(2) SrcShift = ta.change(close) //TR = ta.tr(true) sign_shift = math.sign(SrcShift) sign_spread = math.sign(BarSpread) // ========================================================================================================= // in-bar assessments // ========================================================================================================= // 1. Calculate closing within bar - should be max value at either ends of the bar range barclosing = 2 * (close - low) / BarRange * 100 - 100 //plot(barclosing, "Bar Closing %" , color=color.fuchsia, display = display.none) // 2. caluclate spread to range ratio s2r = BarSpread / BarRange * 100 //plot(s2r, "Spread:Range", color = color.lime, display = display.none) // 3. Calculate relative spread compared to average spread during lookback BarSpread_abs = math.abs(BarSpread) BarSpread_avg = GetAverage(BarSpread_abs, lookback, lkbk_MA_Type) BarSpread_ratio_n = Normalize(BarSpread_abs, BarSpread_avg) * 100 * sign_spread //plot(BarSpread_ratio_n, "Bar Spread Ratio", color=color.orange, display=display.none) // ========================================================================================================= // 2-bar assessments // ========================================================================================================= // 4. Calculate closing within 2 bar range - should be max value at either ends of the 2-bar range barclosing_2 = 2 * (close - ta.lowest(2)) / R2 * 100 - 100 //plot(barclosing_2, "2-Bar Closing %" , color=color.navy, display = display.none) // 5. calculate 2-bar shift to range ratio Shift2Bar_toR2 = SrcShift / R2 * 100 //plot(Shift2Bar_toR2, "2-bar Shift vs 2R", color=color.yellow, display = display.none) // 6. Calculate 2-bar Relative Shift SrcShift_abs = math.abs(SrcShift) srcshift_avg = GetAverage(SrcShift_abs, lookback, lkbk_MA_Type) srcshift_ratio_n = Normalize(SrcShift_abs, srcshift_avg) * 100 * sign_shift //plot(srcshift_ratio_n, "2-bar Shift vs Avg", color=color.white, display = display.none) // =============================================================================== // ========================================================================================= // Relative Price Strength combining all strength elements Pricea_n = (barclosing + s2r + BarSpread_ratio_n + barclosing_2 + Shift2Bar_toR2 + srcshift_ratio_n) / 6 //plot(Pricea_n, "Price Normalized", color=color.orange, display = display.none) //Let's take Bar Flow as the combined price strength * the volume:avg ratio // this works in a similar way to a volume-weighted RSI bar_flow = Pricea_n * Vola_n / 100 //plot(bar_flow, 'bar_flow', color=color.green, display = display.none) // calc avergae relative rate of flow, then smooth the resulting average // classic formula would be this //RROF = f_ma(bar_flow, length, MA_Type) // // or we can create a relative index by separating bulls from bears, like in an RSI - my preferred method // here we have an added benefit of plotting the (average) bulls vs bears separately - as an option bulls = math.max(bar_flow, 0) bears = -1 * math.min(bar_flow, 0) bulls_avg = GetAverage(bulls, length, MA_Type) bears_avg = GetAverage(bears, length, MA_Type) dx = bulls_avg / bears_avg RROF = 2 * (100 - 100 / (1 + dx)) - 100 RROF_s = ta.wma(RROF, smooth) Signal = GetAverage(RROF_s, sig_length, S_Type) // Calculate Bias / sentiment on longer length dx_b = GetAverage(bulls, B_Length, B_Type) / GetAverage(bears, B_Length, B_Type) RROF_b = 2 * (100 - 100 / (1 + dx_b)) - 100 RROF_bs = ta.wma(RROF_b, smooth) // =========================================================================================================== // Colors & plots // =========================================================================================================== c_zero = color.new(#1163f6, 25) c_band = color.new(color.yellow, 40) c_up = color.aqua c_dn = color.orange c_sup = color.new(#00aa00, 70) c_sdn = color.new(#ff180b, 70) up = RROF_s >= 0 s_up = RROF_bs >=0 // ==================================== Plots ========================================================== // // Display the ATR & VOl Ratio values only on the indicator status line & in the Data Window // plotchar(shift, title = "Shift", char = "", color = color.white, editable=false, display=display.status_line + display.data_window) // plotchar(lbk_tr, title = "Avg Shift", char = "", color = color.aqua, editable=false, display=display.status_line + display.data_window) // plotchar(vola/lbk_vola, title = "Vol Ratio", char = "", color = color.yellow, editable=false, display=display.status_line + display.data_window) hline(0, 'Zero Line', c_zero, linestyle = hline.style_solid) // plot the band scale guide lines -- these lines will show/hide along with the EVEREX "Equalizer Bands Plot" hline(0.25 * bandscale, title = '1/4 Level', color=c_band, linestyle = hline.style_dotted, display = showhlines) hline(0.50 * bandscale, title = '2/4 Level', color=c_band, linestyle = hline.style_dotted, display = showhlines) hline(0.75 * bandscale, title = '3/4 Level', color=c_band, linestyle = hline.style_dotted, display = showhlines) hline(bandscale, title = '4/4 Level', color=c_band, linestyle = hline.style_dotted, display = showhlines) // Plot Bulls & Bears - these are optional plots and hidden by default - adjust this section later plot(ta.wma(bulls_avg, smooth), "Bulls", color = #11ff20, linewidth = 2, display = display.none) plot(ta.wma(bears_avg, smooth), "Bears", color = #d5180b, linewidth = 2, display = display.none) // ============================================================================= // Plot Bias / Sentiment plot (RROF_bs, "Bias / Sentiment", style=plot.style_area, color = s_up ? c_sup : c_sdn, linewidth = 4, display = DispBias ) // ============================================================================= // Plot Price Strength & Relative Volume as stacked "equalizer bands" // adding visualization option to make the bands joint or separate at the mid-scale mark Eq_band_option = input.string("Joint", title = 'Band Option', options = ["Joint", "Separate"], group = grp_4) nPrice = math.max(math.min(Pricea_n, 100), -100) nVol = math.max(math.min(Vola_n, 100), -100) bar = bar_flow c_vol_grn = color.new(#26a69a, 75) c_vol_red = color.new(#ef5350, 75) cb_vol_grn = color.new(#26a69a, 20) cb_vol_red = color.new(#ef5350, 20) c_vol = bar > 0 ? c_vol_grn : c_vol_red cb_vol = bar > 0 ? cb_vol_grn : cb_vol_red vc_lo = 0 vc_hi = nVol * bandscale / 100 / 2 plotcandle(vc_lo, vc_hi, vc_lo, vc_hi , "Volume Band", c_vol, c_vol, bordercolor = cb_vol, display = DispBands) c_pri_grn = color.new(#3ed73e, 75) c_pri_red = color.new(#ff870a, 75) cb_pri_grn = color.new(#3ed73e, 20) cb_pri_red = color.new(#ff870a, 20) c_pri = bar > 0 ? c_pri_grn : c_pri_red cb_pri = bar > 0 ? cb_pri_grn : cb_pri_red pc_lo_base = Eq_band_option == "Joint" ? vc_hi : 0.50 * bandscale pc_lo = pc_lo_base pc_hi = pc_lo_base + math.abs(nPrice) * bandscale / 100 / 2 plotcandle(pc_lo, pc_hi, pc_lo ,pc_hi , "Price Band", c_pri, c_pri, bordercolor = cb_pri, display = DispBands) // print the normalized volume and price values - only on statys line and in the data window // these values are independant of the band scale or visualization options plotchar(nVol, "Normalized Vol", char = "", color = c_vol, editable = false, display = Disp_vals) plotchar(nPrice, "Normalized Price", char = "", color = c_pri, editable = false, display = Disp_vals) // ============================================================================= // ============================================================================= // Plot main plot, smoothed plot and signal line plot(RROF, 'RROF Raw', color.new(#2470f0, 9), display=display.none) plot(RROF_s, 'RROF Smooth', color = color.new(#b2b5be,40), linewidth = 2) plot(Signal, "Signal Line", up ? c_up : c_dn, 3) // =========================================================================================================== // basic alerts // =========================================================================================================== Alert_up = ta.crossover(RROF_s,0) Alert_dn = ta.crossunder(RROF_s,0) Alert_swing = ta.cross(RROF_s,0) // "." in alert title for the alerts to show in the right order up/down/swing alertcondition(Alert_up, ". RROF Crossing 0 Up", "RROF Up - Buying Action Detected!") alertcondition(Alert_dn, ".. RROF Crossing 0 Down", "RROF Down - Selling Action Detected!") alertcondition(Alert_swing, "... RROF Crossing 0", "RROF Swing - Possible Reversal") // =========================================================================================================== // v2.0 Adding Markers for Key Patterns // =========================================================================================================== // we can re-utilize the Normailize() function here too - but it's cleaner to have a separate ratio calc nPrice_abs = math.abs(nPrice) //EV_Ratio = 100 * Normalize(nPrice_abs, nVol) EV_Ratio = 100 * nPrice_abs / nVol // initial mapping of return ratios (to be revised) // ------------------------------------------------------- // Case (1): Price > Vol => ratio > 120 = Ease of Move (EoM) // Case (2): Price close to Vol => ratio between 80 - 120 = Reasonable Balance // Case (3): Price less than Vol but reasonable => ratio between 80 - 50 = Drift / "nothing much to see here" bar // Case (4): Price a lot less than Vol => 50 or less = Compression / Squat // we're most interested in cases 1 & 4 //plot (EV_Ratio) // for validation only is_positive = nPrice > 0 is_Compression = EV_Ratio <= 50 is_EoM = EV_Ratio >= 120 //Provide option to show/hide those EVEREX Markers - and an option for Compression bar // - some folks would prefer a cross, others may prefer a circle - can adjust based on feedback // no option for Ease of Move, guessing the triangle has the right significance var showMarkers = input.bool(true, 'Show EVEREX Markers ?') var Mshape = input.string("Circles", "Compression Marker", options = ['Circles','Crosses']) SetShape(_x) => switch _x 'Circles' => shape.circle 'Crosses' => shape.cross // Plot markers plotshape(showMarkers and is_EoM and is_positive ? 0 : na, "EoM +ve", shape.triangleup, color=color.green, location=location.absolute, size=size.auto, editable = false, display = display.pane) plotshape(showMarkers and is_EoM and not(is_positive) ? 0 : na, "EoM -ve", shape.triangledown, color=color.red, location=location.absolute, size=size.auto, editable = false, display = display.pane) plotshape(showMarkers and is_Compression and is_positive ? 0 : na, "Compression +ve", style = SetShape(Mshape), color=color.green, location=location.absolute, size = size.auto, editable = false, display = display.pane) plotshape(showMarkers and is_Compression and not(is_positive) ? 0 : na, "Compression -ve", style = SetShape(Mshape), color=color.red, location=location.absolute, size=size.auto, editable = false, display = display.pane) fuction이라는 글자 옆에 금지어가 있어서 XX라고 표현햇습니다
프로필 이미지
레전드
2025-01-17
855
글번호 187296
지표