커뮤니티

수식문의드립니다

프로필 이미지
해피오
2026-01-01 22:28:06
77
글번호 229501
답변완료


Input : shortPeriodM(12), longPeriodM(26), PeriodM(9);

Var : MACDvM(0), MACDsigM(0),MacdoscM(0),macdRM(0), sigRM(0), oscRM(0) ;

Input : 기준선(0), 기준선위(3.5), 기준선아래(3.5), 기준과매도선1(-7.5), 기준과매도선2(-10);

Input : shortPeriodS(6), longPeriodS(13), sPeriodS(5);

Var : MACDvS(0), MACDsigS(0),macdoscS(0),MACDRS(0), sigRS(0), oscRS(0) ;


MACDvM = MACD(shortPeriodM, longPeriodM);

MACDsigM = ema(MACDvM,PeriodM);

MacdoscM = MACDvM-ema(MACDvM,PeriodM);

macdRM = MACDvM/C*100;

sigRM = MACDsigM/C*100;

oscRM = MacdoscM/C*100;


MACDvS = MACD(shortPeriodS, longPeriodS);

MACDsigS = ema(MACDvS,sPeriodS);

MACDoscS = MACDvS-ema(MACDvS,sPeriodS);

macdRS = MACDvS/C*100;

sigRS = MACDsigS/C*100;

oscRS = MACDoscS/C*100;


input : P1(5),P2(10),HL기간(26),변곡기간(3),변곡기간m(5) ;

var : A5(0),A10(0),A5H(0),A5L(0),B5DU(False), B10DU(False) ,DL1(0),DL2(0),DL3(0),DL4(0);

var : MDmu(False), MDmd(False) ,MDm(False) , MDsu(False), MDsd(False) ,MDs(False) ;


A5 = ma(C,P1);

A10 = ma(C,P2);

A5H = Highest(H,HL기간);# 5봉내 최고가

A5L = Lowest(L,HL기간);# 5봉내 최저가

B5DU = A5 >= A5[1] and CountIf( A5 < A5[1], 변곡기간 )[1] == 변곡기간) ;

B10DU = A10 >= A10[1] and CountIf( A10 < A10[1], 변곡기간 )[1] == 변곡기간 ;

MDmu = macdRM >= macdRM[1] and CountIf( macdRM < macdRM[1], 변곡기간m )[1] >= (변곡기간m-2) ;

MDmd = macdRM[2] <= macdRM[1] && macdRM[1] > macdRM ;

MDm = macdRM[2] > macdRM[1] && macdRM[1] <= macdRM ;

MDsu = macdRS >= macdRS[1] and CountIf( macdRS < macdRS[1], 변곡기간m )[1] >= (변곡기간m-2) ;

MDsd = macdRS[2] <= macdRS[1] && macdRS[1] > macdRS ;

MDs = macdRS[2] > macdRS[1] && macdRS[1] <= macdRS ;


if B5DU == true then

{

DL1 = A5[1];

DL2 = A5L;

}


if B10DU == true then

{

DL3 = A10[1];

DL4 = A5L;

}


가. MACD의 첫번째 상승전환 변곡인 MDmu가 발생하면 macdRM[1], macdRM, C 를 저장하고 , MACD의 두번째 상승전환인 MDm가 발생하면

macdRM[1], macdRM, C 를 저장한후, MDmu가 제일먼저 발생하고 그 다음에 MDmd가 발생하고, 다시 MDm가 순서상으로 발생한다면 , 첫번째 변곳과 두번째

변곡시의 조건을 비교하여 매수신호가 발생되게 하여야 한다. 비교조건은 첫번째 변곡시의 macdRM[1]보다 두번째 변곡시의 macdRM[1]가 높거나,

첫번째 변곡시의 macdRM보다 두번째 변곡시의 macdRM가 높은 경우에 매수신호가 발생되게한다.

나. MACD의 첫번째 상승전환 변곡인 MDsu가 발생하면 macdRS[1], macdRS, C 를 저장하고 , MACD의 두번째 상승전환인 MDs가 발생하면

macdRS[1], macdRS, C 를 저장한후, MDsu가 제일먼저 발생하고 그 다음에 MDsd가 발생하고, 다시 MDs가 순서상으로 발생한다면 , 첫번째 변곳과 두번째

변곡시의 조건을 비교하여 매수신호가 발생되게 하여야 한다. 비교조건은 첫번째 변곡시의 macdRS[1]보다 두번째 변곡시의 macdRS[1]가 높거나,

