커뮤니티
수식문의 드립니다
2015-12-23 16:50:37
183
글번호 93753
국내선물 1분봉기준
진입 조건은
- 9시 시가 에서 xxx.00 or xxx.50 중 먼곳에 진입 .
ex1) 만약 시가가 244.05 ~ 244.20 이면, 244.00 보다 244.50 이 멀기때문에, 244.50 매도와 245.50 매수에 mit로 진입대기를 한다.
ex2) 만약 시가가 244.30 ~ 244.45 이면, 244.50 보다 244.00 이 멀기때문에, 244.00 매도와 245.00 매수에 mit로 진입대기를 한다.
ex3) 만약 시가가 244.25 이거나 244.75 처럼, xxx.00 or xxx.50 에 딱 사이값이면, 244.25일시 244.00 매도와 244.50 매수 mit 대기를 하고, 244.75일시 244.50에 매도와 245.00에 매수 mit 대기를 한다.
ex4) 만약 시가가 244.00 이거나 244.50 이면, 244.00일시 243.50 매도와 244.50 매수 mit 대기를 하고, 244.50일시 244.00 매도와 245.00 매수 mit 대기를 한다.
진입을하게되면, 0.50 포인트 단위로 익절과 손절을 한다.
ex)241.50에 매수 진입을 하게되면, 익절과 손절 0.5 를하고,호가가 242.00 까지 상승했을때 (익절청산이 아닙니다) 임의로 먹었다고 생각하고, 손절만 0.5 끌여올려줍니다.
그러면 원래 241.00에 손절이 241.50으로 올려지는거죠. 이런식으로 플레이하다가 손절을 당하면 스위칭(매수1계약 청산, 매도 1계약 추가) 하면서 또 같은플레이를 반복합니다.
청산 조건은 하루에 두번 이어서 연속으로 손절을 당하면 청산 하거나,
하루에 연속 두번 손절이 안될시 당일 마지막봉에 청산을 시킨다.
부탁드립니다.
- 1. 그림설명.jpg (0.20 MB)
답변 2
예스스탁 예스스탁 답변
2015-12-23 19:05:28
안녕하세요
예스스탁입니다.
식을 2개 올려드립니다.
기본 내용은 같지만
1번식으로 적용해 보시면
1분봉에서 첫봉이 시초가에서 많이 상승하거나 하락해서
매수선과 매도선까지 가도 1번식은 신호가 발생하지 않습니다,
특정가격 터치할때 즉시 진입하는 atstop이나 atlimit이
봉완성시 셋팅을 해서 다음봉에서 감시하므로
첫봉에서 신호가 발생하지 않습니다.
2번식은 첫봉에서도 매수가와 매도가를 계산해서
첫봉에서 신호가 가능한데 전일마지막봉에서 셋팅을 해야 합니다.
2번식에서는 15시15분으로 지정했습니다.
다만 전일마지막봉이 수식으로는 시간으로 뿐이 지정이 되지 않는 불편함이 있어
년초 첫 거래일이나 수능일 다음날에는 맞지 않게 됩니다.
2개식 중 선택해서 사용하시기 바랍니다.
1.
input : 당일진입횟수(2);
var : 기준값(0),매수가(0),매도가(0),T1(0),entry(0);
var1 = Int(dayopen/0.5)*0.5;//시초가를 0.5단위의 값으로 변환
var2 = dayopen-var1;#시초가와 var1의 차이
#0.5단위로 가장 가까운값 계산
#xxx.00이나 xxx.50
if var2 == 0 Then{
기준값 = var1;
매수가 = 기준값+0.5;
매도가 = 기준값-0.5;
}
#xxx.05~xxx.20 or XXX.55~xxx.70
if var2 >= 0.05 and var2 <= 0.20 Then{
기준값 = var1;
매수가 = 기준값+0.5;
매도가 = 기준값-0.5;
}
#xxx.30~xxx.45 or XXX.80~xxx.95
if var2 >= 0.30 Then{
기준값 = var1+0.5;
매수가 = 기준값+0.5;
매도가 = 기준값-0.5;
}
#xxx.25 또는 xxx.75
if var2 == 0.25 Then{
기준값 = var1;
매수가 = 기준값+0.5;
매도가 = 기준값;
}
if date != date[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
Entry = TotalTrades-T1;
Else
Entry = TotalTrades-T1+1;
if MarketPosition == 0 and entry < 1 and stime < 150000 Then{
buy("b1",AtStop,매수가);
sell("s1",AtStop,매도가);
}
if entry >= 1 and entry < 당일진입횟수 and stime < 150000 Then{
if MarketPosition == 1 Then{
value1 = Floor((highest(H,BarsSinceEntry)-EntryPrice)/0.5);
Sell("bs",AtStop,(EntryPrice-0.5)+(0.5*value1));
}
if MarketPosition == -1 Then{
value2 = Floor((EntryPrice-lowest(L,BarsSinceEntry))/0.5);
Buy("sb",AtStop,(EntryPrice+0.5)-(0.5*value2));
}
}
if entry == 당일진입횟수 Then{
if MarketPosition == 1 Then{
value1 = Floor((highest(H,BarsSinceEntry)-EntryPrice)/0.5);
ExitLong("bx",AtStop,(EntryPrice-0.5)+(0.5*value1));
}
if MarketPosition == -1 Then{
value2 = Floor((EntryPrice-lowest(L,BarsSinceEntry))/0.5);
ExitShort("sx",AtStop,(EntryPrice+0.5)-(0.5*value2));
}
}
SetStopEndofday(150000);
2.
input : 당일진입횟수(2);
var : 기준값(0),매수가(0),매도가(0),T1(0),entry(0);
#0.5단위로 가장 가까운값 계산
if stime == 151500 Then{
var1 = Int(NextBarOpen/0.5)*0.5;//시초가를 0.5단위의 값으로 변환
var2 = NextBarOpen-var1;#시초가와 var1의 차이
#xxx.00이나 xxx.50
if var2 == 0 Then{
기준값 = var1;
매수가 = 기준값+0.5;
매도가 = 기준값-0.5;
}
#xxx.05~xxx.20 or XXX.55~xxx.70
if var2 >= 0.05 and var2 <= 0.20 Then{
기준값 = var1;
매수가 = 기준값+0.5;
매도가 = 기준값-0.5;
}
#xxx.30~xxx.45 or XXX.80~xxx.95
if var2 >= 0.30 Then{
기준값 = var1+0.5;
매수가 = 기준값+0.5;
매도가 = 기준값-0.5;
}
#xxx.25 또는 xxx.75
if var2 == 0.25 Then{
기준값 = var1;
매수가 = 기준값+0.5;
매도가 = 기준값;
}
buy("b",AtStop,매수가);
sell("s",AtStop,매도가);
}
if date != date[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
Entry = TotalTrades-T1;
Else
Entry = TotalTrades-T1+1;
if MarketPosition == 0 and entry < 1 and stime < 150000 Then{
buy("b1",AtStop,매수가);
sell("s1",AtStop,매도가);
}
if entry >= 1 and entry < 당일진입횟수 and stime < 150000 Then{
if MarketPosition == 1 Then{
value1 = Floor((highest(H,BarsSinceEntry)-EntryPrice)/0.5);
Sell("bs",AtStop,(EntryPrice-0.5)+(0.5*value1));
}
if MarketPosition == -1 Then{
value2 = Floor((EntryPrice-lowest(L,BarsSinceEntry))/0.5);
Buy("sb",AtStop,(EntryPrice+0.5)-(0.5*value2));
}
}
if entry == 당일진입횟수 Then{
if MarketPosition == 1 Then{
value1 = Floor((highest(H,BarsSinceEntry)-EntryPrice)/0.5);
ExitLong("bx",AtStop,(EntryPrice-0.5)+(0.5*value1));
}
if MarketPosition == -1 Then{
value2 = Floor((EntryPrice-lowest(L,BarsSinceEntry))/0.5);
ExitShort("sx",AtStop,(EntryPrice+0.5)-(0.5*value2));
}
}
SetStopEndofday(150000);
즐거운 하루되세요
> 아키 님이 쓴 글입니다.
> 제목 : 수식문의 드립니다
> 국내선물 1분봉기준
진입 조건은
- 9시 시가 에서 xxx.00 or xxx.50 중 먼곳에 진입 .
ex1) 만약 시가가 244.05 ~ 244.20 이면, 244.00 보다 244.50 이 멀기때문에, 244.50 매도와 245.50 매수에 mit로 진입대기를 한다.
ex2) 만약 시가가 244.30 ~ 244.45 이면, 244.50 보다 244.00 이 멀기때문에, 244.00 매도와 245.00 매수에 mit로 진입대기를 한다.
ex3) 만약 시가가 244.25 이거나 244.75 처럼, xxx.00 or xxx.50 에 딱 사이값이면, 244.25일시 244.00 매도와 244.50 매수 mit 대기를 하고, 244.75일시 244.50에 매도와 245.00에 매수 mit 대기를 한다.
ex4) 만약 시가가 244.00 이거나 244.50 이면, 244.00일시 243.50 매도와 244.50 매수 mit 대기를 하고, 244.50일시 244.00 매도와 245.00 매수 mit 대기를 한다.
진입을하게되면, 0.50 포인트 단위로 익절과 손절을 한다.
ex)241.50에 매수 진입을 하게되면, 익절과 손절 0.5 를하고,호가가 242.00 까지 상승했을때 (익절청산이 아닙니다) 임의로 먹었다고 생각하고, 손절만 0.5 끌여올려줍니다.
그러면 원래 241.00에 손절이 241.50으로 올려지는거죠. 이런식으로 플레이하다가 손절을 당하면 스위칭(매수1계약 청산, 매도 1계약 추가) 하면서 또 같은플레이를 반복합니다.
청산 조건은 하루에 두번 이어서 연속으로 손절을 당하면 청산 하거나,
하루에 연속 두번 손절이 안될시 당일 마지막봉에 청산을 시킨다.
부탁드립니다.
아키
2015-12-23 19:57:51
아 늦게까지 답변해 주셨는데, 또 문의드려서 죄송합니다..
아까 전화상으로 2회 청산으로 제가 잘못이해해서 말해서 수식이 살짝 다르게 나왔네요.
제말은 하루 2회 손절에 청산(재진입)이 안되게 하는것이 아니라,
연속으로 2회 손절을 당하면 재진입을 안하게 해주세요.
ex) +1+1+1 -1(손절후 스위칭) +1+1-1(손절후 스위칭) : 하루 두번 손절후 청산이 아님.
ex) +1+1+1 -1(손절후 스위칭) +1+1-1(손절후 스위칭) -1(청산) : 연속 2회 손절을 당하면 그만
-----
당장 급한게 아니라 궁굼한거여서^^
연휴 잘 보내시고, 다음에 답변 꼭 부탁드립니다.
다음글
이전글