커뮤니티
수식수정 부탁합니다
2011-07-08 13:18:14
669
글번호 40706
## 변수선언
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);
## 신규 매수와 신규매도(각각의 청산은 반대신호시 발생. 즉, Buy 된 후에 청산은 Sell 신호가 나오면 Buy 포지션의 청산 후 바로 스위칭되어 Sell 포지션으로 바뀜)
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("추가매수청산",OnClose,EntryPrice);
}
## 추가매도진입과 추가매도청산
If marketposition == -1 Then {
Sell("추가매도진입",AtLimit, entryprice+0.5);
if CurrentEntries == 2 Then
ExitShort("추가매도청산",OnClose,EntryPrice);
}
## 당일청산
SetStopEndofday(150400);
##########################################
위 식에서 청산 후 진입이 같은 봉에서 나오고 있습니다.
증거금의 문제로 인해 청산 후 무조건 다음봉에 진입신호가 나오도록 바꾸고 싶습니다.
수식수정 부탁드립니다.
답변 1
예스스탁 예스스탁 답변
2011-07-08 18:48:54
안녕하세요? 예스스탁입니다.
시스템 트레이딩 설정창의 부가기능에 진입을 지연시키는 기능이 있습니다.
리버스 시스템에서 증거금이 두배로 잡히는 문제를 해결하기 위해서 청산은 즉시하되, 진입은 N초 지연시켜서 하는 방법입니다.
이 기능을 이용해 보시길 권해드립니다.
올려주신 내용은 atlmit 타입의 주문이 있어서 신호를 제어하기가 어려울 것으로 판단이 됩니다.
감사합니다.
> 청춘의환희 님이 쓴 글입니다.
> 제목 : 수식수정 부탁합니다
> ## 변수선언
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);
## 신규 매수와 신규매도(각각의 청산은 반대신호시 발생. 즉, Buy 된 후에 청산은 Sell 신호가 나오면 Buy 포지션의 청산 후 바로 스위칭되어 Sell 포지션으로 바뀜)
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("추가매수청산",OnClose,EntryPrice);
}
## 추가매도진입과 추가매도청산
If marketposition == -1 Then {
Sell("추가매도진입",AtLimit, entryprice+0.5);
if CurrentEntries == 2 Then
ExitShort("추가매도청산",OnClose,EntryPrice);
}
## 당일청산
SetStopEndofday(150400);
##########################################
위 식에서 청산 후 진입이 같은 봉에서 나오고 있습니다.
증거금의 문제로 인해 청산 후 무조건 다음봉에 진입신호가 나오도록 바꾸고 싶습니다.
수식수정 부탁드립니다.
다음글
이전글