커뮤니티
궁금합니다.ㅎㅎ
2012-09-14 15:06:48
438
글번호 54706
아래에서 코딩을 선물5분봉에서 실험해 보면
"매수시 전고점 돌파시 추가 매수
매도시 전저점 돌파시 추가 매도" 인데
동일한 봉에 거래가 2번씩 발생하는 경우가 많아요
어떤 부분이 문제가 되는 건가요??
input : P(1.4), Len(20);
var1 = highest(H,70);
var2 = Lowest(L,70);
var3 = (var1+var2)/2;
var4 = Highest(H,Len)[1];
var5 = Lowest(L,Len)[1];
if var1 <= var2*(1+P/100) Then{
buy("b",AtStop,var1+PriceScale);
sell("s",AtStop,var2-PriceScale);
}
if MarketPosition == 1 and CrossUp(C, var4) Then
buy("b1");
if MarketPosition == -1 and CrossDown(C, var5) Then
sell("s1");
if MarketPosition == 1 Then{
ExitLong("bx",AtStop,var3);
if CrossDown(c,ma(c,30)) Then
ExitLong();
}
if MarketPosition == -1 Then{
ExitShort("sx",AtStop,var3);
if CrossUp(c,ma(c,30)) Then
ExitShort();
}
답변 1
예스스탁 예스스탁 답변
2012-09-14 17:51:12
안녕하세요? 예스스탁입니다.
동일한 봉에서 진입이 같이 이루어지지 않도록 수정해 보았습니다.
input : P(1.4), Len(20);
var1 = highest(H,70);
var2 = Lowest(L,70);
var3 = (var1+var2)/2;
var4 = Highest(H,Len)[1];
var5 = Lowest(L,Len)[1];
if var1 <= var2*(1+P/100) Then{
buy("b",AtStop,var1+PriceScale);
sell("s",AtStop,var2-PriceScale);
}
if MarketPosition[1] == 1 and CrossUp(C, var4) Then
buy("b1");
if MarketPosition[1] == -1 and CrossDown(C, var5) Then
sell("s1");
if MarketPosition == 1 Then{
ExitLong("bx",AtStop,var3);
if CrossDown(c,ma(c,30)) Then
ExitLong();
}
if MarketPosition == -1 Then{
ExitShort("sx",AtStop,var3);
if CrossUp(c,ma(c,30)) Then
ExitShort();
}
즐거운 날 되세요.
> 전략도사 님이 쓴 글입니다.
> 제목 : 궁금합니다.ㅎㅎ
> 아래에서 코딩을 선물5분봉에서 실험해 보면
"매수시 전고점 돌파시 추가 매수
매도시 전저점 돌파시 추가 매도" 인데
동일한 봉에 거래가 2번씩 발생하는 경우가 많아요
어떤 부분이 문제가 되는 건가요??
input : P(1.4), Len(20);
var1 = highest(H,70);
var2 = Lowest(L,70);
var3 = (var1+var2)/2;
var4 = Highest(H,Len)[1];
var5 = Lowest(L,Len)[1];
if var1 <= var2*(1+P/100) Then{
buy("b",AtStop,var1+PriceScale);
sell("s",AtStop,var2-PriceScale);
}
if MarketPosition == 1 and CrossUp(C, var4) Then
buy("b1");
if MarketPosition == -1 and CrossDown(C, var5) Then
sell("s1");
if MarketPosition == 1 Then{
ExitLong("bx",AtStop,var3);
if CrossDown(c,ma(c,30)) Then
ExitLong();
}
if MarketPosition == -1 Then{
ExitShort("sx",AtStop,var3);
if CrossUp(c,ma(c,30)) Then
ExitShort();
}