커뮤니티

수식문의입니다

프로필 이미지
해피오
2024-10-03 19:46:32
634
글번호 183947
답변완료
1.지표수식 주봉과 월봉의 Macd(12,26,9)선, 시그널선, 오실레이터를 일봉차트에서 설정할수 있는 수식을 만들어 주세요 2. 종목검색에 따른 검증방법 input : 하락갭율(1.5), 양음봉기준율(0.1), 갭신호기간(10), 음양봉횟수(3); var : cnt(0), 양봉(False), 음봉(False), GMP(0) ; 양봉 = C >= O *(1+양음봉기준율/100) ; 음봉 = C < O*(1+양음봉기준율/100); Array : WeekO[20](0),WeekC[20](0); if DayOfWeek(Bdate) < DayOfWeek(Bdate[1]) Then { WeekO[0] = O; #주봉시가 For cnt = 1 to 19 { WeekO[cnt] = WeekO[cnt-1][1]; WeekC[cnt] = WeekC[cnt-1][1]; } } WeekC[0] = C; if Bdate > Bdate[1]+1000 Then { value8 = O; #연봉시가 value9 = value8[1]; } if Bdate > Bdate[1]+30 Then { value10 = O; #월봉시가 value11 = value10[1]; } #MACD비율선 #======================================================================== Input : shortPeriod(12), longPeriod(26), sPeriod(9),M기준0선(-0.099),M기준낙폭선(-7.5) ; Var : MACDv(0), MACDsig(0), Macdosc(0), MACDR(0), MsigR(0), MoscR(0) ; MACDv = MACD(shortPeriod, longPeriod); MACDsig = ema(MACDv,sPeriod); macdosc = MACDv-MACDsig; MACDR = macdv/C*100; #비율MACD선 MsigR = MACDsig/C*100; #비율MACD 시그널선 MoscR = macdosc/C*100; #비율MACD 오실레이터 막대량 Condition1 = C[1] * (1-하락갭율/100) >= O and C[1] > O and O[1] > O ; #하락갭 if Condition1 == true and C <= O Then #하락갭이면서 음봉인 경우 { if 양봉[1] == true Then { Var6 = O[1] ; Var7 = O ; } if 음봉[1] == true Then { Var6 = C[1] ; Var7 = O ; } } if Condition1 == true and C > O Then #하락갭이면서 양봉인 경우 { if 양봉[1] == true and C <= C[1] Then { Var6 = O[1] ; Var7 = O ; } if 양봉[1] == true and C > C[1] Then { Var6 = C ; Var7 = C[1] ; } if 음봉[1] == true and C <= C[1] Then { Var6 = C[1] ; Var7 = C ; } if 음봉[1] == true and C > C[1] Then { Var6 = C[1] ; Var7 = O ; } } #최저가 위치설정 Condition2 = Lowest(L,60) == Lowest(L,5) or Lowest(Min(C,O),60) == Lowest(Min(C,O),5); # 일정율의 하락갭이 발생되고(Condition1 == true), 발생된 하락갭은 이전의 하락갭보다 하향되어야 하고(Var7[1] > Var7), 최저가위치(Condition2 == true)에서 발생되었으나 종가가 주봉의 시가보다 낮거나 macd오실레이터량이 하락하거나 전일종가보다 낮은 경우 Condition3 = Var7 > 0 and Condition1 == true and Var7[1] > Var7 and C >= Var7 and C > O and Condition2 == true and ( C < WeekO[0] or C < C[1] or MoscR < MoscR[1] ); var : OO(0),NN(0); if Condition3 == true Then { OO = O; NN = 0; } Else { if OO > 0 and C > O and C[1] < O[1] Then { NN = NN+1; if NN >= 3 and O < OO and ( C > WeekO[0] or C > C[1] or MoscR > MoscR[1]) Then FinD(1); } } 상기 종목검색에 따른 검색시에 종가매수를 하여 20일간 보유한다고 가정하는 경우의 최고수익율과 달성기간, 최대손실율과 달성기간, 매수후 5일간의 수익율(고가매도가정)드에 대한 데이터검증할수 있는 수식을 부탁드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-10-07 09:58:42

안녕하세요 예스스탁입니다. 1-1 주봉 Input : short(12),long(26),sig(9); var : idx(0); Var : Ep1(0), ema1(0), Preema1(0); Var : Ep2(0), ema2(0), Preema2(0); Var : Ep3(0),PreMACDS(0),MACDv(0),MACDs(0),MACDo(0); Ep1 = 2/(short+1); Ep2 = 2/(long+1); Ep3 = 2/(sig+1); if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then { idx = idx + 1; Preema1 = ema1[1]; Preema2 = ema2[1]; PreMACDS = MACDs[1]; } if idx <= 1 then { ema1 = C; ema2 = C; MACDv = ema1-ema2; MACDs = MACDv; MACDo = MACDv-MACDs; } else{ ema1 = C * EP1 + Preema1 * (1-EP1); ema2 = C * EP2 + Preema2 * (1-EP2); MACDV = ema1-ema2; MACDS = MACDV * EP3 + PreMACDS * (1-EP3); MACDo = MACDv-MACDs; } plot1(MACDV); plot2(MACDs); plot3(MACDo); PlotBaseLine1(0); 1-2 월 Input : short(12),long(26),sig(9); var : idx(0); Var : Ep1(0), ema1(0), Preema1(0); Var : Ep2(0), ema2(0), Preema2(0); Var : Ep3(0),PreMACDS(0),MACDv(0),MACDs(0),MACDo(0); Ep1 = 2/(short+1); Ep2 = 2/(long+1); Ep3 = 2/(sig+1); if bdate > bdate[1]+30 Then { idx = idx + 1; Preema1 = ema1[1]; Preema2 = ema2[1]; PreMACDS = MACDs[1]; } if idx <= 1 then { ema1 = C; ema2 = C; MACDv = ema1-ema2; MACDs = MACDv; MACDo = MACDv-MACDs; } else{ ema1 = C * EP1 + Preema1 * (1-EP1); ema2 = C * EP2 + Preema2 * (1-EP2); MACDV = ema1-ema2; MACDS = MACDV * EP3 + PreMACDS * (1-EP3); MACDo = MACDv-MACDs; } plot1(MACDV); plot2(MACDs); plot3(MACDo); PlotBaseLine1(0); 2 문의하신 내용은 작성이 어렵습니다. 도움을 드리지 못해 죄송합니다. 즐거운 하루되세요 > 해피오 님이 쓴 글입니다. > 제목 : 수식문의입니다 > 1.지표수식 주봉과 월봉의 Macd(12,26,9)선, 시그널선, 오실레이터를 일봉차트에서 설정할수 있는 수식을 만들어 주세요 2. 종목검색에 따른 검증방법 input : 하락갭율(1.5), 양음봉기준율(0.1), 갭신호기간(10), 음양봉횟수(3); var : cnt(0), 양봉(False), 음봉(False), GMP(0) ; 양봉 = C >= O *(1+양음봉기준율/100) ; 음봉 = C < O*(1+양음봉기준율/100); Array : WeekO[20](0),WeekC[20](0); if DayOfWeek(Bdate) < DayOfWeek(Bdate[1]) Then { WeekO[0] = O; #주봉시가 For cnt = 1 to 19 { WeekO[cnt] = WeekO[cnt-1][1]; WeekC[cnt] = WeekC[cnt-1][1]; } } WeekC[0] = C; if Bdate > Bdate[1]+1000 Then { value8 = O; #연봉시가 value9 = value8[1]; } if Bdate > Bdate[1]+30 Then { value10 = O; #월봉시가 value11 = value10[1]; } #MACD비율선 #======================================================================== Input : shortPeriod(12), longPeriod(26), sPeriod(9),M기준0선(-0.099),M기준낙폭선(-7.5) ; Var : MACDv(0), MACDsig(0), Macdosc(0), MACDR(0), MsigR(0), MoscR(0) ; MACDv = MACD(shortPeriod, longPeriod); MACDsig = ema(MACDv,sPeriod); macdosc = MACDv-MACDsig; MACDR = macdv/C*100; #비율MACD선 MsigR = MACDsig/C*100; #비율MACD 시그널선 MoscR = macdosc/C*100; #비율MACD 오실레이터 막대량 Condition1 = C[1] * (1-하락갭율/100) >= O and C[1] > O and O[1] > O ; #하락갭 if Condition1 == true and C <= O Then #하락갭이면서 음봉인 경우 { if 양봉[1] == true Then { Var6 = O[1] ; Var7 = O ; } if 음봉[1] == true Then { Var6 = C[1] ; Var7 = O ; } } if Condition1 == true and C > O Then #하락갭이면서 양봉인 경우 { if 양봉[1] == true and C <= C[1] Then { Var6 = O[1] ; Var7 = O ; } if 양봉[1] == true and C > C[1] Then { Var6 = C ; Var7 = C[1] ; } if 음봉[1] == true and C <= C[1] Then { Var6 = C[1] ; Var7 = C ; } if 음봉[1] == true and C > C[1] Then { Var6 = C[1] ; Var7 = O ; } } #최저가 위치설정 Condition2 = Lowest(L,60) == Lowest(L,5) or Lowest(Min(C,O),60) == Lowest(Min(C,O),5); # 일정율의 하락갭이 발생되고(Condition1 == true), 발생된 하락갭은 이전의 하락갭보다 하향되어야 하고(Var7[1] > Var7), 최저가위치(Condition2 == true)에서 발생되었으나 종가가 주봉의 시가보다 낮거나 macd오실레이터량이 하락하거나 전일종가보다 낮은 경우 Condition3 = Var7 > 0 and Condition1 == true and Var7[1] > Var7 and C >= Var7 and C > O and Condition2 == true and ( C < WeekO[0] or C < C[1] or MoscR < MoscR[1] ); var : OO(0),NN(0); if Condition3 == true Then { OO = O; NN = 0; } Else { if OO > 0 and C > O and C[1] < O[1] Then { NN = NN+1; if NN >= 3 and O < OO and ( C > WeekO[0] or C > C[1] or MoscR > MoscR[1]) Then FinD(1); } } 상기 종목검색에 따른 검색시에 종가매수를 하여 20일간 보유한다고 가정하는 경우의 최고수익율과 달성기간, 최대손실율과 달성기간, 매수후 5일간의 수익율(고가매도가정)드에 대한 데이터검증할수 있는 수식을 부탁드립니다.