커뮤니티
수식수정 부탁드립니다
2025.12.24자 글번호 229347과 관련되어 수정을 요청드립니다.
**예스랭귀지 지표수식
//============================================================================
Input : 가격(C), 단순이평P1(5), 단순이평P2(10), 단순이평P3(20), 지수이평P1(5), 지수이평P2(10), 지수이평P3(20);
Input : HL기간(60),저고상승율(0.35),발생제한봉수(20),발생검토봉수(4),H검토봉수(10),L검토봉수(33);
var : HH(0),LL(0),T(0),cnt(0),HHN(0),LLN(0);
var : DC(0),DH(0),DL(0),DGL(0);
var1 = ma(가격,단순이평P1); #5단순이평
var2 = ma(가격,단순이평P2); #10단순이평
var3 = ma(가격,단순이평P3); #20단순이평
var4 = ema(가격,지수이평P1); #5지수이평
var5 = ema(가격,지수이평P2); #10지수이평
var6 = ema(가격,지수이평P3); #20지수이평
HH = Highest(H,HL기간); #L장기간(60)의 H고가격 표시
LL = Lowest(L,HL기간); #L장기간(60)의 L저가격 표시
#주가의 위치관계(최고가와 최저가의 발생시기에 따른)
#======================================================
input : N(60),하향위치(52),상향위치(61.8) ;
var : /*cnt(0),*/ A(0),B(0),Ai(0),Bi(0);
input : 시종상승율(50), 고저상승율(90) ; #봉상승율관련
A = 0;
Ai = 0;
B = 0;
Bi = 0;
For cnt = 0 to N-1
{
if A == 0 or (A > 0 and H[cnt] > A) Then
{
A = H[cnt];
Ai = cnt;
}
if B == 0 or (B > 0 and L[cnt] < B) Then
{
B = L[cnt];
Bi = cnt;
}
}
#최고가후 최저가 출현(하향추세중 반등,상승전환)......최저가후 최고가출현(상향추세중 되돌림)
//Condition8 = ( (Ai > Bi and C <= B+(A-B)*하향위치/100) or (Ai < Bi and C <= B+(A-B)*상향위치/100) ) ;
Condition1 = HH >= LL * ( 1 + 저고상승율/100 ) and CrossDown(var2,var3); #기준캔들D-10이평선이 20이평선을 데드크로스 발생
Condition2 = CrossUp(var2,var3); #기준캔들G - 10이평선이 20이평선을 골드크로스 발생
Condition3 = C < var3 and var3 < O; #20이평선을 시가종가상 잉태된 데드크로스
Condition4 = C < var2 and var2 < O; #10이평선을 시가종가상 잉태된 데드크로스
if Ai < Bi and Condition1 == true and CountIf(Condition1==true,발생제한봉수) == 1 Then
{
T = 1;
DC = Nan;
For cnt = 발생검토봉수 downto 0
{
if Condition1[cnt] == true Then
{
DC = O[cnt]; #"기준D20선잉태음봉시가라인"
}
}
DH = highest(H,H검토봉수); #"기준D기준N1봉최고가라인"
DL = lowest(L,L검토봉수); #"기준D기준N2봉최저가라인"
DGL = L;
}
Else
{
if T == 1 and CrossUp(var2,var3) Then
T = 2;
if T == 1 and L < DGL Then
DGL = L; #"기준D와G최저가가라인"
}
if DC > 0 Then
Plot1(DC, "기준D20선잉태음봉시가라인" );
if DH > 0 then
plot2(DH, "기준D기준N1봉최고가라인" );
if DL > 0 Then
Plot3(DL, "기준D기준N2봉최저가라인" );
if DGL > 0 Then
plot4(DGL, "기준D와G최저가라인" );
if HH > 0 Then
plot10(HHN, "상승추세율연동H라인" ); //신규설정 요망
if LL > 0 Then
plot11(LLN, "하락추세율연동L라인" ); //신규설정 요망
<수정 요청사항>
//현재 주어진 수식에서의 표시라인은 아래와 같으므로 수정 해주세요
// - 시가라인(DC)은 데드발생캔들의 시가가 표시됨.....이 시가라인이 아니라 데드발생캔들포함하여 최근 5봉이내에 20이평선을 데드한 경우중 시가>20이평
&& 종가<20이평인 경우의 캔들을 찾아서 시가라인 설정하는 것임
// 만약시 10이평선과 20이평선의 데드가 발생했지만 20이평선을 시가종가로 잉태되어 데드가 발생하지 않으면 데드크로스가 발생한다고 해서 라인이 설정되면 안된다
// - 최고가라인(DH)와 최저가라인(DL)은 현재 제대로 표시되고 있음
// - 기준캔들D와 기준캔들G사이의 최저가라인(DGL)는 제대로 표시안됨...이 DGL은 기준캔들D가 발생할 시점에서는 라인이 그려지지않고, 이후 기준캔들G가
발생하시에 라인이 그려지는 것임
//신규설정 요망
//- HHN(상승추세율연동H라인)- HL기간동안의 LL가 HH보다 먼저 발생되고(상승추세중인 차트), 그 상승변동폭(=저고상승율)이 0.3%이상일때의 최고가라인지표
//- LLN()- HL기간동안의 HH가 LL보다 먼저 발생되고(하락추세중인 차트), 그 하락변동폭(=저고상승율)이 0.3%이상일때의 최저가라인지표
상기의 내용으로 만든 아래의 키움증권 수식을 참고해주세요
M10 = avg(C, 10);
M20 = avg(C, 20);
HH = Highest(H, 60);
LL = Lowest(L, 60);
고가위치 = BarsSince(H == HH);
저가위치 = BarsSince(L == LL);
상승추세 = 저가위치 > 고가위치;
변동폭 = (HH - LL) /LL >= 고저변동율(0.3%)/100;
데드 = CrossDown(M10, M20);
음봉이탈 = O > M20 && C < M20;
음봉이탈시가 = if(음봉이탈, O, 0); //이탈캔들이면 시가(O), 아니면 0
최고이탈시가 = Highest(음봉이탈시가, 음봉기간5);// 5봉 내에 이탈캔들이 하나라면 그 값이 나오고, 여러 개면 가장 높은 시가, 없으면 0
// 데드 시점의 종가가 20선 아래면 5봉이내 이탈캔들 최고시가, 20선 이상이면 '표시가격' 사용
TargetPrice = if(C < M20, 최고이탈시가, C);
/* 데드+상승+변동폭 만족해야 하며, */
/* 특히 C<M20인 경우 5봉내 이탈캔들이 없으면(가격이 0이면) 신호 제외 */
MainCond = 데드 && 상승추세 && 변동폭 && TargetPrice > 0;
// 데드 발생 시점의 최저가(Line3)
Line3 = Valuewhen(1, MainCond, Lowest(L, L기간));
// 데드(MainCond) 발생 후 경과된 봉 수
BS = BarsSince(MainCond);
// 데드 이후 현재까지 종가가 Line3를 깬 적이 없어야 함
NoBreak = CountSince(MainCond, C < Line3) == 0;
골드 = CrossUp(M10, M20);
// 골드발생 + 저점지지 + 데드발생후 10봉 이상 경과(BS >= 10)
FinalCond = 골드 && NoBreak && BS > H경과기간;
1. 데드발생시가라인; Valuewhen(1, MainCond, TargetPrice) >>>> Plot1(DC, "기준D20선잉태음봉시가라인" );
2. 고점라인; Valuewhen(1, MainCond, Highest(H, 10)) >>>> plot2(DH, "기준D기준N1봉최고가라인" );
3. 저점라인; Valuewhen(1, MainCond, Lowest(L,30)) >>>> Plot3(DL, "기준D기준N2봉최저가라인" );
4. 골드발생종가라인; Valuewhen(1, FinalCond, (C+O)/2) >>>> 예스에서 누락
5. 데드골드간저가라인; Valuewhen(1, FinalCond, Lowest(L, BS)) >>>> plot4(DGL, "기준D와G최저가라인" );
상기 지표 수정 완성 확정이후 신호 수식을 요청할 예정임.
답변 1
예스스탁 예스스탁 답변
2026-01-12 11:02:27