커뮤니티

트레이딩뷰 PMax 지표를 예스수식으로 변환요청드립니다.

프로필 이미지
양정희
2020-10-04 15:32:41
1089
글번호 142812
답변완료
//@version=4 // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // &copy; KivancOzbilgic //developer: @KivancOzbilgic //author: @KivancOzbilgic study("Profit Maximizer","PMax", overlay=true) src = input(hl2, title="Source") Periods = input(title="ATR Length", type=input.integer, defval=10) Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0) mav = input(title="Moving Average Type", defval="EMA", options=["SMA", "EMA", "WMA", "TMA", "VAR", "WWMA", "ZLEMA", "TSF"]) length =input(10, "Moving Average Length", minval=1) changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true) showsupport = input(title="Show Moving Average?", type=input.bool, defval=true) showsignalsk = input(title="Show Crossing Signals?", type=input.bool, defval=true) showsignalsc = input(title="Show Price/Pmax Crossing Signals?", type=input.bool, defval=false) highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true) atr2 = sma(tr, Periods) atr= changeATR ? atr(Periods) : atr2 valpha=2/(length+1) vud1=src>src[1] ? src-src[1] : 0 vdd1=src<src[1] ? src[1]-src : 0 vUD=sum(vud1,9) vDD=sum(vdd1,9) vCMO=nz((vUD-vDD)/(vUD+vDD)) VAR=0.0 VAR:=nz(valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*nz(VAR[1]) wwalpha = 1/ length WWMA = 0.0 WWMA := wwalpha*src + (1-wwalpha)*nz(WWMA[1]) zxLag = length/2==round(length/2) ? length/2 : (length - 1) / 2 zxEMAData = (src + (src - src[zxLag])) ZLEMA = ema(zxEMAData, length) lrc = linreg(src, length, 0) lrc1 = linreg(src,length,1) lrs = (lrc-lrc1) TSF = linreg(src, length, 0)+lrs getMA(src, length) => ma = 0.0 if mav == "SMA" ma := sma(src, length) ma if mav == "EMA" ma := ema(src, length) ma if mav == "WMA" ma := wma(src, length) ma if mav == "TMA" ma := sma(sma(src, ceil(length / 2)), floor(length / 2) + 1) ma if mav == "VAR" ma := VAR ma if mav == "WWMA" ma := WWMA ma if mav == "ZLEMA" ma := ZLEMA ma if mav == "TSF" ma := TSF ma ma MAvg=getMA(src, length) longStop = MAvg - Multiplier*atr longStopPrev = nz(longStop[1], longStop) longStop := MAvg > longStopPrev ? max(longStop, longStopPrev) : longStop shortStop = MAvg + Multiplier*atr shortStopPrev = nz(shortStop[1], shortStop) shortStop := MAvg < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop dir = 1 dir := nz(dir[1], dir) dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir PMax = dir==1 ? longStop: shortStop plot(showsupport ? MAvg : na, color=#0585E1, linewidth=2, title="Moving Avg Line") pALL=plot(PMax, color=color.red, linewidth=2, title="PMax", transp=0) alertcondition(cross(MAvg, PMax), title="Cross Alert", message="PMax - Moving Avg Crossing!") alertcondition(crossover(MAvg, PMax), title="Crossover Alarm", message="Moving Avg BUY SIGNAL!") alertcondition(crossunder(MAvg, PMax), title="Crossunder Alarm", message="Moving Avg SELL SIGNAL!") alertcondition(cross(src, PMax), title="Price Cross Alert", message="PMax - Price Crossing!") alertcondition(crossover(src, PMax), title="Price Crossover Alarm", message="PRICE OVER PMax - BUY SIGNAL!") alertcondition(crossunder(src, PMax), title="Price Crossunder Alarm", message="PRICE UNDER PMax - SELL SIGNAL!") buySignalk = crossover(MAvg, PMax) plotshape(buySignalk and showsignalsk ? PMax*0.995 : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0) sellSignallk = crossunder(MAvg, PMax) plotshape(sellSignallk and showsignalsk ? PMax*1.005 : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0) buySignalc = crossover(src, PMax) plotshape(buySignalc and showsignalsc ? PMax*0.995 : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=#0F18BF, textcolor=color.white, transp=0) sellSignallc = crossunder(src, PMax) plotshape(sellSignallc and showsignalsc ? PMax*1.005 : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=#0F18BF, textcolor=color.white, transp=0) mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0,display=display.none) longFillColor = highlighting ? (MAvg>PMax ? color.green : na) : na shortFillColor = highlighting ? (MAvg<PMax ? color.red : na) : na fill(mPlot, pALL, title="UpTrend Highligter", color=longFillColor) fill(mPlot, pALL, title="DownTrend Highligter", color=shortFillColor) ----------------------------------------------------------------------------------- 1. buy와 sell이 들어가는거 보면 지표수식은 아닌거 같고 시스템수식인지 잘모르겠는데 저는 지표수식으로 요청했는데 지표수식이 아니면 시스템으로 변경요청해주셔요. 그냥 시스템식과 지표식 둘다 가능하면 둘다 만들어주시면 감사하겠습니다. ----------------------------------------------------------------------------------- input : length(100),mult(1); var : src(0),a(0),b(0),size(0); src = close; size = iff((a[1]-a[2]) > 0 or (b[1]-b[2]) < 0 , atr(length) ,TrueRange); if a[1] > a[2] Then { Condition1 = true; var1 = 0; } Else { if Condition1 == true Then var1 = var1+1; } if b[1] < b[2] Then { Condition2 = true; var2 = 0; } Else { if Condition2 == true Then var2 = var2+1; } a = max(src,a[1]) - size/pow(length,2)*(var1*mult); b = min(src,b[1]) + size/pow(length,2)*(Var2*mult); plot1(a); plot2(b); ------------------------------------------------------------------------ 2.채널의 상단과 하단의 중심선을 만들어 표시하고 싶은데요. 중심에 점선으로 표시하고 싶습니다. 상승하락 구분되게끔 상승시 빨강 하락시 파랑으로 표시해주시면 좋겠습니다. 수식을 첨가해서 만들어주시면 감사하겠습니다. ------------------------------------------------------------------------ Input:Period(14),n(0),multi(0.5),Left(3),Right(3); Var:기울기(0),절편(0),회귀선(0),회귀선tmp(0),채널폭(0),j(0),T(0); var : 상단1(0),상단2(0),하단1(0),하단2(0),TL1(0),TL2(0); 기울기 = LRS(C, Period)[n]; 절편 = _intercept(C,Period)[n]; 회귀선 = 기울기 * Index + 절편; 채널폭 = 0; for j = n to Period + n - 1 { 회귀선tmp = 기울기 * Index[j] + 절편; 채널폭 = max(채널폭,max(abs(H[j] - 회귀선tmp),abs(회귀선tmp - L[j]))); } if 회귀선 > 회귀선[1] Then T = 1; if 회귀선 < 회귀선[1] Then T = -1; 상단2 = 회귀선 + 채널폭 * multi; 상단1 = 회귀선 + 채널폭; 하단1 = 회귀선 - 채널폭; 하단2 = 회귀선 - 채널폭 * multi; plot1(회귀선,"회귀선",iff(T==1,RED,BLUE)); plot2(상단1); plot3(하단1); plot4(상단2); plot5(하단2); if SwingHigh(1,상단2,left,right,left+right+1) != -1 Then { var1 = 상단1[right]; TL1 = TL_New(sDate[right],sTime[right],var1,sDate,sTime,var1); TL_SetColor(TL1,BLUE); } Else TL_SetEnd(TL1,sDate,sTime,var1); if Swinglow(1,하단2,left,right,left+right+1) != -1 Then { var2 = 하단1[right]; TL2 = TL_New(sDate[right],sTime[right],var2,sDate,sTime,var2); TL_SetColor(TL2,RED); } Else TL_SetEnd(TL2,sDate,sTime,var2); ---------------------------------------------------------------------------------- 3. 위 그래프선형채널 수식에 상단하단 빨간선 파란선 나오는 부분에 글자표시 해주시면 감사하겠습니다. 파란선 왼쪽 옆에 "수" 표시가 나오게끔 해주시고 빨간선 오른쪽 옆에 "도" 표시가 나오게끔 해주시면 좋겠습니다. ----------------------------------------------------------------------------------- var:text1(0); plot1(I_CurrentContracts); PlotBaseLine1(0); If I_CurrentContracts <> 0 and I_CurrentContracts[1] <> I_CurrentContracts Then { text1 = Text_New_Self(sDate,sTime,I_CurrentContracts,numtostr(I_CurrentContracts,0)); Text_SetBold(text1,1); Text_SetSize(text1,18); Text_SetStyle(text1,0,IFF(I_MarketPosition==1,0,1)); } -------------------------------------------------------------------------------------- 4. 포지션현재수량 수식인데요. 제가 원하는게 1분봉에서 추세를 파악하려하는데 1분봉상에서 타주기 5분봉, 10분봉, 30분봉, 60분봉의 포지션현재수량이 보조지표로 표현되게끔 할수 있을까요? 가능하면 부탁드리겠습니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-10-05 14:58:04

