커뮤니티

rsx 진입박스

프로필 이미지
고성
2026-09-30 17:42:16
59
글번호 233778
답변완료

첨부 이미지

1.지표

음선이 30 이하로 내려가면 차트 상하단에 박스 시작,양선으로 바뀌면 박스 끝.

양선후 30 이상으로 못올라서고, 다시 음선으로 바뀌면 재박스.

70 이상은 반대.


2.시스템

음선이 30 이하로 내려가면 매수, 다음봉에 매수청산.

양선후 30 이상으로 못올라서고 다시 음선으로 바뀌면 재매수, 다음봉에 매수청산.

70 이상은 반대. 감사합니다.


input : length(14),obLevel(70),osLevel(30);

input : highlightBreakouts(true);

var : src(0),f8(0),f10(0),v8(0),f18(0),f20(0),f28(0),f30(0);

var : vc(0),f38(0),f40(0),v10(0),f48(0),f50(0),v14(0),f58(0);

var : f60(0),v18(0),f68(0),f70(0),v1c(0),f78(0),f80(0),v20(0);

var : T(0),f88(0),f88_(0),f90_(0),f0(0),f90(0),v4_(0),rsx(0);


src = (h+l+c+c)/4;

f8 = 100 * src;

f10 = IFF(IsNan(f8[1])==true,0,f8[1]);

v8 = f8 - f10;

f18 = 3 / (length + 2);

f20 = 1 - f18;

f28 = 0.0;

f28 = f20 * IFF(IsNan(f28[1])==true,0,f28[1]) + f18 * v8;

f30 = 0.0;

f30 = f18 * f28 + f20 * IFF(IsNan(f30[1])==true,0,f30[1]);

vC = f28 * 1.5 - f30 * 0.5;

f38 = 0.0;

f38 = f20 * IFF(IsNan(f38[1])==true,0,f38[1]) + f18 * vC;

f40 = 0.0;

f40 = f18 * f38 + f20 * IFF(IsNan(f40[1])==true,0,f40[1]);

v10 = f38 * 1.5 - f40 * 0.5;

f48 = 0.0;

f48 = f20 * IFF(IsNan(f48[1])==true,0,f48[1]) + f18 * v10;

f50 = 0.0;

f50 = f18 * f48 + f20 * IFF(IsNan(f50[1])==true,0,f50[1]);

v14 = f48 * 1.5 - f50 * 0.5;

f58 = 0.0;

f58 = f20 * IFF(IsNan(f58[1])==true,0,f58[1]) + f18 * abs(v8);

f60 = 0.0;

f60 = f18 * f58 + f20 * IFF(IsNan(f60[1])==true,0,f60[1]);

v18 = f58 * 1.5 - f60 * 0.5;

f68 = 0.0;

f68 = f20 * IFF(IsNan(f68[1])==true,0,f68[1]) + f18 * v18;

f70 = 0.0;

f70 = f18 * f68 + f20 * IFF(IsNan(f70[1])==true,0,f70[1]);

v1C = f68 * 1.5 - f70 * 0.5;

f78 = 0.0;

f78 = f20 * IFF(IsNan(f78[1])==true,0,f78[1]) + f18 * v1C;

f80 = 0.0;

f80 = f18 * f78 + f20 * IFF(IsNan(f80[1])==true,0,f80[1]);

v20 = f78 * 1.5 - f80 * 0.5;

f88_ = 0.0;

f90_ = 0.0;

f88 = 0.0;

f90_ = IFF( IFF(IsNan(f90_[1])==true,0,f90_[1]) == 0 , 1 ,

IFF( IFF(IsNan(f88[1])==true,0,f88[1]) <= IFF(IsNan(f90_[1])==true,0,f90_[1]) ,

IFF(IsNan(f88[1])==true,0,f88[1]) + 1 , IFF(IsNan(f90_[1])==true,0,f90_[1]) + 1));

f88 = IFF(IFF(IsNan(f90_[1])==true,0,f90_[1]) == 0 and (length - 1 >= 5) , length - 1 , 5);

f0 = IFF(f88 >= f90_ and f8 != f10 , 1 , 0);

f90 = IFF(f88 == f90_ and f0 == 0 , 0 , f90_);

v4_ = IFF(f88 < f90 and v20 > 0 , (v14 / v20 + 1) * 50 , 50);

rsx = IFF(v4_ > 100 , 100 , IFF(v4_ < 0 , 0 , v4_));


plot1(rsx, "RSX",IFf(rsx>rsx[1],Red,Blue));

