답변완료
수식수정요청
안녕하세요 늘 도움 감사드려요. 아래의 수식에서 줄수 101 문법에러가 잘못된 토큰 오류가 나와서 수정 부탁드리며 그리고 중심선 색상이 정상적으로 작동하는지 살펴주세요
Inputs:
af(0.01),
maxAF(0.1),
추세선두께(1),
추세선색1(Yellow),
추세선색2(Cyan),
연장선두께(2),
연장선색(Gray);
Vars:
T(0), HH(0), LL(0), HD(0), HT(0), LD(0), LT(0),
HH1(0), LL1(0), HD1(0), HT1(0), LD1(0), LT1(0),
TL1(0), TL2(0), TL3(0), TL4(0), TL5(0), TL6(0), TL7(0),
TL11(0), TL22(0),
TX3(0), TX4(0), TX5(0), TX6(0), TX7(0),
value3(0), value4(0), value5(0), value6(0), value7(0);
Var: var1(0);
var1 = CSar(af, maxAF);
// 상승 전환 시
If CrossUp(C, var1) Then
Begin
T = 1;
HH = H; HD = Date; HT = Time;
HH1 = HH[1]; HD1 = HD[1]; HT1 = HT[1];
If LL > 0 Then
Begin
TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL_Delete(TL6); TL_Delete(TL7);
TL3 = TL_New(HD[1], HT[1], HH[1], Date, Time, HH[1]);
TL4 = TL_New(HD[1], HT[1], (HH[1] + LL)/2, Date, Time, (HH[1] + LL)/2); // 중심선
TL5 = TL_New(HD[1], HT[1], LL, Date, Time, LL);
TL6 = TL_New(HD[1], HT[1], HH[1] + (HH[1] - LL)/2, Date, Time, HH[1] + (HH[1] - LL)/2);
TL7 = TL_New(HD[1], HT[1], LL - (HH[1] - LL)/2, Date, Time, LL - (HH[1] - LL)/2);
TL_SetExtRight(TL3, True);
TL_SetExtRight(TL4, True);
TL_SetExtRight(TL5, True);
TL_SetExtRight(TL6, True);
TL_SetExtRight(TL7, True);
Text_Delete(TX3); Text_Delete(TX4); Text_Delete(TX5); Text_Delete(TX6); Text_Delete(TX7);
value3 = HH[1];
value4 = (HH[1] + LL)/2;
value5 = LL;
value6 = HH[1] + (HH[1] - LL)/2;
value7 = LL - (HH[1] - LL)/2;
TX3 = Text_New(Date, Time, value3, NumToStr(value3, 2));
TX4 = Text_New(Date, Time, value4, NumToStr(value4, 2));
TX5 = Text_New(Date, Time, value5, NumToStr(value5, 2));
TX6 = Text_New(Date, Time, value6, NumToStr(value6, 2));
TX7 = Text_New(Date, Time, value7, NumToStr(value7, 2));
End;
End;
// 하락 전환 시
If CrossDown(C, var1) Then
Begin
T = -1;
LL = L; LD = Date; LT = Time;
LL1 = LL[1]; LD1 = LD[1]; LT1 = LT[1];
If HH > 0 Then
Begin
TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL_Delete(TL6); TL_Delete(TL7);
TL3 = TL_New(LD[1], LT[1], HH, Date, Time, HH);
TL4 = TL_New(LD[1], LT[1], (HH + LL[1])/2, Date, Time, (HH + LL[1])/2); // 중심선
TL5 = TL_New(LD[1], LT[1], LL[1], Date, Time, LL[1]);
TL6 = TL_New(LD[1], LT[1], LL[1] - (HH - LL[1])/2, Date, Time, LL[1] - (HH - LL[1])/2);
TL7 = TL_New(LD[1], LT[1], HH[1] + (HH - LL[1])/2, Date, Time, HH[1] + (HH - LL[1])/2);
TL_SetExtRight(TL3, True);
TL_SetExtRight(TL4, True);
TL_SetExtRight(TL5, True);
TL_SetExtRight(TL6, True);
TL_SetExtRight(TL7, True);
Text_Delete(TX3); Text_Delete(TX4); Text_Delete(TX5); Text_Delete(TX6); Text_Delete(TX7);
value3 = HH;
value4 = (HH + LL[1])/2;
value5 = LL[1];
value6 = HH + (HH - LL[1])/2;
value7 = LL[1] - (HH - LL[1])/2;
TX3 = Text_New(Date, Time, value3, NumToStr(value3, 2));
TX4 = Text_New(Date, Time, value4, NumToStr(value4, 2));
TX5 = Text_New(Date, Time, value5, NumToStr(value5, 2));
TX6 = Text_New(Date, Time, value6, NumToStr(value6, 2));
TX7 = Text_New(Date, Time, value7, NumToStr(value7, 2));
End;
End;
// 중심선 색상 구분
If T = 1 Then
TL_SetColor(TL4, Yellow) // 상승 시 노란색
If T = 1 Then
TL_SetColor(TL4, Blue); // 하락 시 파란색
// 나머지 추세선, 연장선 색상 설정
TL_SetSize(TL3, 연장선두께);
TL_SetSize(TL5, 연장선두께);
TL_SetSize(TL6, 연장선두께);
TL_SetSize(TL7, 연장선두께);
TL_SetColor(TL3, 연장선색);
TL_SetColor(TL5, 연장선색);
TL_SetColor(TL6, 연장선색);
TL_SetColor(TL7, 연장선색);
Text_SetStyle(TX3, 0, 1);
Text_SetStyle(TX4, 0, 1);
Text_SetStyle(TX5, 0, 1);
Text_SetStyle(TX6, 0, 1);
Text_SetStyle(TX7, 0, 1);
2025-08-11
163
글번호 193156
지표
답변완료
부틱드립니다
수고하십니다
트레이딩 뷰 수식입니다.
예스로적용가능하도록 부탁 드립니다.
//@version=3
study(title = "Open Close Cross Strategy R5.1 revised by JustUncleL", shorttitle = "OCC Strategy R5.1", overlay = true)
// === INPUTS ===
useRes = input(defval = true, title = "Use Alternate Resolution?")
intRes = input(defval = 3, title = "Multiplier for Alernate Resolution")
stratRes = ismonthly? tostring(interval*intRes,"###M") : isweekly? tostring(interval*intRes,"###W") : isdaily? tostring(interval*intRes,"###D") : isintraday ? tostring(interval*intRes,"####") : '60'
basisType = input(defval = "SMMA", title = "MA Type: ", options=["SMA", "EMA", "DEMA", "TEMA", "WMA", "VWMA", "SMMA", "HullMA", "LSMA", "ALMA", "SSMA", "TMA"])
basisLen = input(defval = 8, title = "MA Period", minval = 1)
offsetSigma = input(defval = 6, title = "Offset for LSMA / Sigma for ALMA", minval = 0)
offsetALMA = input(defval = 0.85, title = "Offset for ALMA", minval = 0, step = 0.01)
scolor = input(false, title="Show coloured Bars to indicate Trend?")
delayOffset = input(defval = 0, title = "Delay Open/Close MA (Forces Non-Repainting)", minval = 0, step = 1)
tradeType = input("BOTH", title="What trades should be taken : ", options=["LONG", "SHORT", "BOTH", "NONE"])
// === /INPUTS ===
// Constants colours that include fully non-transparent option.
green100 = #008000FF
lime100 = #00FF00FF
red100 = #FF0000FF
blue100 = #0000FFFF
aqua100 = #00FFFFFF
darkred100 = #8B0000FF
gray100 = #808080FF
// === BASE FUNCTIONS ===
// Returns MA input SEECTion variant, default to SMA if blank or typo.
variant(type, src, len, offSig, offALMA) =>
v1 = sma(src, len) // Simple
v2 = ema(src, len) // Exponential
v3 = 2 * v2 - ema(v2, len) // Double Exponential
v4 = 3 * (v2 - ema(v2, len)) + ema(ema(v2, len), len) // Triple Exponential
v5 = wma(src, len) // Weighted
v6 = vwma(src, len) // Volume Weighted
v7 = 0.0
v7 := na(v7[1]) ? sma(src, len) : (v7[1] * (len - 1) + src) / len // Smoothed
v8 = wma(2 * wma(src, len / 2) - wma(src, len), round(sqrt(len))) // Hull
v9 = linreg(src, len, offSig) // Least Squares
v10 = alma(src, len, offALMA, offSig) // Arnaud Legoux
v11 = sma(v1,len) // Triangular (extreme smooth)
// SuperSmoother filter
// © 2013 John F. Ehlers
a1 = exp(-1.414*3.14159 / len)
b1 = 2*a1*cos(1.414*3.14159 / len)
c2 = b1
c3 = (-a1)*a1
c1 = 1 - c2 - c3
v12 = 0.0
v12 := c1*(src + nz(src[1])) / 2 + c2*nz(v12[1]) + c3*nz(v12[2])
type=="EMA"?v2 : type=="DEMA"?v3 : type=="TEMA"?v4 : type=="WMA"?v5 : type=="VWMA"?v6 : type=="SMMA"?v7 : type=="HullMA"?v8 : type=="LSMA"?v9 : type=="ALMA"?v10 : type=="TMA"?v11: type=="SSMA"?v12: v1
// security wrapper for repeat calls
reso(exp, use, res) => use ? security(tickerid, res, exp, gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on) : exp
// === /BASE FUNCTIONS ===
// === SERIES SETUP ===
closeSeries = variant(basisType, close[delayOffset], basisLen, offsetSigma, offsetALMA)
openSeries = variant(basisType, open[delayOffset], basisLen, offsetSigma, offsetALMA)
// === /SERIES ===
// === PLOTTING ===
// Get Alternate resolution Series if SEECTed.
closeSeriesAlt = reso(closeSeries, useRes, stratRes)
openSeriesAlt = reso(openSeries, useRes, stratRes)
//
trendColour = (closeSeriesAlt > openSeriesAlt) ? green : red
bcolour = (closeSeries > openSeriesAlt) ? lime100 : red100
barcolor(scolor?bcolour:na, title = "Bar Colours")
closeP=plot(closeSeriesAlt, title = "Close Series", color = trendColour, linewidth = 2, style = line, transp = 20)
openP=plot(openSeriesAlt, title = "Open Series", color = trendColour, linewidth = 2, style = line, transp = 20)
fill(closeP,openP,color=trendColour,transp=80)
// === /PLOTTING ===
//
//
// === ALERT conditions
xlong = crossover(closeSeriesAlt, openSeriesAlt)
alertcondition(xlong, title="xlong signal", message="xlong Alert")
xshort = crossunder(closeSeriesAlt, openSeriesAlt)
alertcondition(xshort, title="xshort signal", message="xshort Alert")
longCond = xlong // alternative: longCond[1]? false : (xlong or xlong[1]) and close>closeSeriesAlt and close>=open
alertcondition(longCond, title="Go LONG signal", message="go long")
shortCond = xshort // alternative: shortCond[1]? false : (xshort or xshort[1]) and close<closeSeriesAlt and close<=open
alertcondition(shortCond, title="Go SHORT", message="Go Short")
// === /ALERT conditions.
// === STRATEGY ===
// stop loss
slPoints = input(defval = 0, title = "Initial Stop Loss Points (zero to disable)", minval = 0)
tpPoints = input(defval = 0, title = "Initial Target Profit Points (zero for disable)", minval = 0)
// Include bar limiting algorithm
ebar = input(defval = 10000, title="Number of Bars for Back Testing", minval=0)
dummy = input(false, title="- SET to ZERO for Daily or Longer Timeframes" )
//
// Calculate how many mars since last bar
tdays = (timenow-time)/60000.0 // number of minutes since last bar
tdays := ismonthly? tdays/1440.0/5.0/4.3/interval : isweekly? tdays/1440.0/5.0/interval : isdaily? tdays/1440.0/interval : tdays/interval // number of bars since last bar
//
//set up exit parameters
TP = tpPoints>0?tpPoints:na
SL = slPoints>0?slPoints:na
2025-08-11
281
글번호 193118
지표