커뮤니티

문의드립니다.

프로필 이미지
해암
2025-12-20 11:30:07
66
글번호 229226
답변완료

지난번에 주신 아래의 수식을 5분봉차트에서 '1시간봉의 아래의 지표'가 표현되게 하고자 합니다. 5분봉에서 30분의 아래지표를 또는 5분붕에서 2시간봉차트의 아래지표를 적용할 수 있게 하는 등 시간프레임을 변경할 수 있게 수식을 수정부탁드립니다.

도와주셔서 항상 감사드립니다. 수고하세요!!!


input : BB_len(2),BB_mult(2);

input : BB상단굵기(1),BB중단굵기(1),BB하단굵기(1);

var : src_bb(0),basis(0),dev(0),upperBB(0),lowerBB(0);

var : sellBB(False),Buybb(False);

sellBB = high >= upperBB;

buyBB = low <= lowerBB;

input : Period1(4),mult1(0.2),st1굵기(1);

input : Period2(6),mult2(1.2),st2굵기(1);

input : Period3(7),mult3(1.4),st3굵기(1);

var : alpha1(0),a1(0),s1(0),u1(0),d1(0),up1(0),dn1(0),tr1(1);

var : alpha2(0),a2(0),s2(0),u2(0),d2(0),up2(0),dn2(0),tr2(1);

var : alpha3(0),a3(0),s3(0),u3(0),d3(0),up3(0),dn3(0),tr3(1);

var : st1(0),st2(0),st3(0);

src_bb = open;

basis = ma(src_bb, bb_len);

dev = std(src_bb, bb_len);

upperBB = basis + bb_mult * dev;

lowerBB = basis - bb_mult * dev;

plot1(upperBB, "BB Upper", red,Def,BB상단굵기);

plot2(basis, "BB Basis", orange,Def,BB중단굵기);

plot3(lowerBB, "BB Lower", blue,Def,BB하단굵기);

alpha1 = 1 / period1;

a1 = IFf(IsNan(a1[1]) == true, ma(TrueRange,period1) , alpha1 * TrueRange + (1 - alpha1) * IFf(isnan(a1[1])==true,0,a1[1]));

s1 = (h+l)/2;

u1 = s1 - mult1 * a1;

d1 = s1 + mult1 * a1;

Up1 = iff(close[1] > iff(IsNan(Up1[1])==true,0,Up1[1]) , max(u1, iff(IsNan(Up1[1])==true,0,Up1[1])) , u1);

Dn1 = iff(close[1] < iff(IsNan(Dn1[1])==true,0,Dn1[1]) , min(d1, iff(IsNan(Dn1[1])==true,0,Dn1[1])) , d1);

tr1 = iff(close > iff(IsNan(Dn1[1])==true,0,Dn1[1]) , 1 ,IFf(close < iff(IsNan(Up1[1])==true,0,Up1[1]) , -1 , tr1));

alpha2 = 1 / period2;

a2 = IFf(IsNan(a2[1]) == true, ma(TrueRange,period2) , alpha2 * TrueRange + (1 - alpha2) * IFf(isnan(a2[1])==true,0,a2[1]));

s2 = (h+l)/2;

u2 = s2 - mult2 * a2;

d2 = s2 + mult2 * a2;

Up2 = iff(close[1] > iff(IsNan(Up2[1])==true,0,Up2[1]) , max(u2, iff(IsNan(Up2[1])==true,0,Up2[1])) , u2);

Dn2 = iff(close[1] < iff(IsNan(Dn2[1])==true,0,Dn2[1]) , min(d2, iff(IsNan(Dn2[1])==true,0,Dn2[1])) , d2);

tr2 = iff(close > iff(IsNan(Dn2[1])==true,0,Dn2[1]) , 1 ,IFf(close < iff(IsNan(Up2[1])==true,0,Up2[1]) , -1 , tr2));

alpha3 = 1 / period3;

a3 = IFf(IsNan(a3[1]) == true, ma(TrueRange,period3) , alpha3 * TrueRange + (1 - alpha3) * IFf(isnan(a3[1])==true,0,a3[1]));

s3 = (h+l)/2;

u3 = s3 - mult3 * a3;

d3 = s3 + mult3 * a3;

Up3 = iff(close[1] > iff(IsNan(Up3[1])==true,0,Up3[1]) , max(u3, iff(IsNan(Up3[1])==true,0,Up3[1])) , u3);

Dn3 = iff(close[1] < iff(IsNan(Dn3[1])==true,0,Dn3[1]) , min(d3, iff(IsNan(Dn3[1])==true,0,Dn3[1])) , d3);

tr3 = iff(close > iff(IsNan(Dn3[1])==true,0,Dn3[1]) , 1 ,IFf(close < iff(IsNan(Up3[1])==true,0,Up3[1]) , -1 , tr3));

st1 = iff(tr1 == 1 , up1 , dn1 );

st2 = iff(tr2 == 1 , up2 , dn2 );

st3 = iff(tr3 == 1 , up3 , dn3);

plot4(st1, "ST1", iff(tr1 == 1 , green , red),Def,st1굵기);

plot5(st2, "ST2", iff(tr2 == 1 , green , red),Def,st2굵기);

plot6(st3, "ST3", iff(tr3 == 1 , green , red),Def,st3굵기);

var : allAbove(False),allBelow(False);

var : regime(0),prevRegime(0);

var : bullStart(False),bearStart(False);

var : buySignal(False),SellSignal(False);

var : tx1(0),tx2(0);

allAbove = close > st1 and close > st2 and close > st3;

allBelow = close < st1 and close < st2 and close < st3;

prevRegime = regime;

if allAbove Then

regime = 1;

if allBelow Then

regime = -1;

bullStart = regime == 1 and prevRegime != 1 ;

bearStart = regime == -1 and prevRegime != -1;

if bullStart Then

{

tx1 = text_new(sDate,sTime,L,"Bull");

Text_SetStyle(tx1,2,0);

Text_SetColor(tx1,Green);

}

if bearStart Then

{

tx1 = text_new(sDate,sTime,H,"Bear");

Text_SetStyle(tx1,2,1);

Text_SetColor(tx1,Red);

}

buySignal = (regime == 1) and buyBB ;

sellSignal = (regime == -1) and sellBB;

if buySignal Then

{

tx2 = text_new(sDate,sTime,L,"▲");

Text_SetStyle(tx2,2,0);

Text_SetColor(tx2,Green);

}

if sellSignal Then

{

tx2 = text_new(sDate,sTime,H,"▼");

Text_SetStyle(tx2,2,1);

Text_SetColor(tx2,Red);

}

지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-12-22 11:20:32

안녕하세요 예스스탁입니다. 업무상 일정시간 이상 요구되는 내용은 저희가 작성해 드리기 어렵습니다. 도움을 드리지 못해 죄송합니다. 즐거운 하루되세요