PlotBaseLine2(obLevel, "Overbought Level",Gray);

PlotBaseLine3(osLevel, "Oversold Level",Gray);


지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2026-10-01 13:43:14

안녕하세요 예스스탁입니다. 1 input : length(14),obLevel(70),osLevel(30); input : highlightBreakouts(true); var : src(0),f8(0),f10(0),v8(0),f18(0),f20(0),f28(0),f30(0); var : vc(0),f38(0),f40(0),v10(0),f48(0),f50(0),v14(0),f58(0); var : f60(0),v18(0),f68(0),f70(0),v1c(0),f78(0),f80(0),v20(0); var : T(0),f88(0),f88_(0),f90_(0),f0(0),f90(0),v4_(0),rsx(0); src = (h+l+c+c)/4; f8 = 100 * src; f10 = IFF(IsNan(f8[1])==true,0,f8[1]); v8 = f8 - f10; f18 = 3 / (length + 2); f20 = 1 - f18; f28 = 0.0; f28 = f20 * IFF(IsNan(f28[1])==true,0,f28[1]) + f18 * v8; f30 = 0.0; f30 = f18 * f28 + f20 * IFF(IsNan(f30[1])==true,0,f30[1]); vC = f28 * 1.5 - f30 * 0.5; f38 = 0.0; f38 = f20 * IFF(IsNan(f38[1])==true,0,f38[1]) + f18 * vC; f40 = 0.0; f40 = f18 * f38 + f20 * IFF(IsNan(f40[1])==true,0,f40[1]); v10 = f38 * 1.5 - f40 * 0.5; f48 = 0.0; f48 = f20 * IFF(IsNan(f48[1])==true,0,f48[1]) + f18 * v10; f50 = 0.0; f50 = f18 * f48 + f20 * IFF(IsNan(f50[1])==true,0,f50[1]); v14 = f48 * 1.5 - f50 * 0.5; f58 = 0.0; f58 = f20 * IFF(IsNan(f58[1])==true,0,f58[1]) + f18 * abs(v8); f60 = 0.0; f60 = f18 * f58 + f20 * IFF(IsNan(f60[1])==true,0,f60[1]); v18 = f58 * 1.5 - f60 * 0.5; f68 = 0.0; f68 = f20 * IFF(IsNan(f68[1])==true,0,f68[1]) + f18 * v18; f70 = 0.0; f70 = f18 * f68 + f20 * IFF(IsNan(f70[1])==true,0,f70[1]); v1C = f68 * 1.5 - f70 * 0.5; f78 = 0.0; f78 = f20 * IFF(IsNan(f78[1])==true,0,f78[1]) + f18 * v1C; f80 = 0.0; f80 = f18 * f78 + f20 * IFF(IsNan(f80[1])==true,0,f80[1]); v20 = f78 * 1.5 - f80 * 0.5; f88_ = 0.0; f90_ = 0.0; f88 = 0.0; f90_ = IFF( IFF(IsNan(f90_[1])==true,0,f90_[1]) == 0 , 1 , IFF( IFF(IsNan(f88[1])==true,0,f88[1]) <= IFF(IsNan(f90_[1])==true,0,f90_[1]) , IFF(IsNan(f88[1])==true,0,f88[1]) + 1 , IFF(IsNan(f90_[1])==true,0,f90_[1]) + 1)); f88 = IFF(IFF(IsNan(f90_[1])==true,0,f90_[1]) == 0 and (length - 1 >= 5) , length - 1 , 5); f0 = IFF(f88 >= f90_ and f8 != f10 , 1 , 0); f90 = IFF(f88 == f90_ and f0 == 0 , 0 , f90_); v4_ = IFF(f88 < f90 and v20 > 0 , (v14 / v20 + 1) * 50 , 50); rsx = IFF(v4_ > 100 , 100 , IFF(v4_ < 0 , 0 , v4_)); plot1(rsx, "RSX",IFf(rsx>rsx[1],Red,Blue)); PlotBaseLine2(obLevel, "Overbought Level",Gray); PlotBaseLine3(osLevel, "Oversold Level",Gray); var : S(0),box(0); if rsx > rsx[1] Then S = 1; Else S = -1; if rsx < 30 and S == -1 Then { if rsx[1] >= 30 or S[1] != -1 Then { box = Box_New(sDate,sTime,0,NextBarSdate,NextBarStime,99999999); Box_SetColor(box,Green); Box_SetFill(box,true); } Else { Box_SetEnd(box,NextBarSdate,NextBarStime,99999999); } } if rsx > 70 and S == 1 Then { if rsx[1] <= 70 or S[1] != 1 Then { box = Box_New(sDate,sTime,0,NextBarSdate,NextBarStime,99999999); Box_SetColor(box,Orange); Box_SetFill(box,true); } Else { Box_SetEnd(box,NextBarSdate,NextBarStime,99999999); } } 2 input : length(14),obLevel(70),osLevel(30); input : highlightBreakouts(true); var : src(0),f8(0),f10(0),v8(0),f18(0),f20(0),f28(0),f30(0); var : vc(0),f38(0),f40(0),v10(0),f48(0),f50(0),v14(0),f58(0); var : f60(0),v18(0),f68(0),f70(0),v1c(0),f78(0),f80(0),v20(0); var : T(0),f88(0),f88_(0),f90_(0),f0(0),f90(0),v4_(0),rsx(0); src = (h+l+c+c)/4; f8 = 100 * src; f10 = IFF(IsNan(f8[1])==true,0,f8[1]); v8 = f8 - f10; f18 = 3 / (length + 2); f20 = 1 - f18; f28 = 0.0; f28 = f20 * IFF(IsNan(f28[1])==true,0,f28[1]) + f18 * v8; f30 = 0.0; f30 = f18 * f28 + f20 * IFF(IsNan(f30[1])==true,0,f30[1]); vC = f28 * 1.5 - f30 * 0.5; f38 = 0.0; f38 = f20 * IFF(IsNan(f38[1])==true,0,f38[1]) + f18 * vC; f40 = 0.0; f40 = f18 * f38 + f20 * IFF(IsNan(f40[1])==true,0,f40[1]); v10 = f38 * 1.5 - f40 * 0.5; f48 = 0.0; f48 = f20 * IFF(IsNan(f48[1])==true,0,f48[1]) + f18 * v10; f50 = 0.0; f50 = f18 * f48 + f20 * IFF(IsNan(f50[1])==true,0,f50[1]); v14 = f48 * 1.5 - f50 * 0.5; f58 = 0.0; f58 = f20 * IFF(IsNan(f58[1])==true,0,f58[1]) + f18 * abs(v8); f60 = 0.0; f60 = f18 * f58 + f20 * IFF(IsNan(f60[1])==true,0,f60[1]); v18 = f58 * 1.5 - f60 * 0.5; f68 = 0.0; f68 = f20 * IFF(IsNan(f68[1])==true,0,f68[1]) + f18 * v18; f70 = 0.0; f70 = f18 * f68 + f20 * IFF(IsNan(f70[1])==true,0,f70[1]); v1C = f68 * 1.5 - f70 * 0.5; f78 = 0.0; f78 = f20 * IFF(IsNan(f78[1])==true,0,f78[1]) + f18 * v1C; f80 = 0.0; f80 = f18 * f78 + f20 * IFF(IsNan(f80[1])==true,0,f80[1]); v20 = f78 * 1.5 - f80 * 0.5; f88_ = 0.0; f90_ = 0.0; f88 = 0.0; f90_ = IFF( IFF(IsNan(f90_[1])==true,0,f90_[1]) == 0 , 1 , IFF( IFF(IsNan(f88[1])==true,0,f88[1]) <= IFF(IsNan(f90_[1])==true,0,f90_[1]) , IFF(IsNan(f88[1])==true,0,f88[1]) + 1 , IFF(IsNan(f90_[1])==true,0,f90_[1]) + 1)); f88 = IFF(IFF(IsNan(f90_[1])==true,0,f90_[1]) == 0 and (length - 1 >= 5) , length - 1 , 5); f0 = IFF(f88 >= f90_ and f8 != f10 , 1 , 0); f90 = IFF(f88 == f90_ and f0 == 0 , 0 , f90_); v4_ = IFF(f88 < f90 and v20 > 0 , (v14 / v20 + 1) * 50 , 50); rsx = IFF(v4_ > 100 , 100 , IFF(v4_ < 0 , 0 , v4_)); var : S(0); if rsx > rsx[1] Then S = 1; Else S = -1; if rsx < 30 and S == -1 Then { if rsx[1] >= 30 or S[1] != -1 Then { if MarketPosition <= 0 Then Buy("b"); } } if rsx > 70 and S == 1 Then { if rsx[1] <= 70 or S[1] != 1 Then { if MarketPosition >= 0 Then Sell("s"); } } if MarketPosition == 1 and BarsSinceEntry == 1 Then ExitLong("bx"); if MarketPosition == -1 and BarsSinceEntry == 1 Then ExitShort("sx"); 즐거운 하루되세요