첫번째 변곡시의 macdRS보다 두번째 변곡시의 macdRS가 높은 경우에 매수신호가 발생되게한다.


1. 신호수식1> <가> 또는 <나>의 조건이 발생되는 캔들에 매수신호 발생하는 수식

2. 1의 신호발생이 최근 3봉이내에 1회 있으면서 , DL1 가 최근 5봉이내에 변동이 있고 종가상 DL1 를 돌파하거나, DL3 가 최근 5봉이내에 변동이 있고

DL3 를 돌파하는 캔들에 매수신호. 여기서 돌파라함은 시가종가상으로 잉태한 돌파이어야 한다.

- O < DL1 and C > DL1 또는 O < DL3 and C > DL13

검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2026-01-02 15:23:59

안녕하세요 예스스탁입니다. 1 Input : shortPeriodM(12), longPeriodM(26), PeriodM(9); Var : MACDvM(0), MACDsigM(0),MacdoscM(0),macdRM(0), sigRM(0), oscRM(0) ; Input : 기준선(0), 기준선위(3.5), 기준선아래(3.5), 기준과매도선1(-7.5), 기준과매도선2(-10); Input : shortPeriodS(6), longPeriodS(13), sPeriodS(5); Var : MACDvS(0), MACDsigS(0),macdoscS(0),MACDRS(0), sigRS(0), oscRS(0) ; MACDvM = MACD(shortPeriodM, longPeriodM); MACDsigM = ema(MACDvM,PeriodM); MacdoscM = MACDvM-ema(MACDvM,PeriodM); macdRM = MACDvM/C*100; sigRM = MACDsigM/C*100; oscRM = MacdoscM/C*100; MACDvS = MACD(shortPeriodS, longPeriodS); MACDsigS = ema(MACDvS,sPeriodS); MACDoscS = MACDvS-ema(MACDvS,sPeriodS); macdRS = MACDvS/C*100; sigRS = MACDsigS/C*100; oscRS = MACDoscS/C*100; input : P1(5),P2(10),HL기간(26),변곡기간(3),변곡기간m(5) ; var : A5(0),A10(0),A5H(0),A5L(0),B5DU(False), B10DU(False) ,DL1(0),DL2(0),DL3(0),DL4(0); var : MDmu(False), MDmd(False) ,MDm(False) , MDsu(False), MDsd(False) ,MDs(False) ; A5 = ma(C,P1); A10 = ma(C,P2); A5H = Highest(H,HL기간);# 5봉내 최고가 A5L = Lowest(L,HL기간);# 5봉내 최저가 B5DU = A5 >= A5[1] and CountIf( A5 < A5[1], 변곡기간 )[1] == 변곡기간 ; B10DU = A10 >= A10[1] and CountIf( A10 < A10[1], 변곡기간 )[1] == 변곡기간 ; MDmu = macdRM >= macdRM[1] and CountIf( macdRM < macdRM[1], 변곡기간m )[1] >= (변곡기간m-2) ; MDmd = macdRM[2] <= macdRM[1] && macdRM[1] > macdRM ; MDm = macdRM[2] > macdRM[1] && macdRM[1] <= macdRM ; MDsu = macdRS >= macdRS[1] and CountIf( macdRS < macdRS[1], 변곡기간m )[1] >= (변곡기간m-2) ; MDsd = macdRS[2] <= macdRS[1] && macdRS[1] > macdRS ; MDs = macdRS[2] > macdRS[1] && macdRS[1] <= macdRS ; if B5DU == true then { DL1 = A5[1]; DL2 = A5L; } if B10DU == true then { DL3 = A10[1]; DL4 = A5L; } if MDmu == true Then { var11 = macdRM[1]; var12 = macdRM; var13 = C ; var14 = Index; } if MDm == true Then { var21 = macdRM[1]; var22 = macdRM; var23 = C ; var24 = Index; if var24 > Var34 and var34 > Var14 and var14 > 0 and (Var21 > var11 or var22 > var12) Then Buy(); } if MDmd == true Then { var31 = macdRM[1]; var32 = macdRM; var33 = C ; var34 = Index; } if MDsu == true Then { var41 = macdRS[1]; var42 = macdRS; var43 = C ; var44 = Index; } if MDs == true Then { var51 = macdRS[1]; var52 = macdRS; var53 = C ; var54 = Index; if var54 > Var64 and var64 > Var44 and var44 > 0 and (Var51 > var41 or var52 > var42) Then Buy(); } if MDsd == true Then { var61 = macdRS[1]; var62 = macdRS; var63 = C ; var64 = Index; } 2 Input : shortPeriodM(12), longPeriodM(26), PeriodM(9); Var : MACDvM(0), MACDsigM(0),MacdoscM(0),macdRM(0), sigRM(0), oscRM(0) ; Input : 기준선(0), 기준선위(3.5), 기준선아래(3.5), 기준과매도선1(-7.5), 기준과매도선2(-10); Input : shortPeriodS(6), longPeriodS(13), sPeriodS(5); Var : MACDvS(0), MACDsigS(0),macdoscS(0),MACDRS(0), sigRS(0), oscRS(0) ; MACDvM = MACD(shortPeriodM, longPeriodM); MACDsigM = ema(MACDvM,PeriodM); MacdoscM = MACDvM-ema(MACDvM,PeriodM); macdRM = MACDvM/C*100; sigRM = MACDsigM/C*100; oscRM = MacdoscM/C*100; MACDvS = MACD(shortPeriodS, longPeriodS); MACDsigS = ema(MACDvS,sPeriodS); MACDoscS = MACDvS-ema(MACDvS,sPeriodS); macdRS = MACDvS/C*100; sigRS = MACDsigS/C*100; oscRS = MACDoscS/C*100; input : P1(5),P2(10),HL기간(26),변곡기간(3),변곡기간m(5) ; var : A5(0),A10(0),A5H(0),A5L(0),B5DU(False), B10DU(False) ,DL1(0),DL2(0),DL3(0),DL4(0); var : MDmu(False), MDmd(False) ,MDm(False) , MDsu(False), MDsd(False) ,MDs(False) ; A5 = ma(C,P1); A10 = ma(C,P2); A5H = Highest(H,HL기간);# 5봉내 최고가 A5L = Lowest(L,HL기간);# 5봉내 최저가 B5DU = A5 >= A5[1] and CountIf( A5 < A5[1], 변곡기간 )[1] == 변곡기간 ; B10DU = A10 >= A10[1] and CountIf( A10 < A10[1], 변곡기간 )[1] == 변곡기간 ; MDmu = macdRM >= macdRM[1] and CountIf( macdRM < macdRM[1], 변곡기간m )[1] >= (변곡기간m-2) ; MDmd = macdRM[2] <= macdRM[1] && macdRM[1] > macdRM ; MDm = macdRM[2] > macdRM[1] && macdRM[1] <= macdRM ; MDsu = macdRS >= macdRS[1] and CountIf( macdRS < macdRS[1], 변곡기간m )[1] >= (변곡기간m-2) ; MDsd = macdRS[2] <= macdRS[1] && macdRS[1] > macdRS ; MDs = macdRS[2] > macdRS[1] && macdRS[1] <= macdRS ; if B5DU == true then { DL1 = A5[1]; DL2 = A5L; } if B10DU == true then { DL3 = A10[1]; DL4 = A5L; } Condition1 = False; if MDmu == true Then { var11 = macdRM[1]; var12 = macdRM; var13 = C ; var14 = Index; } if MDm == true Then { var21 = macdRM[1]; var22 = macdRM; var23 = C ; var24 = Index; if var24 > Var34 and var34 > Var14 and var14 > 0 and (Var21 > var11 or var22 > var12) Then Condition1 =true; } if MDmd == true Then { var31 = macdRM[1]; var32 = macdRM; var33 = C ; var34 = Index; } if MDsu == true Then { var41 = macdRS[1]; var42 = macdRS; var43 = C ; var44 = Index; } if MDs == true Then { var51 = macdRS[1]; var52 = macdRS; var53 = C ; var54 = Index; if var54 > Var64 and var64 > Var44 and var44 > 0 and (Var51 > var41 or var52 > var42) Then Condition1 = true; } if MDsd == true Then { var61 = macdRS[1]; var62 = macdRS; var63 = C ; var64 = Index; } if CountIf(Condition1==true,3) >= 1 and ((CountIf(DL1 != DL1[1],5) >= 1 and C > DL1 and DL1 > O) or (CountIf(DL3 != DL3[1],5) >= 1 and C > DL3 and DL3 > O)) Then Plot1(L,"검색"); 새해 복 많이 받으세요