커뮤니티

부탁합니다,

프로필 이미지
회원
2015-05-20 21:49:04
138
글번호 86248
답변완료
매수 (1) 주봉 MACD오실레이터가 전일보다 높으면 매수조건 (2) 일봉 스토케스틱 K값이 30이하이면 매수조건 (또는 스토케스틱이 골드크로스하면 매수조건: 나중에 바꿀수 있게 // 로 해주세요) (3) (1)과(2)를 만족할 때 전일 종가보다 크면 매수(10분봉상) (4) 매수후에 빠지면 청산하지 않고 (1)~(3)조건 재만족시 추가진입(금액2배): 5회까지 추가진입 매도 (1) 주봉 MACD오실레이터가 전일보다 낮으면 매도조건 (2) 일봉 스토케스틱 K값이 70이상이면 매도조건 (또는 스토케스틱이 데드크로스하면 매도조건: 나중에 바꿀수 있게 // 로 해주세요) (3) (1)과(2)를 만족할 때 전일 종가보다 작으면 매도(10분봉상) 감사합니다..
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-05-21 13:53:56

안녕하세요 예스스탁입니다. 추가진입을 하므로 시스템 적용시에 시스템 트레이딩 설정창의 피라미딩탭에서 피라미딩을 모든진입신호 허용으로 설정하고 적용하시면 됩니다 Input : short(12),long(26),sig(9),금액(10000000); input : Period(10), Period1(5), Period2(5); var : DINDEX1(0); Var : wEp1(0), wJISU1(0), wPreJISU1(0); Var : wEp2(0), wJISU2(0), wPreJISU2(0); Var : wEp3(0), wJISU3(0), wPreMACDSIG(0); var : wMACDVal(0),wMACDSig(0); var : MACDVal(0),MACDSig(0),wMACDOsc(0); var : cnt(0), highVal(0), lowVal(0), FK(0), SK(0), SD(0); var : Ep1(0), Ep2(0), PreSK(0), PreSD(0); var : preO(0),Bcond(false),Scond(false); wEp1 = 2/(short+1); wEp2 = 2/(long+1); wEp3 = 2/(sig+1); if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then{ DINDEX1 = DINDEX1 + 1; wPreJISU1 = wJISU1[1]; wPreJISU2 = wJISU2[1]; wPreMACDSIG = wMACDSIG[1]; } if DINDEX1 <= 1 then { wJISU1 = C; wJISU2 = C; wMACDVal = wJiSu1-wJisu2; wMACDSIG = wMACDVal; wMACDOsc = wMACDVal-wMACDSIG; } else{ wJISU1 = C * wEP1 + wPreJISU1 * (1-wEP1); wJISU2 = C * wEP2 + wPreJISU2 * (1-wEP2); wMACDVal = wJiSu1-wJisu2; wMACDSIG = wMACDVal * wEP3 + wPreMACDSIG * (1-wEP3); wMACDOsc = wMACDVal-wMACDSIG; } #N일간 최고가 및 최저가 highVal = dayhigh(0); lowVal = daylow(0); for cnt = 0 to Period-1 { if dayHigh(cnt) > highVal then highVal = dayhigh(cnt); if dayLow(cnt) < lowVal then lowVal = dayLow(cnt); } #Fast StochasticsK fK = (C-lowVal)/(highVal-lowVal)*100; #Slow StochasticsK / Slow StochasticsD Ep1 = 2/(Period1+1); Ep2 = 2/(Period2+1); if date != date[1] then { PreSK = SK[1]; PreSD = SD[1]; } SK = FK * EP1 + PreSK * (1-EP1); SD = SK * EP2 + PreSD * (1-EP2); if date != date[1] Then preO = wMACDosc[1]; Bcond = wMACDosc > PreO and sk < 30; //Bcond = wMACDosc > PreO and crossdown(sk,30); Scond = wMACDosc < PreO and sk > 30; //Scond = wMACDosc < PreO and crossup(sk,70); if Bcond == true and Bcond[1] == false and C > DayClose(1) and CurrentContracts < 5 Then{ if MarketPosition <= 0 then buy("b",OnClose,def,int(금액/C)); if MarketPosition == 1 then buy("bb",OnClose,def,int((금액*2)/C)); } if Scond == true and Scond[1] == false and C < DayClose(1) Then{ ExitLong(); } 즐거운 하루되세요 > HI_da***** 님이 쓴 글입니다. > 제목 : 부탁합니다, > 매수 (1) 주봉 MACD오실레이터가 전일보다 높으면 매수조건 (2) 일봉 스토케스틱 K값이 30이하이면 매수조건 (또는 스토케스틱이 골드크로스하면 매수조건: 나중에 바꿀수 있게 // 로 해주세요) (3) (1)과(2)를 만족할 때 전일 종가보다 크면 매수(10분봉상) (4) 매수후에 빠지면 청산하지 않고 (1)~(3)조건 재만족시 추가진입(금액2배): 5회까지 추가진입 매도 (1) 주봉 MACD오실레이터가 전일보다 낮으면 매도조건 (2) 일봉 스토케스틱 K값이 70이상이면 매도조건 (또는 스토케스틱이 데드크로스하면 매도조건: 나중에 바꿀수 있게 // 로 해주세요) (3) (1)과(2)를 만족할 때 전일 종가보다 작으면 매도(10분봉상) 감사합니다..