답변완료
오랜만에 인사드리네요 잘부탁 드립니다
1번지표 2번지표 하나의 지표로 부탁드립니다
1,
input : length(24);
var : src(0),a(0),p(0),b(0),clr(0),tx(0);
src = (h+l)/2;
a = wma((2 * wma(src,length / 2)) - wma(src, length), round(sqrt(length),0));
p = length/2;
b = wma(wma(close,p/3)*3 - wma(close,p/2) - wma(close,p),p);
clr = iff(b > a , lime , red);
plot1(a,"a",clr);
plot2(b,"b",clr);
if a > b and a[1] < b[1] Then
{
tx = text_new(sDate,sTime,H,"▼");
Text_SetStyle(tx,2,1);
Text_SetColor(tx,clr);
}
if b > a and b[1] < a[1] Then
{
tx = text_new(sDate,sTime,L,"▲");
Text_SetStyle(tx,2,0);
Text_SetColor(tx,clr);
}
2,
input : length(10),multiplier(3.0),emaPeriod(200);
var : supertrend(0),highestHigh(0),lowestLow(0);
var : atrv(0),ii(0),supertrendcolor(0);
var : ema200(0),emaColor(0);
ATRV = ATR(length);
supertrend = 0;
highestHigh = 0;
lowestLow = 0;
for ii = length downto 1
{
if close[ii] > close[ii+1] Then
{
if highestHigh == 0 or (highestHigh > 0 and high[ii] > highestHigh) Then
highestHigh = high[ii];
}
else
{
if lowestLow == 0 or (lowestLow > 0 and low[ii] < lowestLow) Then
lowestLow = low[ii];
}
}
supertrend = iff(close > close[1] , lowestLow + multiplier * ATRV, highestHigh - multiplier * ATRV);
supertrendColor = iff(supertrend > ema(close, emaPeriod) , green , red);
ema200 = ema(close, emaPeriod);
emaColor = iff(close > ema200 , Red , Green);
plot1(supertrend, "Supertrend",supertrendColor);
plot2(ema200,"200 EMA",emaColor);
1번 2번 지표를 하나의지표로 만들어주세요
2025-06-22
228
글번호 191996
지표
답변완료
부탁드립니다
var : Atime(30),Period(200); var : EP(0),Idx(0),TF(0); Var : Cjisu(0), Cjisu1(0); Var : Hjisu(0), Hjisu1(0); Var : Ljisu(0), Ljisu1(0); Var : aCjisu(0), aCjisu1(0); Var : aHjisu(0), aHjisu1(0); Var : aLjisu(0), aLjisu1(0); var : CDEMA(0),HDEMA(0),LDEMA(0),HH(0),LL(0); Ep = 2/(Period+1); TF = TimeToMinutes(stime)%Atime; if dayindex() == 0 or (TF < TF[1] and stime > stime[1]) Then{ idx = idx+1; HH = H; LL = L; Cjisu1 = Cjisu[1]; Hjisu1 = Hjisu[1]; Ljisu1 = Ljisu[1]; aCjisu1 = aCjisu[1]; aHjisu1 = aHjisu[1]; aLjisu1 = aLjisu[1]; } if H > HH Then HH = H; if L < LL Then LL = L; if idx <= 1 then { Cjisu = C; Hjisu = HH; Ljisu = LL; } else{ Cjisu = C * EP + Cjisu1 * (1-EP); Hjisu = HH * EP + Hjisu1 * (1-EP); Ljisu = LL * EP + Ljisu1 * (1-EP); } if idx <= 2 then { aCjisu = Cjisu; aHjisu = Hjisu; aLjisu = Ljisu; } else{ aCjisu = Cjisu * EP + aCjisu1 * (1-EP); aHjisu = Hjisu * EP + aHjisu1 * (1-EP); aLjisu = Ljisu * EP + aLjisu1 * (1-EP); } CDEMA = Cjisu * 2 - aCjisu; HDEMA = Hjisu * 2 - aHjisu; LDEMA = Ljisu * 2 - aLjisu; plot1(HDEMA,"고가"); plot2(LDEMA,"저가"); var : BB(0),t(0),box(0),s(0),z(0),tt(0); BB = ma(C,20); if BB >= BB[1]+0.2 Then tt = 1; if BB <= BB[1]-0.2 Then tt = -1; plot3(BB, "이평", iff(tt == 1,Magenta,Lime)); if t <= 0 and (crossup(BB,HDEMA) or crossup(BB,LDEMA)) and BB > BB[1] Then { t = 1; box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l); Box_SetColor(box,Red); Box_SetFill(box,true); Box_SetExtFill(box,true); } if t >= 0 and (CrossDown(BB,HDEMA) or CrossDown(BB,LDEMA)) and BB < BB[1] Then { t = -1; box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l); Box_SetColor(box,Blue); Box_SetFill(box,true); Box_SetExtFill(box,true); } if CrossUp(H,HDEMA) Then S = 1; if CrossDown(L,LDEMA) Then S = -1; if BB > BB[1] Then Z = 1; if BB < BB[1] Then Z = -1; if S == 1 and BB > HDEMA Then S = 0; if S == -1 and BB < LDEMA Then S = 0; if S == 1 and Z == -1 and Z != Z[1] Then { S = 2; box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l); Box_SetColor(box,Cyan); Box_SetFill(box,true); Box_SetExtFill(box,true); } if S == -1 and Z == 1 and Z != Z[1] Then { S = -2; box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l); Box_SetColor(box,Yellow); Box_SetFill(box,true); Box_SetExtFill(box,true); } Box_SetEnd(box,NextBarSdate,NextBarStime,l); 만들어 주신 수식을 적용 캔들 1만개를 돌려보니 오류가 제법나는데요 전체적으로 한번 살펴봐 주십시요 기본 개념은 아래와 같습니다 1) 강세1(핑크) : 상승중인 이평이 HDEMA or LDEMA를 돌파 할때 (2가지 경우) 2) 약세1(남색) : 하락중인 이평이 HDEMA or LDEMA를 이탈 할때 (2가지 경우) 3) 강세2(노랑) : 캔들만 HDEMA를 돌파, 이평은 HDEMA 아래서 하락 전환 할때 (1가지 경우) 4) 약세2(하늘색) : 캔들만 LDEMA를 이탈, 이평은 LDEMA 위에서 상승 전환 할때 (1가지 경우)
2025-06-23
256
글번호 191993
지표
답변완료
문의 드립니다.
평소 많은 정보 주심에 감사드립니다.
아래 신호 수식에 대한 종목 검색식 요청 드립니다.
aa=(highestsince(1,crossup(trix(20),0),c)+
lowestsince(1,crossdown(trix(20),0),c))/2;
M = BBandsUP(30, 1.8);
LL = Lowest(M, 기간);
HH = Highest(M, 기간);
NL = Valuewhen(1, M<LL(1),M);
Valuewhen(1,BarsSince(M<LL(1))==(기간-k),NL);
CrossUp(C,NL) and c>aa
감사합니다.
2025-06-21
242
글번호 191989
검색
답변완료
수식부탁드립니다
var : shortPeriod(5), longPeriod(20); var : bh(0),bd(0),bt(0),tl1(0),tx1(0),A1(0),A2(0),A3(0); var : sl(0),sd(0),st(0),tl2(0),tx2(0),B1(0),B2(0),B3(0); var : A31(0),B31(0); value1 = wma(C, shortPeriod); value2 = wma(C, longPeriod); If CrossUP(value1, value2) Then { buy(); bh = h; bd = sDate; bt = sTime; if sl > 0 Then { A1 = sd; A2 = st; A3 = sl; A31 = A3[1]; TL_SetEnd(TL1,A1,A2,A3[1]); tl1 = TL_New(A1,A2,A3,NextBarSdate,NextBarStime,A3); Text_SetLocation(Tx1,A1,A2,A3[1]); if A3 > A31 Then tx1 = Text_New(NextBarSdate,NextBarStime,A3,"▲"+NumToStr(A3,1)); Else tx1 = Text_New(NextBarSdate,NextBarStime,A3,NumToStr(A3,1)); Text_SetColor(tx1,Blue); Text_SetStyle(tx1,1,0); } } If CrossDown(value1, value2) Then { sell(); sl = l; sd = sDate; st = sTime; if bh > 0 Then { B1 = bd; B2 = bt; B3 = bh; B31 = B3[1]; TL_SetEnd(TL2,B1,B2,B3[1]); TL2 = TL_New(B1,B2,B3,NextBarSdate,NextBarStime,B3); Text_SetLocation(tx2,B1,B2,B3[1]); if B3 < B31 Then tx2 = Text_New(NextBarSdate,NextBarStime,B3,"▼"+NumToStr(B3,1)); Else tx2 = Text_New(NextBarSdate,NextBarStime,B3,NumToStr(B3,1)); Text_SetColor(tx2,Red); Text_SetStyle(tx2,1,1); } } if MarketPosition == 1 Then { if h > bh Then { bh = h; bd = sDate; bt = sTime; } } if MarketPosition == -1 Then { if l < sl Then { sl = l; sd = sDate; st = sTime; } } TL_SetEnd(tl1,NextBarSdate,NextBarStime,A3); TL_SetEnd(tl2,NextBarSdate,NextBarStime,B3); Text_SetLocation(tx1,NextBarSdate,NextBarStime,A3); Text_SetLocation(tx2,NextBarSdate,NextBarStime,B3); 60 일선 기준 - 위에서는 골든신호, 라인, 수치표시 - 아래에서는 데드신호, 라인, 수치표시가 되도록 부탁드립니다
2025-06-23
228
글번호 191988
시스템