커뮤니티
수식수정 부탁드립니다
2026.01.09자 글번호 229685와 관련된 것으로 일부 지표 수정과 신호검색 수식을 요청드립니다.
Input : 가격(C), 단순P1(5), 단순P2(10), 단순P3(20), 지수P1(5), 지수P2(10), 지수P3(20);
Input : HL기간(60),저고상승율(0.35),음봉검토기간(5),기준가격(C),이탈경과기간(10),H검토봉수(10),L검토봉수(33),골드표시가격((C+O)/2),골드저가봉수(20);
var : Ma5(0),Ma10(0),Ma20(0),eMa5(0),eMa10(0),eMa20(0),HH(0),LL(0);
var : 고가위치(Nan),저가위치(nan),상승추세(false),저고변동폭(False);
var : 데드1020(False),골드1020(False),음봉10이탈(False),음봉20이탈(False),음봉이탈시가(0),최고이탈시가(0);
var : TargetPrice(0),MainCond(False),LLine(0),BS(Nan),CS(Nan),NoBreak(False),FinalCond(False);
var: DC(0),DH(0),DL(0),GdC(0),DGL(0);
Ma5 = ma(가격,단순P1); #5단순이평
Ma10 = ma(가격,단순P2); #10단순이평
Ma20 = ma(가격,단순P3); #20단순이평
eMa5 = ema(가격,지수P1); #5지수이평
eMa10 = ema(가격,지수P2); #10지수이평
eMa20 = ema(가격,지수P3); #20지수이평
HH = Highest(H,HL기간); #L장기간(60)의 H고가격 표시
LL = Lowest(L,HL기간); #L장기간(60)의 L저가격 표시
if H == HH Then #키움수식- 고가위치 = BarsSince(H == HH); 변환
고가위치 = 0;
Else
고가위치 = 고가위치+1;
if L == LL Then #키움수식- 저가위치 = BarsSince(L == LL); 변환
저가위치 = 0;
Else
저가위치 = 저가위치+1;
상승추세 = 저가위치 > 고가위치;
저고변동폭 = (HH - LL) /LL >= 저고상승율/100;
데드1020 = CrossDown(Ma10, Ma20);
골드1020 = CrossUp(Ma10, Ma20);
음봉10이탈 = C < Ma10 && O > Ma10;
음봉20이탈 = C < Ma20 && O > Ma20;
음봉이탈시가 = iff(음봉20이탈, O, 0); //이탈캔들이면 시가(O), 아니면 0
최고이탈시가 = Highest(음봉이탈시가, 음봉검토기간);
TargetPrice = iff(C < Ma20, 최고이탈시가, 기준가격);
MainCond = 데드1020 && 상승추세 && 저고변동폭 && TargetPrice > 0;
if MainCond Then
{
LLine = Lowest(L, L검토봉수);
BS = 0;
CS = 0;
}
Else
BS = BS+1; //데드(MainCond) 발생 후 경과된 봉 수-#키움수식- BarsSince(MainCond); 변환
if C < LLine Then //데드 이후 종가가 LLine를 깨면 CS증가시킴
CS = CS+1;
NoBreak = CS == 0; #키움수식- CountSince(MainCond, C < Line3) == 0; 변환
FinalCond = 골드1020 && NoBreak && BS > 이탈경과기간; // 골드발생 + 저점지지 + 데드발생후 10봉 이상 경과(BS >= 10)
#====================================================================
if MainCond Then
{
DC = TargetPrice; #"기준D20선잉태음봉가격라인"
DH = highest(H,H검토봉수); #"기준D기준10봉최고가라인"
DL = lowest(L,L검토봉수); #"기준D기준30봉최저가라인"
}
if finalCond Then
{
GdC = 골드표시가격 ;
DGL = lowest(L,골드저가봉수);
}
if DC > 0 Then
Plot1(DC, "기준D20선잉태음봉가격라인");
if DH > 0 Then
Plot2(DH, "기준D기준10봉최고가라인");
if DL > 0 Then
Plot3(DL, "기준D기준30봉최저가라인");
if GdC > 0 Then
Plot4(GdC, "골드발생표시가격라인");
if DGL > 0 Then
Plot5(DGL, "기준D와G사이최저가라인");
if 저가위치 > 고가위치 and 저고변동폭 Then
plot6(HH, "상승추세율연동H라인");
if 저가위치 < 고가위치 and 저고변동폭 Then
plot7(LL, "하락추세율연동L라인");
가. 지표수정 요청사항
- Plot5(DGL, "기준D와G사이최저가라인"); 와 관련된 것으로 지금처럼 단순히 골드발생시로부터 최근 <골드저가봉수>동안의 최저가를
구하고자 하는게 아니고, <Plot1(DC, "기준D20선잉태음봉가격라인");>발생시점으로부터 <Plot4(GdC, "골드발생표시가격라인");>발생시점
사이에 있는 최저가의 라인을 표시하고자 하는 것입니다. 이 라인은 Plot1과 Plot4의 변동에 따라 계속적으로 변동될 것입니다.
수정 부탁드립니다.
나. 신호수식 요청사항
1. MainCond발생으로 생성된 TargetPrice이후 처음으로 발생된 음봉과 이후 이 첫음봉의 고가보다 넢은 위치에서의 양봉후 음봉시에도 매도신호 발생시킴.
단. 종가로 <기준D기준10봉최고가라인> 돌파되면 신호 생성하면 안됨
2. H>TargetPrice && C<TargetPrice인 음봉에 매도신호. 단. 이신호는 TargetPrice발생이후 10봉이내에 발생되어야 하며, 종가로 <기준D기준10봉최고가라인>
돌파되면 신호 생성하면 안됨
3. FinalCond발생이후 첫음봉이면서 고가가 20이평선보다 클때 매도신호. 단,종가로 <기준D기준10봉최고가라인> 돌파하거나
종가로 <기준D기준30봉최저가라인>을 이탈하면 신호발생되면 안됨
4. 1번,2번,3번 신호가 각각 발생한 이후 <기준D기준30봉최저가라인>이나 <기준D와G사이최저가라인>을 종가상 이탈한 후 처음 발생되는
양봉에 매수신호 발생되게 하는 수식
성실히 응대해주심에 항상 감사드립니다
답변 1
예스스탁 예스스탁 답변
2026-01-13 15:12:57