커뮤니티

수식부탁드립니다.

프로필 이미지
하하
2007-12-20 01:30:35
935
글번호 14193
답변완료
수고하십니다. 아래의 사용자함수 BW에 갭보정을 적용하고 싶습니다. 혼자 하다보니 잘 안 되네요.. 부탁드립니다. ================= Input : maPeriod(Numeric), ROCPeriod(Numeric), stoPeriod1(Numeric), stoPeriod2(Numeric); Var : value(0), value_EMA12(0), value_EMA26(0), value_Lowest(0); value_EMA12 = ema(C, 12); value_EMA26 = ema(C, 26); If value_EMA12 - value_EMA26 > ema(value_EMA12 - value_EMA26, 9) Then value = 1; Else value = -1; If C > ma(C, maPeriod) Then value = value + 1; Else value = value - 1; If (C - C[ROCPeriod]) / C[ROCPeriod] * 100 > 0 Then value = value + 1; Else value = value - 1; value_Lowest = lowest(L, stoPeriod1); If ema((C - value_Lowest) / (highest(H, stoPeriod1) - value_Lowest) * 100, stoPeriod2) > 50 Then value = value + 1; Else value = value - 1; BW = value;
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2007-12-20 10:49:42

안녕하세요? 예스스탁 입니다. 갭보정한 사용자함수식 답변드립니다. 감사합니다. Input : maPeriod(Numeric), ROCPeriod(Numeric), stoPeriod1(Numeric), stoPeriod2(Numeric); Var : value(0), value_EMA12(0), value_EMA26(0), value_Lowest(0); var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(0); if date!=date[1] then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉) gap = Open-Close[1]; // 시가에서 전일종가를 차감한 일간갭을 저장 sumGap = sumGap+gap; // 당일의 일간갭과 과거의 일간갭 누적치를 더하여 저장 } GO = O - sumGap;// 갭보정 시가 GH = H - sumGap;// 갭보정 고가 GL = L - sumGap;// 갭보정 저가 GC = C - sumGap; // 갭보정 종가 value_EMA12 = ema(GC, 12); value_EMA26 = ema(GC, 26); If value_EMA12 - value_EMA26 > ema(value_EMA12 - value_EMA26, 9) Then value = 1; Else value = -1; If C > ma(GC, maPeriod) Then value = value + 1; Else value = value - 1; If (GC - GC[ROCPeriod]) / GC[ROCPeriod] * 100 > 0 Then value = value + 1; Else value = value - 1; value_Lowest = lowest(GL, stoPeriod1); If ema((GC - value_Lowest) / (highest(GH, stoPeriod1) - value_Lowest) * 100, stoPeriod2) > 50 Then value = value + 1; Else value = value - 1; BW1 = value; > 하하 님이 쓴 글입니다. > 제목 : 수식부탁드립니다. > 수고하십니다. 아래의 사용자함수 BW에 갭보정을 적용하고 싶습니다. 혼자 하다보니 잘 안 되네요.. 부탁드립니다. ================= Input : maPeriod(Numeric), ROCPeriod(Numeric), stoPeriod1(Numeric), stoPeriod2(Numeric); Var : value(0), value_EMA12(0), value_EMA26(0), value_Lowest(0); value_EMA12 = ema(C, 12); value_EMA26 = ema(C, 26); If value_EMA12 - value_EMA26 > ema(value_EMA12 - value_EMA26, 9) Then value = 1; Else value = -1; If C > ma(C, maPeriod) Then value = value + 1; Else value = value - 1; If (C - C[ROCPeriod]) / C[ROCPeriod] * 100 > 0 Then value = value + 1; Else value = value - 1; value_Lowest = lowest(L, stoPeriod1); If ema((C - value_Lowest) / (highest(H, stoPeriod1) - value_Lowest) * 100, stoPeriod2) > 50 Then value = value + 1; Else value = value - 1; BW = value;