안녕하세요 예스스탁입니다. 1-1 지표 input : Periods(10),Multiplier(3.0),length(10); var : src(0),ATRv(0),valpha(0),VARr(0),vud1(0),vDD1(0),vUD(0),vDD(0),vCMO(0); var : wwalpha(0),WWMA(0),zxLag(0),zxEMAData(0),ZLEMA(0); var : lrc(0),lrc1(0),lrs(0),TSF(0); var : MAvg(0),longStop(0),longStopPrev(0); var : shortStop(0),shortStopPrev(0); var : dir(0),PMax(0); src = (h+l)/2; atrv = atr(Periods); valpha=2/(length+1); vud1 = iff(src>src[1],src-src[1],0); vdd1 = iff(src<src[1],src[1]-src,0); vUD=AccumN(vud1,9); vDD=AccumN(vdd1,9); vCMO=(vUD-vDD)/(vUD+vDD); VARr = 0; VARr = (valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*VARr[1]; wwalpha = 1/ length; WWMA = 0; WWMA = wwalpha*src + (1-wwalpha)*WWMA[1]; zxLag = IFf(length/2==round(length/2,0) , length/2 , (length - 1) / 2); zxEMAData = (src + (src - src[zxLag])); ZLEMA = ema(zxEMAData, length); lrc = LRL(src, length); lrc1 = lrc[1]; lrs = (lrc-lrc1); TSF = Lrc+lrs; MAvg = ma(src, length); longStop = MAvg - Multiplier*atrv; longStopPrev = IFf(isnan(longStop[1]) == true,longStop,longStop[1]); longStop = iff(MAvg > longStopPrev , max(longStop, longStopPrev) , longStop); shortStop = MAvg + Multiplier*atrv; shortStopPrev = IFf(isnan(shortStop[1]) == true,shortStop,shortStop[1]); shortStop = iff(MAvg < shortStopPrev , min(shortStop, shortStopPrev) , shortStop); dir = 1; dir = IFf(isnan(dir[1]) == true,dir,dir[1]); dir = iff(dir == -1 and MAvg > shortStopPrev , 1 ,IFf(dir == 1 and MAvg < longStopPrev , -1 , dir)); PMax = IFf(dir == 1 , longStop , shortStop); plot1(MAvg,"Moving Avg Line"); plot2(PMax,"PMax",RED); 1-2 시스템 input : Periods(10),Multiplier(3.0),length(10); var : src(0),ATRv(0),valpha(0),VARr(0),vud1(0),vDD1(0),vUD(0),vDD(0),vCMO(0); var : wwalpha(0),WWMA(0),zxLag(0),zxEMAData(0),ZLEMA(0); var : lrc(0),lrc1(0),lrs(0),TSF(0); var : MAvg(0),longStop(0),longStopPrev(0); var : shortStop(0),shortStopPrev(0); var : dir(0),PMax(0); src = (h+l)/2; atrv = atr(Periods); valpha=2/(length+1); vud1 = iff(src>src[1],src-src[1],0); vdd1 = iff(src<src[1],src[1]-src,0); vUD=AccumN(vud1,9); vDD=AccumN(vdd1,9); vCMO=(vUD-vDD)/(vUD+vDD); VARr = 0; VARr = (valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*VARr[1]; wwalpha = 1/ length; WWMA = 0; WWMA = wwalpha*src + (1-wwalpha)*WWMA[1]; zxLag = IFf(length/2==round(length/2,0) , length/2 , (length - 1) / 2); zxEMAData = (src + (src - src[zxLag])); ZLEMA = ema(zxEMAData, length); lrc = LRL(src, length); lrc1 = lrc[1]; lrs = (lrc-lrc1); TSF = Lrc+lrs; MAvg = ma(src, length); longStop = MAvg - Multiplier*atrv; longStopPrev = IFf(isnan(longStop[1]) == true,longStop,longStop[1]); longStop = iff(MAvg > longStopPrev , max(longStop, longStopPrev) , longStop); shortStop = MAvg + Multiplier*atrv; shortStopPrev = IFf(isnan(shortStop[1]) == true,shortStop,shortStop[1]); shortStop = iff(MAvg < shortStopPrev , min(shortStop, shortStopPrev) , shortStop); dir = 1; dir = IFf(isnan(dir[1]) == true,dir,dir[1]); dir = iff(dir == -1 and MAvg > shortStopPrev , 1 ,IFf(dir == 1 and MAvg < longStopPrev , -1 , dir)); PMax = IFf(dir == 1 , longStop , shortStop); if CrossUp(MAvg,PMax) Then Buy(); if CrossDown(MAvg,PMax) Then Sell(); 2 그래프 모양은 속성에서 직접 지정하셔야 합니다. input : length(100),mult(1); var : src(0),a(0),b(0),size(0),r(0),s(0); src = close; size = iff((a[1]-a[2]) > 0 or (b[1]-b[2]) < 0 , atr(length) ,TrueRange); if a[1] > a[2] Then { Condition1 = true; var1 = 0; } Else { if Condition1 == true Then var1 = var1+1; } if b[1] < b[2] Then { Condition2 = true; var2 = 0; } Else { if Condition2 == true Then var2 = var2+1; } a = max(src,a[1]) - size/pow(length,2)*(var1*mult); b = min(src,b[1]) + size/pow(length,2)*(Var2*mult); r = (a+b)/2; if r > r[1] then s = 1; if r < r[1] then s = -1; plot1(a,"상단"); plot2(b,"하단"); plot3(r,"중심",IFF(s == 1,RED,BLUE)); 3 마자막 수평선에만 표시를 원하시면 #Text_Delete(TX1); #Text_Delete(TX2); 수식 내 위 부분에 주석을 해제하시면 됩니다. Input:Period(14),n(0),multi(0.5),Left(3),Right(3); Var:기울기(0),절편(0),회귀선(0),회귀선tmp(0),채널폭(0),j(0),T(0); var : 상단1(0),상단2(0),하단1(0),하단2(0),TL1(0),TL2(0),TX1(0),TX2(0); 기울기 = LRS(C, Period)[n]; 절편 = _intercept(C,Period)[n]; 회귀선 = 기울기 * Index + 절편; 채널폭 = 0; for j = n to Period + n - 1 { 회귀선tmp = 기울기 * Index[j] + 절편; 채널폭 = max(채널폭,max(abs(H[j] - 회귀선tmp),abs(회귀선tmp - L[j]))); } if 회귀선 > 회귀선[1] Then T = 1; if 회귀선 < 회귀선[1] Then T = -1; 상단2 = 회귀선 + 채널폭 * multi; 상단1 = 회귀선 + 채널폭; 하단1 = 회귀선 - 채널폭; 하단2 = 회귀선 - 채널폭 * multi; plot1(회귀선,"회귀선",iff(T==1,RED,BLUE)); plot2(상단1); plot3(하단1); plot4(상단2); plot5(하단2); if SwingHigh(1,상단2,left,right,left+right+1) != -1 Then { var1 = 상단1[right]; TL1 = TL_New(sDate[right],sTime[right],var1,sDate,sTime,var1); TL_SetColor(TL1,BLUE); #Text_Delete(TX1); TX1 = Text_New(sDate[right],sTime[right],var1,"수"); Text_SetStyle(TX1,2,1); Text_SetColor(Tx1,BLUE); } Else { TL_SetEnd(TL1,sDate,sTime,var1); Text_SetLocation(TX1,sDate,sTime,Var1); } if Swinglow(1,하단2,left,right,left+right+1) != -1 Then { var2 = 하단1[right]; TL2 = TL_New(sDate[right],sTime[right],var2,sDate,sTime,var2); TL_SetColor(TL2,RED); #Text_Delete(TX2); TX2 = Text_New(sDate[right],sTime[right],var1,"도"); Text_SetStyle(TX2,2,0); Text_SetColor(Tx2,RED); } Else { TL_SetEnd(TL2,sDate,sTime,var2); Text_SetLocation(TX2,sDate,sTime,Var2); } 4 문의하신 내용은 가능하지 않습니다. I_로 되어 있는 포지션 함수들은 기본차트에 적용된 시스템의 정보만 알수 있습니다. 다른 주기의 신호내역은 알수가 없습니다. 즐거운 하루되세요 > 양정희 님이 쓴 글입니다. > 제목 : 트레이딩뷰 PMax 지표를 예스수식으로 변환요청드립니다. > //@version=4 // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // &#169; KivancOzbilgic //developer: @KivancOzbilgic //author: @KivancOzbilgic study("Profit Maximizer","PMax", overlay=true) src = input(hl2, title="Source") Periods = input(title="ATR Length", type=input.integer, defval=10) Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0) mav = input(title="Moving Average Type", defval="EMA", options=["SMA", "EMA", "WMA", "TMA", "VAR", "WWMA", "ZLEMA", "TSF"]) length =input(10, "Moving Average Length", minval=1) changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true) showsupport = input(title="Show Moving Average?", type=input.bool, defval=true) showsignalsk = input(title="Show Crossing Signals?", type=input.bool, defval=true) showsignalsc = input(title="Show Price/Pmax Crossing Signals?", type=input.bool, defval=false) highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true) atr2 = sma(tr, Periods) atr= changeATR ? atr(Periods) : atr2 valpha=2/(length+1) vud1=src>src[1] ? src-src[1] : 0 vdd1=src<src[1] ? src[1]-src : 0 vUD=sum(vud1,9) vDD=sum(vdd1,9) vCMO=nz((vUD-vDD)/(vUD+vDD)) VAR=0.0 VAR:=nz(valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*nz(VAR[1]) wwalpha = 1/ length WWMA = 0.0 WWMA := wwalpha*src + (1-wwalpha)*nz(WWMA[1]) zxLag = length/2==round(length/2) ? length/2 : (length - 1) / 2 zxEMAData = (src + (src - src[zxLag])) ZLEMA = ema(zxEMAData, length) lrc = linreg(src, length, 0) lrc1 = linreg(src,length,1) lrs = (lrc-lrc1) TSF = linreg(src, length, 0)+lrs getMA(src, length) => ma = 0.0 if mav == "SMA" ma := sma(src, length) ma if mav == "EMA" ma := ema(src, length) ma if mav == "WMA" ma := wma(src, length) ma if mav == "TMA" ma := sma(sma(src, ceil(length / 2)), floor(length / 2) + 1) ma if mav == "VAR" ma := VAR ma if mav == "WWMA" ma := WWMA ma if mav == "ZLEMA" ma := ZLEMA ma if mav == "TSF" ma := TSF ma ma MAvg=getMA(src, length) longStop = MAvg - Multiplier*atr longStopPrev = nz(longStop[1], longStop) longStop := MAvg > longStopPrev ? max(longStop, longStopPrev) : longStop shortStop = MAvg + Multiplier*atr shortStopPrev = nz(shortStop[1], shortStop) shortStop := MAvg < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop dir = 1 dir := nz(dir[1], dir) dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir PMax = dir==1 ? longStop: shortStop plot(showsupport ? MAvg : na, color=#0585E1, linewidth=2, title="Moving Avg Line") pALL=plot(PMax, color=color.red, linewidth=2, title="PMax", transp=0) alertcondition(cross(MAvg, PMax), title="Cross Alert", message="PMax - Moving Avg Crossing!") alertcondition(crossover(MAvg, PMax), title="Crossover Alarm", message="Moving Avg BUY SIGNAL!") alertcondition(crossunder(MAvg, PMax), title="Crossunder Alarm", message="Moving Avg SELL SIGNAL!") alertcondition(cross(src, PMax), title="Price Cross Alert", message="PMax - Price Crossing!") alertcondition(crossover(src, PMax), title="Price Crossover Alarm", message="PRICE OVER PMax - BUY SIGNAL!") alertcondition(crossunder(src, PMax), title="Price Crossunder Alarm", message="PRICE UNDER PMax - SELL SIGNAL!") buySignalk = crossover(MAvg, PMax) plotshape(buySignalk and showsignalsk ? PMax*0.995 : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0) sellSignallk = crossunder(MAvg, PMax) plotshape(sellSignallk and showsignalsk ? PMax*1.005 : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0) buySignalc = crossover(src, PMax) plotshape(buySignalc and showsignalsc ? PMax*0.995 : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=#0F18BF, textcolor=color.white, transp=0) sellSignallc = crossunder(src, PMax) plotshape(sellSignallc and showsignalsc ? PMax*1.005 : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=#0F18BF, textcolor=color.white, transp=0) mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0,display=display.none) longFillColor = highlighting ? (MAvg>PMax ? color.green : na) : na shortFillColor = highlighting ? (MAvg<PMax ? color.red : na) : na fill(mPlot, pALL, title="UpTrend Highligter", color=longFillColor) fill(mPlot, pALL, title="DownTrend Highligter", color=shortFillColor) ----------------------------------------------------------------------------------- 1. buy와 sell이 들어가는거 보면 지표수식은 아닌거 같고 시스템수식인지 잘모르겠는데 저는 지표수식으로 요청했는데 지표수식이 아니면 시스템으로 변경요청해주셔요. 그냥 시스템식과 지표식 둘다 가능하면 둘다 만들어주시면 감사하겠습니다. ----------------------------------------------------------------------------------- input : length(100),mult(1); var : src(0),a(0),b(0),size(0); src = close; size = iff((a[1]-a[2]) > 0 or (b[1]-b[2]) < 0 , atr(length) ,TrueRange); if a[1] > a[2] Then { Condition1 = true; var1 = 0; } Else { if Condition1 == true Then var1 = var1+1; } if b[1] < b[2] Then { Condition2 = true; var2 = 0; } Else { if Condition2 == true Then var2 = var2+1; } a = max(src,a[1]) - size/pow(length,2)*(var1*mult); b = min(src,b[1]) + size/pow(length,2)*(Var2*mult); plot1(a); plot2(b); ------------------------------------------------------------------------ 2.채널의 상단과 하단의 중심선을 만들어 표시하고 싶은데요. 중심에 점선으로 표시하고 싶습니다. 상승하락 구분되게끔 상승시 빨강 하락시 파랑으로 표시해주시면 좋겠습니다. 수식을 첨가해서 만들어주시면 감사하겠습니다. ------------------------------------------------------------------------ Input:Period(14),n(0),multi(0.5),Left(3),Right(3); Var:기울기(0),절편(0),회귀선(0),회귀선tmp(0),채널폭(0),j(0),T(0); var : 상단1(0),상단2(0),하단1(0),하단2(0),TL1(0),TL2(0); 기울기 = LRS(C, Period)[n]; 절편 = _intercept(C,Period)[n]; 회귀선 = 기울기 * Index + 절편; 채널폭 = 0; for j = n to Period + n - 1 { 회귀선tmp = 기울기 * Index[j] + 절편; 채널폭 = max(채널폭,max(abs(H[j] - 회귀선tmp),abs(회귀선tmp - L[j]))); } if 회귀선 > 회귀선[1] Then T = 1; if 회귀선 < 회귀선[1] Then T = -1; 상단2 = 회귀선 + 채널폭 * multi; 상단1 = 회귀선 + 채널폭; 하단1 = 회귀선 - 채널폭; 하단2 = 회귀선 - 채널폭 * multi; plot1(회귀선,"회귀선",iff(T==1,RED,BLUE)); plot2(상단1); plot3(하단1); plot4(상단2); plot5(하단2); if SwingHigh(1,상단2,left,right,left+right+1) != -1 Then { var1 = 상단1[right]; TL1 = TL_New(sDate[right],sTime[right],var1,sDate,sTime,var1); TL_SetColor(TL1,BLUE); } Else TL_SetEnd(TL1,sDate,sTime,var1); if Swinglow(1,하단2,left,right,left+right+1) != -1 Then { var2 = 하단1[right]; TL2 = TL_New(sDate[right],sTime[right],var2,sDate,sTime,var2); TL_SetColor(TL2,RED); } Else TL_SetEnd(TL2,sDate,sTime,var2); ---------------------------------------------------------------------------------- 3. 위 그래프선형채널 수식에 상단하단 빨간선 파란선 나오는 부분에 글자표시 해주시면 감사하겠습니다. 파란선 왼쪽 옆에 "수" 표시가 나오게끔 해주시고 빨간선 오른쪽 옆에 "도" 표시가 나오게끔 해주시면 좋겠습니다. ----------------------------------------------------------------------------------- var:text1(0); plot1(I_CurrentContracts); PlotBaseLine1(0); If I_CurrentContracts <> 0 and I_CurrentContracts[1] <> I_CurrentContracts Then { text1 = Text_New_Self(sDate,sTime,I_CurrentContracts,numtostr(I_CurrentContracts,0)); Text_SetBold(text1,1); Text_SetSize(text1,18); Text_SetStyle(text1,0,IFF(I_MarketPosition==1,0,1)); } -------------------------------------------------------------------------------------- 4. 포지션현재수량 수식인데요. 제가 원하는게 1분봉에서 추세를 파악하려하는데 1분봉상에서 타주기 5분봉, 10분봉, 30분봉, 60분봉의 포지션현재수량이 보조지표로 표현되게끔 할수 있을까요? 가능하면 부탁드리겠습니다.