커뮤니티

수식 수정 부탁드립니다

프로필 이미지
청춘의환희
2011-07-04 11:41:01
725
글번호 40511
답변완료
Input : shortperiod(9), longperiod(26); var1 = Highest(h,shortperiod); var2 = Lowest(L,shortperiod); var3 = Highest(H,longperiod); var4 = Lowest(L,longperiod); var5 = Ma(c,12); var6 = Ma(c,20); var7 = StochasticsK(18,8); var8 = StochasticsD(18,8,7); If marketposition == 0 and o < C and L > (var1+var2)/2 and L > (var3+var4)/2 and L > var5 and var6 and var7 > var8 Then Buy("매수진입",OnClose); If MarketPosition == 1 and o > C and H < (var1+var2)/2 and H < (var3+var4)/2 and H < var5 and var6 and var7 < var8 Then ExitLong("매수청산",OnClose); If MarketPosition == 0 and o > C and H < (var1+var2)/2 and H < (var3+var4)/2 and H < var5 and var6 and var7 < var8 Then Sell("매도진입",OnClose); If marketposition == -1 and o < C and L > (var1+var2)/2 and L > (var3+var4)/2 and L > var5 and var6 and var7 > var8 Then ExitShort("매도청산",OnClose); ## 추가매수진입과 추가매수청산 If MarketPosition == 1 Then Buy("추가매수진입",AtLimit, EntryPrice-0.5); If IsEntryName("추가매수진입") Then ExitLong("추가매수청산",AtStop,EntryPrice); ## 추가매도진입과 추가매도청산 If marketposition == -1 Then Sell("추가매도진입",AtLimit, entryprice+0.5); If IsEntryName("추가매도진입") Then ExitShort("추가매도청산",AtStop,EntryPrice); ############################################### 질문1) 추가진입매수/추가진입매도의 경우 손절이나 청산 둘 중에 하나가 발생하는데 청산은 최초진입가(매수진입가격/매도진입가격)에 발생하고 손절은 매수청산/매도청산신호에 발생하며 이 경우 스위칭(손절과 동시에 반대포지션으로 리버스됨)이 일어나도록 해야 함 질문2) 식을 좀 깔금하고 정확하게 할 수 있을까요? 추가진입매수/매도는 최초진입가에서 0.5포인트 빠졌을때 사는 것입니다. 관리자님. 수고 많으십니다. 부탁좀 드릴게요.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-07-04 15:30:03

안녕하세요 예스스탁입니다. Input : shortperiod(9), longperiod(26); var1 = Highest(h,shortperiod); var2 = Lowest(L,shortperiod); var3 = Highest(H,longperiod); var4 = Lowest(L,longperiod); var5 = Ma(c,12); var6 = Ma(c,20); var7 = StochasticsK(18,8); var8 = StochasticsD(18,8,7); If o < C and L > (var1+var2)/2 and L > (var3+var4)/2 and L > var5 and var6 and var7 > var8 Then Buy("매수진입",OnClose); If o > C and H < (var1+var2)/2 and H < (var3+var4)/2 and H < var5 and var6 and var7 < var8 Then Sell("매도진입",OnClose); ## 추가매수진입과 추가매수청산 If MarketPosition == 1 Then { Buy("추가매수진입",AtLimit, EntryPrice-0.5); if CurrentEntries == 2 Then ExitLong("추가매수청산",AtLimit,EntryPrice); } ## 추가매도진입과 추가매도청산 If marketposition == -1 Then { Sell("추가매도진입",AtLimit, entryprice+0.5); if CurrentEntries == 2 Then ExitShort("추가매도청산",AtStop,EntryPrice); } 시스템이 진입명은 항상 첫진입만 가져오므로 추가분의 명칭은 가져와 사용할 수 없습니다. if CurrentEntries == 2 Then 와 같이 표현하시면 현재 동일방향 진입이 2번 누적되었다는 표현입니다. 식은 조금 간소화했습니다. 즐거운 하루되세요 > 청춘의환희 님이 쓴 글입니다. > 제목 : 수식 수정 부탁드립니다 > Input : shortperiod(9), longperiod(26); var1 = Highest(h,shortperiod); var2 = Lowest(L,shortperiod); var3 = Highest(H,longperiod); var4 = Lowest(L,longperiod); var5 = Ma(c,12); var6 = Ma(c,20); var7 = StochasticsK(18,8); var8 = StochasticsD(18,8,7); If marketposition == 0 and o < C and L > (var1+var2)/2 and L > (var3+var4)/2 and L > var5 and var6 and var7 > var8 Then Buy("매수진입",OnClose); If MarketPosition == 1 and o > C and H < (var1+var2)/2 and H < (var3+var4)/2 and H < var5 and var6 and var7 < var8 Then ExitLong("매수청산",OnClose); If MarketPosition == 0 and o > C and H < (var1+var2)/2 and H < (var3+var4)/2 and H < var5 and var6 and var7 < var8 Then Sell("매도진입",OnClose); If marketposition == -1 and o < C and L > (var1+var2)/2 and L > (var3+var4)/2 and L > var5 and var6 and var7 > var8 Then ExitShort("매도청산",OnClose); ## 추가매수진입과 추가매수청산 If MarketPosition == 1 Then Buy("추가매수진입",AtLimit, EntryPrice-0.5); If IsEntryName("추가매수진입") Then ExitLong("추가매수청산",AtStop,EntryPrice); ## 추가매도진입과 추가매도청산 If marketposition == -1 Then Sell("추가매도진입",AtLimit, entryprice+0.5); If IsEntryName("추가매도진입") Then ExitShort("추가매도청산",AtStop,EntryPrice); ############################################### 질문1) 추가진입매수/추가진입매도의 경우 손절이나 청산 둘 중에 하나가 발생하는데 청산은 최초진입가(매수진입가격/매도진입가격)에 발생하고 손절은 매수청산/매도청산신호에 발생하며 이 경우 스위칭(손절과 동시에 반대포지션으로 리버스됨)이 일어나도록 해야 함 질문2) 식을 좀 깔금하고 정확하게 할 수 있을까요? 추가진입매수/매도는 최초진입가에서 0.5포인트 빠졌을때 사는 것입니다. 관리자님. 수고 많으십니다. 부탁좀 드릴게요.