커뮤니티

질문요..

프로필 이미지
sjpapa
2011-07-11 22:37:02
821
글번호 40771
답변완료
일봉 챠트에서 아래와 같이 작성시 if c>o Then buy("b",AtMarket); if c<o Then sell("s",AtMarket); if BarsSinceEntry==0 then { exitlong("B손절",Atstop,EntryPrice-2.5); exitshort("S손절",atstop,EntryPrice+2.5); } exitlong(); exitshort(); 1) 손절 주문이 엉뚱하게 나가더군요. 일봉챠트에선 atstop이 안먹히는 건가요? 2) atstop은 가격이 기준에 닿으면 기준 이상에서 주문이 나가고, atlimit은 뚫었다가 되돌아 올때 나가는거 맞나요? atstop 주문은 슬리피지 줄이고 그 가격에 들어가려고들 쓰시던데..기준가 이상에 주문나간다는 말이 무슨뜻이지.. atlimit도 쉬운 예좀 들어주세요. 3) 이평선을 atstop 기준으로 잡을수 없는 이유 쉽게 설명 부탁해요. 4) 시가를 기준으로 만족시 시가 진입식을 작성하려고 합니다. 예) 금일 시가가 전일 고가 이상이고 1515분 종가가 value2이하이고 금일 시가는 value2 이상일때 09:00 매수 if sTime == 151500 Then{ if NextBarOpen >= dayhigh () && c <= value2 && nextbaropen > value2 Then buy("b",AtMarket); } 전혀 작동하질 안네요. 뭐 간단한 로직도 할때마다 코딩부터 막히니 에휴 . 부탁합니당.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-07-12 10:45:20

안녕하세요 예스스탁입니다. 1. if c>o Then buy("b",AtMarket); if c<o Then sell("s",AtMarket); SetStopLoss(2.5,PointStop); exitlong(); exitshort(); 해당 식은 위와 같이 작성하셔야만 됩니다. 해당 식에서 BarsSinceEntry==0은 진입신호 전봉까지를 나타내고 진입신호 전봉은 entryprice가 0이므로 0에+-2.5한 값으로 신호가 발생하므로 진입하자마자 청산이 발동하게 됩니다. 강제청산 손절매함수를 이용해야만 합니다. 2. atstop은 매수주문함수(buy,exitshort)에서는 지정된 가격이상 매도주문함수(sell,exitlong)에서는 지정된 가격이하의 시세가 발생하면 신호가 발생하게 되는 타입니다. atlimit은 매수주문함수(buy,exitshort)에서는 지정된 가격이하 매도주문함수(sell,exitlong)에서는 지정된 가격이상의 시세가 발생하면 신호가 발생하게 되는 타입니다. 가격을 지정하면 그 가격 이상의 시세이냐 이하의 시세이냐만을 판단하며 뚫었다가 되돌아 오는것은 감시하는 것은 아닙니다. #직전봉고가+0.5포인트 이상 시세발생하면 매수진입 buy("b1",atstop,H+0.5); #직전봉저가-0.5포인트 이하 시세발생하면 매수진입 buy("b2",atlimit,L-0.5); #직전봉고가+0.5포인트 이상 시세발생하면 매도진입 Sell("s1",atlimit,H+0.5); #직전봉저가-0.5포인트 이하 시세발생하면 매도진입 Sell("s2",atstop,L-0.5); #진입가대비 +1수익발생시 매수포지션 청산 exitlong("bx1",atlimit,entryprice+1); #진입가대비 -1손실발생시 매수포지션 청산 exitlong("bx2",AtStop,entryprice-1); #진입가대비 +1수익발생시 매도포지션 청산 ExitShort("sx1",atlimit,entryprice-1); #진입가대비 -1손실발생시 매도포지션 청산 ExitShort("sx2",AtStop,entryprice+1); 3. 위의 예시와 같이 atstop이나 atlimit은 직전봉에서 확정된 값을 사용하게 되고 현재봉의 시세(현재가)와 서로 비교를 하게 됩니다. 그러므로 5-20 이평선 크로스같은 경우에는 2개의 이평선을 비교해야 하는데 atstop은 직전봉값과 현재값만이 비교대상이므로 가능하지 않고 현재봉의 이평값을 atstop으로는 기준으로 정할 수 없으므로 현재봉의 이평과 현재값도 비교할 수 없습니다. 4. 해당식은 문법상으로는 잘못된 부분이 없습니다. value2를 20이평으로 지저하고 차트에 적용하면 신호가 정상적으로 발동합니다. value2 = ma(c,20); if sTime == 151500 Then{ if NextBarOpen >= dayhigh && c <= value2 && nextbaropen > value2 Then buy("b",AtMarket); } 사용하시는 value2값을 살펴보시기 바랍니다. 즐거운 하루되세요 > 휴식 님이 쓴 글입니다. > 제목 : 질문요.. > 일봉 챠트에서 아래와 같이 작성시 if c>o Then buy("b",AtMarket); if c<o Then sell("s",AtMarket); if BarsSinceEntry==0 then { exitlong("B손절",Atstop,EntryPrice-2.5); exitshort("S손절",atstop,EntryPrice+2.5); } exitlong(); exitshort(); 1) 손절 주문이 엉뚱하게 나가더군요. 일봉챠트에선 atstop이 안먹히는 건가요? 2) atstop은 가격이 기준에 닿으면 기준 이상에서 주문이 나가고, atlimit은 뚫었다가 되돌아 올때 나가는거 맞나요? atstop 주문은 슬리피지 줄이고 그 가격에 들어가려고들 쓰시던데..기준가 이상에 주문나간다는 말이 무슨뜻이지.. atlimit도 쉬운 예좀 들어주세요. 3) 이평선을 atstop 기준으로 잡을수 없는 이유 쉽게 설명 부탁해요. 4) 시가를 기준으로 만족시 시가 진입식을 작성하려고 합니다. 예) 금일 시가가 전일 고가 이상이고 1515분 종가가 value2이하이고 금일 시가는 value2 이상일때 09:00 매수 if sTime == 151500 Then{ if NextBarOpen >= dayhigh () && c <= value2 && nextbaropen > value2 Then buy("b",AtMarket); } 전혀 작동하질 안네요. 뭐 간단한 로직도 할때마다 코딩부터 막히니 에휴 . 부탁합니당.