장시작후 일정 고가 초과시 매수하고, 다음날 시가에 청산하는 식인데요,
1시간봉 기준으로 할 경우
문제는 다음날 시가에 청산은 잘 되는데
다음날 장 시장 첫봉에서 고가로 올라서 조건 만족할 경우 새로 진입은 안되네요.
어제자 주문 청산되는 봉과
오늘자 새로 진입하는 봉이
당일 장시작 첫봉에서 중복되어서 그런거 같은데
오늘자 첫봉에서 청산도 되지만 고가 조건만족시 새로 진입도 가능하게 수정할수 있을까요?
if date != date[1] Then
Condition1 = false;
if EntryDate == sdate and MarketPosition == 1 Then
Condition1 = true;
if condition1 == false and MarketPosition >= 0 and DayLow > DayOpen-140 and H < DayOpen+20 Then
Buy("b",AtStop,DayOpen+20);
if MarketPosition == 1 Then
ExitLong("bl",AtStop,EntryPrice-50);
SetStopProfittarget(50,PointStop);
if (NextBarSdate != sDate and NextBarStime >= 80000) or
(NextBarSdate == sDate and NextBarStime >= 80000 and sTime < 80000) Then
ExitLong("bl2",AtMarket);
답변 1
예스스탁
예스스탁 답변
2022-03-03 16:02:11
안녕하세요
예스스탁입니다.
현재 매수진입조건이 시초가대비 140포인트 이상 하락한적이 없는 상태에서 시초가+20을 넘을때 매수입니다.
첫봉에서 신호를 발생하기 위해서는 당일시초가 들어올때 바로 셋팅이 해야 하는데
if조건문이 봉완성기준으로 체크가 되는데
첫봉에서 시초가+20 도달시점에 시초가대비 -140까지 하락했는지를 체크할수가 없습니다.
만약 해당조건만 제외하신다면 아래와 같이 첫봉에서 신호가 발생하는 내용을 추가하시면 됩니다.
즉 첫봉은 시초가+20만으로 진입을 하게 됩니다.
if date != date[1] Then
Condition1 = false;
if EntryDate == sdate and MarketPosition == 1 Then
Condition1 = true;
#첫봉에만 시초가+20도달을 체크해서 즉시진입
if NextBarSdate != sDate then
Buy("b1",AtStop,NextBarOpen+20);
#두번째봉부터 조건만족시 진입
if condition1 == false and MarketPosition >= 0 and DayLow > DayOpen-140 and H < DayOpen+20 Then
Buy("b",AtStop,DayOpen+20);
if MarketPosition == 1 Then
ExitLong("bl",AtStop,EntryPrice-50);
SetStopProfittarget(50,PointStop);
if (NextBarSdate != sDate and NextBarStime >= 80000) or
(NextBarSdate == sDate and NextBarStime >= 80000 and sTime < 80000) Then
ExitLong("bl2",AtMarket);
즐거운 하루되세요
> 거봉79 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 장시작후 일정 고가 초과시 매수하고, 다음날 시가에 청산하는 식인데요,
1시간봉 기준으로 할 경우
문제는 다음날 시가에 청산은 잘 되는데
다음날 장 시장 첫봉에서 고가로 올라서 조건 만족할 경우 새로 진입은 안되네요.
어제자 주문 청산되는 봉과
오늘자 새로 진입하는 봉이
당일 장시작 첫봉에서 중복되어서 그런거 같은데
오늘자 첫봉에서 청산도 되지만 고가 조건만족시 새로 진입도 가능하게 수정할수 있을까요?
if date != date[1] Then
Condition1 = false;
if EntryDate == sdate and MarketPosition == 1 Then
Condition1 = true;
if condition1 == false and MarketPosition >= 0 and DayLow > DayOpen-140 and H < DayOpen+20 Then
Buy("b",AtStop,DayOpen+20);
if MarketPosition == 1 Then
ExitLong("bl",AtStop,EntryPrice-50);
SetStopProfittarget(50,PointStop);
if (NextBarSdate != sDate and NextBarStime >= 80000) or
(NextBarSdate == sDate and NextBarStime >= 80000 and sTime < 80000) Then
ExitLong("bl2",AtMarket);