답변완료
부탁드립니다
수고하십니다아래수식을 오류 없게 수정부탁드립니다Inputs: ChannelLength(150), // 채널 길이 ChannelWidth(1.5), // 채널 폭 ShowMidLine(true), // 50선 표시 RSILength(14), // RSI 길이 RSIOpacity(70), // RSI 선 투명도 (0~100) UpperThreshold(70), // Scale ShowThresholdLabels(true), // 기준선 라벨 표시 ShowSignalLine(true), // Signal Line 표시 SignalLength(14); // Signal 길이Variables: SumX(0), SumY(0), SumXSqr(0), SumXY(0), Slope(0), Intercept(0), RegStart(0), RegEnd(0), Deviation(0), UpperStart(0), UpperEnd(0), LowerStart(0), LowerEnd(0), RSIValue(0), SmaRSI(0), LowerThreshold(0), StepValue(0), SlopeValue(0), i(0), Val(0), Per(0), LowerVal(0), RSIPlotValue(0), SigPlotValue(0); // 로그 회귀 계산SumX = 0;SumY = 0;SumXSqr = 0;SumXY = 0;For i = 0 to ChannelLength - 1 Begin Val = Log(Close[i]); Per = i + 1; SumX = SumX + Per; SumY = SumY + Val; SumXSqr = SumXSqr + (Per * Per); SumXY = SumXY + (Val * Per);End;Slope = (ChannelLength * SumXY - SumX * SumY) / (ChannelLength * SumXSqr - SumX * SumX);Intercept = (SumY - Slope * SumX) / ChannelLength;// 회귀선 시작과 끝RegStart = ExpValue(Intercept + Slope * ChannelLength);RegEnd = ExpValue(Intercept);// 표준편차Deviation = StandardDev(Close, ChannelLength, 1);// 채널 상단/하단UpperStart = RegStart + Deviation * ChannelWidth;UpperEnd = RegEnd + Deviation * ChannelWidth;LowerStart = RegStart - Deviation * ChannelWidth;LowerEnd = RegEnd - Deviation * ChannelWidth;// RSI 계산RSIValue = RSI(Close, RSILength);SmaRSI = Average(RSIValue, SignalLength);// 스케일 계산LowerThreshold = 100 - UpperThreshold;SlopeValue = (RegStart - RegEnd) / ChannelLength;StepValue = (UpperEnd - LowerEnd) / (UpperThreshold - LowerThreshold);// RSI를 채널에 매핑LowerVal = LowerEnd + SlopeValue * 0;RSIPlotValue = LowerVal + StepValue * (RSIValue - LowerThreshold);SigPlotValue = LowerVal + StepValue * (SmaRSI - LowerThreshold);// 채널 라인 플롯Plot1(UpperEnd, "Upper Channel", RGB(167, 171, 185), default, 2);Plot2(LowerEnd, "Lower Channel", RGB(167, 171, 185), default, 2);// 중앙선 (옵션)If ShowMidLine Then Plot3(RegEnd, "Mid Line", Yellow, Dash, 1);// RSI 라인 플롯Plot4(RSIPlotValue, "RSI", RGB(161, 0, 182), default, 4);// Signal 라인 (옵션)If ShowSignalLine Then Plot5(SigPlotValue, "Signal", Red, default, 2);// 배경색 (옵션 - EasyLanguage는 제한적)// SetPlotBGColor 또는 Plot6-8을 활용하여 영역 표시 가능// 텍스트 표시 (옵션)If ShowThresholdLabels and BarNumber = CurrentBar Then Begin Value1 = Text_New(Date, Time, UpperEnd, " " + NumToStr(UpperThreshold, 2)); Value2 = Text_New(Date, Time, LowerEnd, " " + NumToStr(LowerThreshold, 2)); Value3 = Text_New(Date, Time, RSIPlotValue, " RSI: " + NumToStr(RSIValue, 2)); Text_SetColor(Value1, White); Text_SetColor(Value2, White); Text_SetColor(Value3, White);End;
RSI채널
Text_new
2025-10-19
118
글번호 227020
지표
답변완료
조건검색 문의
// Pine Script Code for Orange Breakout Signal Only// Copy and paste this entire code into TradingView Pine Editor//@version=5indicator("Orange Breakout Signal Only", overlay=true)// Input parametersperiod2 = input.int(20, "Period 2", minval=1)multiplier2 = input.float(2.0, "Multiplier 2", minval=0.1)// Calculate sourcesrc = (high + low) / 2// Function to calculate SuperTrendsuperTrend(period, multiplier) => alpha = 1.0 / period source = math.max(high - low, math.max(math.abs(high - close[1]), math.abs(low - close[1]))) atr = 0.0 atr := alpha * source + (1 - alpha) * nz(atr[1]) upperBand = src + multiplier * atr lowerBand = src - multiplier * atr prevLowerBand = nz(lowerBand[1]) prevUpperBand = nz(upperBand[1]) lowerBand := lowerBand > prevLowerBand or close[1] < prevLowerBand ? lowerBand : prevLowerBand upperBand := upperBand < prevUpperBand or close[1] > prevUpperBand ? upperBand : prevUpperBand direction = 0 direction := close > upperBand ? 1 : close < lowerBand ? -1 : nz(direction[1], 0) superTrendValue = direction == 1 ? lowerBand : upperBand [superTrendValue, direction]// Calculate SuperTrend[supertrend2, direction2] = superTrend(period2, multiplier2)// 오렌지 라인 돌파 신호만 감지 및 표시if ta.crossover(close, supertrend2) // 돌파 신호만 표시 (라인 없이) label.new(bar_index, low, "▲ ORANGE\nBREAKOUT", color=color.orange, textcolor=color.white, style=label.style_label_up, yloc=yloc.belowbar)오랜만에 문의 글 올립니다 (__) 일봉상 위 신호가 발생한 종목에 대해서 검출할 수 있도록 검색식 만들어주시면 감사드리겠습니다 :)
supertrend돌파
답변완료
참고데이타
Input : shortPeriod(12), longPeriod(26), Period(9);Var : MACDv(0), MACDsig(0),macdosc(0) ;MACDv = MACD(shortPeriod, longPeriod);MACDsig = ema(MACDv,Period);macdosc = MACDv-ema(MACDv,Period);if macdosc > 0 then{ plot1(macdosc, "MACDOscillator+"); Plot2(0, "MACDOscillator-");}else{ Plot1(0, "MACDOscillator+"); Plot2(macdosc, "MACDOscillator-");}Plot3(MACDv, "MACD");Plot4(MACDsig, "MACDSignal"); PlotBaseLine1(0, "기준선1");참고데디타 2로 적용하게 만들어 주세요
답변완료
문의드립니다
안녕하세요?1.아래수식이 콤파일이 안되는데 도와주세요Input : Period(20);Input : 상승색1(Pink), 상승색2(Magenta), 상승색3(Red);Input : 하락색1(LightBlue), 하락색2(Cyan), 하락색3(Blue);Var : DParity(0), clr(0);Var : AlertFlag_101(False), AlertFlag_99(False);Var : txtID101(0), txtID99(0);//--------------------------------------// 이격도 계산//--------------------------------------DParity = Disparity(Period);//--------------------------------------// 색상 지정//--------------------------------------If DParity >= 100 and DParity < 100.5 Then clr = 상승색1;Else If DParity >= 100.5 and DParity < 101 Then clr = 상승색2;Else If DParity >= 101 Then clr = 상승색3;Else If DParity < 100 and DParity > 99.5 Then clr = 하락색1;Else If DParity <= 99.5 and DParity > 99 Then clr = 하락색2;Else clr = 하락색3;//--------------------------------------// 기준선 표시//--------------------------------------Plot1(DParity, "이격도", clr);PlotBaseLine1(101.0, "101.0");PlotBaseLine2(100.5, "100.5");PlotBaseLine3(100.0, "기준선");PlotBaseLine4(99.5, "99.5");PlotBaseLine5(99.0, "99.0");//--------------------------------------// 알림 + 시각 표시 (핸들 저장 방식)//--------------------------------------// 101 상향 돌파If DParity >= 101 and AlertFlag_101 = False Then Begin PlaySound("C:\WRFutures\YesGlobalPro\data\Sound\이격도 101 상방돌파.wav"); Alert("이격도 101선 상향 돌파!"); txtID101 = Text_New_Self(Date, Time, DParity + 0.3, "▲101돌파"); Text_SetColor(txtID101, 상승색3); AlertFlag_101 = True;EndElse If DParity < 101 Then AlertFlag_101 = False;// 99 하향 돌파If DParity <= 99 and AlertFlag_99 = False Then Begin PlaySound("C:\WRFutures\YesGlobalPro\data\Sound\이격도 99 하방돌파.wav"); Alert("이격도 99선 하향 돌파!"); txtID99 = Text_New_Self(Date, Time, DParity - 0.3, "▼99이탈"); Text_SetColor(txtID99, 하락색3); AlertFlag_99 = True;EndElse If DParity > 99 Then AlertFlag_99 = False;2.아래수식은 콤파일은 되는데 아무신호도 발생하지않습니다(기간충분히 주었는데도)Input : fractalPeriods(2);Vars : disp20(0);// 20일 이격도 계산disp20 = Close / Average(Close, 20) * 100;// ------------------------// 매수 조건// ------------------------If disp20 < 90 ThenBegin If SwingLow(1, Low, fractalPeriods, fractalPeriods, fractalPeriods*2+1) <> -1 Then Buy ("FractalBuy");End;// ------------------------// 매도 조건// ------------------------If disp20 > 110 ThenBegin If SwingHigh(1, High, fractalPeriods, fractalPeriods, fractalPeriods*2+1) <> -1 Then Sell ("FractalSell");End;감사합니다
2025-10-19
166
글번호 227012
지표
답변완료
검색식과 종목검색식 부탁 드립니다1
아래 지표(ETwoPole)에서 검색식과 종목검색식 부탁 드립니다조건은 아래와 같습니다- 해당 지표의 색상이 청색에서 적색으로 변하는 지점 첨부 그림 참조Inputs: ETO_Period(21), // E Two Pole 기간 VDI_Period(21), // VDI 기간 VDI_Smoothing(3); // VDI 부드럽게 할 기간Vars: FirstEMA(0), SecondEMA(0), ETO(0);// PriceChange(0), AvgVolume(0), VolRatio(0),// UpVDI(0), DownVDI(0), VDI(0);// ===== 1. E Two Pole Oscillator 계산 =====// 1단계 EMAFirstEMA = EMA(Close, ETO_Period);// 2단계 EMASecondEMA = EMA(FirstEMA, ETO_Period);// 이 투폴 오실레이터ETO = Close - SecondEMA;/*// ===== 2. VDI 계산 =====// 가격 변화PriceChange = Close - Close[1];// 평균 거래량AvgVolume = Average(Volume, VDI_Period);// 거래량 비율If AvgVolume > 0 then VolRatio = Volume / AvgVolume;Else VolRatio = 1;// VDI 상승/하락 누적If PriceChange > 0 and VolRatio > 1 then UpVDI = UpVDI + (PriceChange * VolRatio);ElseIf PriceChange < 0 and VolRatio > 1 then DownVDI = DownVDI + (AbsValue(PriceChange) * VolRatio);// VDI 지표 계산VDI = EMA(UpVDI - DownVDI, VDI_Smoothing);*/Plot1(ETO,"ETO",IFF(ETO > 0,IFF(CountIF(ETO < 0, 3) > 0 && ETO > 0 && ETO >ETO[1],RgB(190,0,0), Red),Blue),Def,IFF(CountIF(ETO < 0, 3) > 0 && ETO > 0 && ETO >ETO[1],10,IFF(ETO >ETO[1],3,1)));Var : ETwoPole(0);_2025_WoodStock_ETwoPole(15,15,3, ETwoPole);Plot2( ETwoPole,"ETwoPole");/*Plot2(VDI,"VDI");Plot3(ema(VDI,20),"VDI20");// ===== 3. 매수·매도 조건 =====/*Condition1 = (ETO crosses above 0) and (VDI > 0); // 매수조건Condition2 = (ETO crosses below 0) and (VDI < 0); // 매도조건
ETwoPole
2025-10-18
131
글번호 227008
종목검색