커뮤니티

수식부탁요

프로필 이미지
회원
2014-10-01 17:31:50
142
글번호 79020
답변완료
1. macd가 일주월기준으로 0선위에 있으며, binary wave seven(120분,일선택할수 있게 하고요) 이 -7에서 올라올때 매수 macd가 월봉기준으로 0선위에서 데드나올때 청산 2. -제가 만든 다른 시스템에 macd가 일주월 기준으로 0선위에 있을때만 long -제가 만든 다른 시스템에 macd가 일주월 기준으로 -0선아래에 있을때만 short
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-10-02 09:31:48

안녕하세요 예스스탁입니다. 1. binary wave seven는 기본차트 주기로 계산을 하므로 차트주기를 120분이나 일봉으로 변경하시면 됩니다. Input : Period1(12),Period2(26),Period3(9); Var : dEp1(0), dJISU1(0), DINDEX1(0), dPreJISU1(0); Var : dEp2(0), dJISU2(0), dPreJISU2(0); Var : dEp3(0), dJISU3(0), dPreMACDSIG(0); var : dMACDVal(0),dMACDSig(0); Var : wEp1(0), wJISU1(0), wINDEX1(0), wPreJISU1(0); Var : wEp2(0), wJISU2(0), wPreJISU2(0); Var : wEp3(0), wJISU3(0), wPreMACDSIG(0); var : wMACDVal(0),wMACDSig(0); Var : mEp1(0), mJISU1(0), mINDEX1(0), mPreJISU1(0); Var : mEp2(0), mJISU2(0), mPreJISU2(0); Var : mEp3(0), mJISU3(0), mPreMACDSIG(0); var : mMACDVal(0),mMACDSig(0); Input: shortPeriod(12), longPeriod(26), Period(9), maPeriod(20), ROCPeriod(12), stoPeriod1(5), stoPeriod2(3), CCIPeriod(9); var: value(0),BW_SEVEN(0); #일봉 MACD dEp1 = 2/(Period1+1); dEp2 = 2/(Period2+1); dEp3 = 2/(Period3+1); if date != date[1] Then{ DINDEX1 = DINDEX1 + 1; dPreJISU1 = dJISU1[1]; dPreJISU2 = dJISU2[1]; dPreMACDSIG = dMACDSIG[1]; } if DINDEX1 <= 1 then { dJISU1 = C; dJISU2 = C; dMACDVal = dJiSu1-dJisu2; dMACDSIG = dMACDVal; } else{ dJISU1 = C * dEP1 + dPreJISU1 * (1-dEP1); dJISU2 = C * dEP2 + dPreJISU2 * (1-dEP2); dMACDVal = dJiSu1-dJisu2; dMACDSIG = dMACDVal * dEP3 + dPreMACDSIG * (1-dEP3); } #주봉 MACD wEp1 = 2/(Period1+1); wEp2 = 2/(Period2+1); wEp3 = 2/(Period3+1); if dayofweek(date) < DayOfWeek(date[1]) Then{ wINDEX1 = wINDEX1 + 1; wPreJISU1 = wJISU1[1]; wPreJISU2 = wJISU2[1]; wPreMACDSIG = wMACDSIG[1]; } if wINDEX1 <= 1 then { wJISU1 = C; wJISU2 = C; wMACDVal = wJiSu1-wJisu2; wMACDSIG = wMACDVal; } else{ wJISU1 = C * wEP1 + wPreJISU1 * (1-wEP1); wJISU2 = C * wEP2 + wPreJISU2 * (1-wEP2); wMACDVal = wJiSu1-wJisu2; wMACDSIG = wMACDVal * wEP3 + wPreMACDSIG * (1-wEP3); } #월봉 MACD mEp1 = 2/(Period1+1); mEp2 = 2/(Period2+1); mEp3 = 2/(Period3+1); if date > date[1]+30 Then{ mINDEX1 = mINDEX1 + 1; mPreJISU1 = mJISU1[1]; mPreJISU2 = mJISU2[1]; mPreMACDSIG = mMACDSIG[1]; } if mINDEX1 <= 1 then { mJISU1 = C; mJISU2 = C; mMACDVal = mJiSu1-mJisu2; mMACDSIG = mMACDVal; } else{ mJISU1 = C * mEP1 + mPreJISU1 * (1-mEP1); mJISU2 = C * mEP2 + mPreJISU2 * (1-mEP2); mMACDVal = mJiSu1-mJisu2; mMACDSIG = mMACDVal * mEP3 + mPreMACDSIG * (1-mEP3); } #바이너리웨이브 세븐 if ema(C,shortPeriod)-ema(C,longPeriod) >= ema(ema(C,shortPeriod)-ema(C,longPeriod),Period) 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; if ema((C-lowest(L, stoPeriod1)) / (highest(H, stoPeriod1) - lowest(L, stoPeriod1)) * 100, stoPeriod2)>=50 then value = value + 1; else value = value - 1; if CCI(CCIPeriod) > 0 then value = value + 1; else value = value - 1; if ema(accum(((C -L)-(H- C))/ (H-L)*V), 3) - ema(accum(((C -L)-(H- C))/(H-L)*V), 10) >=0 then value = value + 1; else value = value - 1; if SAR(0.02,0.2) < C then value = value + 1; else value = value - 1; BW_SEVEN = value; if DMACDval > 0 and Wmacdval > 0 and mMACDVal > 0 And BW_SEVEN > -7 and BW_SEVEN[1] == -7 Then buy(); if CrossDown(Mmadcdval,0) Then ExitLong(); 2 Input : Period1(12),Period2(26),Period3(9); Var : dEp1(0), dJISU1(0), DINDEX1(0), dPreJISU1(0); Var : dEp2(0), dJISU2(0), dPreJISU2(0); Var : dEp3(0), dJISU3(0), dPreMACDSIG(0); var : dMACDVal(0),dMACDSig(0); Var : wEp1(0), wJISU1(0), wINDEX1(0), wPreJISU1(0); Var : wEp2(0), wJISU2(0), wPreJISU2(0); Var : wEp3(0), wJISU3(0), wPreMACDSIG(0); var : wMACDVal(0),wMACDSig(0); Var : mEp1(0), mJISU1(0), mINDEX1(0), mPreJISU1(0); Var : mEp2(0), mJISU2(0), mPreJISU2(0); Var : mEp3(0), mJISU3(0), mPreMACDSIG(0); var : mMACDVal(0),mMACDSig(0); #일봉 MACD dEp1 = 2/(Period1+1); dEp2 = 2/(Period2+1); dEp3 = 2/(Period3+1); if date != date[1] Then{ DINDEX1 = DINDEX1 + 1; dPreJISU1 = dJISU1[1]; dPreJISU2 = dJISU2[1]; dPreMACDSIG = dMACDSIG[1]; } if DINDEX1 <= 1 then { dJISU1 = C; dJISU2 = C; dMACDVal = dJiSu1-dJisu2; dMACDSIG = dMACDVal; } else{ dJISU1 = C * dEP1 + dPreJISU1 * (1-dEP1); dJISU2 = C * dEP2 + dPreJISU2 * (1-dEP2); dMACDVal = dJiSu1-dJisu2; dMACDSIG = dMACDVal * dEP3 + dPreMACDSIG * (1-dEP3); } #주봉 MACD wEp1 = 2/(Period1+1); wEp2 = 2/(Period2+1); wEp3 = 2/(Period3+1); if dayofweek(date) < DayOfWeek(date[1]) Then{ wINDEX1 = wINDEX1 + 1; wPreJISU1 = wJISU1[1]; wPreJISU2 = wJISU2[1]; wPreMACDSIG = wMACDSIG[1]; } if wINDEX1 <= 1 then { wJISU1 = C; wJISU2 = C; wMACDVal = wJiSu1-wJisu2; wMACDSIG = wMACDVal; } else{ wJISU1 = C * wEP1 + wPreJISU1 * (1-wEP1); wJISU2 = C * wEP2 + wPreJISU2 * (1-wEP2); wMACDVal = wJiSu1-wJisu2; wMACDSIG = wMACDVal * wEP3 + wPreMACDSIG * (1-wEP3); } #월봉 MACD mEp1 = 2/(Period1+1); mEp2 = 2/(Period2+1); mEp3 = 2/(Period3+1); if date > date[1]+30 Then{ mINDEX1 = mINDEX1 + 1; mPreJISU1 = mJISU1[1]; mPreJISU2 = mJISU2[1]; mPreMACDSIG = mMACDSIG[1]; } if mINDEX1 <= 1 then { mJISU1 = C; mJISU2 = C; mMACDVal = mJiSu1-mJisu2; mMACDSIG = mMACDVal; } else{ mJISU1 = C * mEP1 + mPreJISU1 * (1-mEP1); mJISU2 = C * mEP2 + mPreJISU2 * (1-mEP2); mMACDVal = mJiSu1-mJisu2; mMACDSIG = mMACDVal * mEP3 + mPreMACDSIG * (1-mEP3); } if DMACDval > 0 and Wmacdval > 0 and mMACDVal > 0 And 매수조건 Then buy(); if DMACDval < 0 and Wmacdval < 0 and mMACDVal < 0 And 매도조건 Then sell(); 즐거운 하루되세요 > HI_7c****** 님이 쓴 글입니다. > 제목 : 수식부탁요 > 1. macd가 일주월기준으로 0선위에 있으며, binary wave seven(120분,일선택할수 있게 하고요) 이 -7에서 올라올때 매수 macd가 월봉기준으로 0선위에서 데드나올때 청산 2. -제가 만든 다른 시스템에 macd가 일주월 기준으로 0선위에 있을때만 long -제가 만든 다른 시스템에 macd가 일주월 기준으로 -0선아래에 있을때만 short