커뮤니티

골든크로스 수식 수정 부탁드립니다.

프로필 이미지
승부사1
2018-01-17 19:40:14
127
글번호 115867
답변완료
아래의 수식을 사용해 보았습니다. 그런데 여전히 골든크로스가 붙었다 떨어졌다하는 구간에서 3회까지 매수가 되네요. 하루에 1회이상 매수가 안되게 될수 있을까요?? 10분봉 - 60과 180 이평선 골든크로스 - 피라미딩: 6회로 설정하여 시험해 보았습니다. - 아 래 - var : entry(false),cond(false); if bdate != bdate[1] Then entry = true; if CurrentContracts > CurrentContracts[1] Then entry = false; if sdate >= 지정일 and CrossUp(var1, var2) and var3 > var3[1] and entry == false Then Buy("매수",OnClose,def,Floor(금액/C)); if MarketPosition == 1 and entry == false Then { if MaxEntries == 3 and C <= AvgEntryPrice*0.75 Then cond = true; if ((cond == false and MaxEntries >= 1 and MaxEntries < 3) or (cond == true and MaxEntries >= 3 and MaxEntries < 6)) then Buy("매수1",OnClose,def,Floor(금액/C)); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-01-18 10:40:05

안녕하세요 예스스탁입니다. 식을 수정했습니다. 피라미딩시 매수와 매수1도 한봉에서 동시발생할수 있어 매수가 충족되는 봉에서는 매수1이 발생하지 않게했습니다. var : entry(false),cond(false); if bdate != bdate[1] Then entry = true; if CurrentContracts > CurrentContracts[1] Then entry = false; var1 = ma(C,5); var2 = ma(C,20); var3 = ma(C,60); if sdate >= 지정일 and CrossUp(var1, var2) and var3 > var3[1] and entry == true Then Buy("매수",OnClose,def,Floor(금액/C)); if MarketPosition == 1 and entry == true Then { if MaxEntries == 3 and C <= AvgEntryPrice*0.75 Then cond = true; if !(CrossUp(var1, var2) and var3 > var3[1]) and ((cond == false and MaxEntries >= 1 and MaxEntries < 3) or (cond == true and MaxEntries >= 3 and MaxEntries < 6)) then Buy("매수1",OnClose,def,Floor(금액/C)); } 즐거운 하루되세요 > 승부사1 님이 쓴 글입니다. > 제목 : 골든크로스 수식 수정 부탁드립니다. > 아래의 수식을 사용해 보았습니다. 그런데 여전히 골든크로스가 붙었다 떨어졌다하는 구간에서 3회까지 매수가 되네요. 하루에 1회이상 매수가 안되게 될수 있을까요?? 10분봉 - 60과 180 이평선 골든크로스 - 피라미딩: 6회로 설정하여 시험해 보았습니다. - 아 래 - var : entry(false),cond(false); if bdate != bdate[1] Then entry = true; if CurrentContracts > CurrentContracts[1] Then entry = false; if sdate >= 지정일 and CrossUp(var1, var2) and var3 > var3[1] and entry == false Then Buy("매수",OnClose,def,Floor(금액/C)); if MarketPosition == 1 and entry == false Then { if MaxEntries == 3 and C <= AvgEntryPrice*0.75 Then cond = true; if ((cond == false and MaxEntries >= 1 and MaxEntries < 3) or (cond == true and MaxEntries >= 3 and MaxEntries < 6)) then Buy("매수1",OnClose,def,Floor(금액/C)); }