커뮤니티
수식 수정 부탁드립니다
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포인트 빠졌을때 사는 것입니다.
관리자님. 수고 많으십니다. 부탁좀 드릴게요.