커뮤니티

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

프로필 이미지
승부사1
2018-01-18 21:55:59
140
글번호 115908
답변완료
아래의 수식을 적용해 보았습니다. 매수가 거의 발생하지 않네요. 어느 부분의 문제인지 찾기가 어려워서 재차 문의 드립니다. 하루 이내에서는 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
프로필 이미지

예스스탁 예스스탁 답변

2018-01-19 10:58:33

안녕하세요 예스스탁입니다. 첨부된 그림과 같이하루에 한번만 신호가 발생합니다. 수식을 어느부분을 추가로 수정해 드려야 할지 잘 모르겠습니다. 도움을 드리지 못해 죄송합니다. 아래와 같이 지정일과 금액을 지정하고 적용했습니다. input : 지정일(20180101),금액(1000000); 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 님이 쓴 글입니다. > 제목 : 골든크로스 수식 수정 부탁드립니다. > 아래의 수식을 적용해 보았습니다. 매수가 거의 발생하지 않네요. 어느 부분의 문제인지 찾기가 어려워서 재차 문의 드립니다. 하루 이내에서는 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)); }