커뮤니티

골든크로스 매매에서 atstop 질문입니다

프로필 이미지
실상사
2011-11-30 09:31:04
453
글번호 45314
답변완료
Input : shortPeriod(12), longPeriod(26), Period(9); value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy("매수",atstop,C); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } 위의 예는 크로스업에서 매수 신호가 나오는건데 일봉기준으로 하면 onclose 경우는 장이 끝나고 주문이 들어가기때문에 안되는것으로 알고 있습니다 만약 atstop의 조건으로 설정하면 언제 주문이 들어가는지요 오늘 크로스업이 발생했을 경우에요 발생하는 순간에 매수가 들어가면 크로스업과 다운이 그 순간에 계속 발생하기때문에 매수매도가 반복해서 발생하므로 이 식으로는 불가능할거라고 생각합니다 물론 매도식을 크로스 다운으로 설정하지 않으면 매수 매도가 반복 안되겠지만요 데이타 참조로 분붕을 참조하여 오늘 골드가 발생할 경우 장중에 매수가 가능하다고 하는데요 수식좀 만들어주시면 감사하겠습니다 추가 질문인데요 만약 atstop으로 설정했을때 오늘 아침 동시에 크로스업이 발생했을때는 시간에 관계없이 아침 동시호가에 자동으로 주문이 들어가는건가요? 온클로스의 경우는 오늘 크로스업이 발생하면 내일 동시에 매수주문 신호가 발생합니다 오늘 크로스업이면 오늘 장주에 매수가 되도록 하고 싶습니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-11-30 15:29:23

안녕하세요 예스스탁입니다. onclose 타입은 if문 만족봉에 신호 표시를 하고 주문은 다음봉 시가 수신시에 발생합니다. 그러므로 일봉에 적용하시면 다음말 시가(시초가) 수신시에 발생합니다. 시스템은 동시호가에는 주문이 가능하지 않습니다. 아래와 같이 작성하시면 골든크로스가 발생하고 다음봉 시세가 골든크로스 발생봉의 종가보다 높으면 그때 신호와 주문이 발생하게 되므로 다음날 시초가가 갭하락이면 갭이 매워질때까지 신호가 발생하지 않습니다. If CrossUP(value1, value2) Then { Buy("매수",atstop,C); } 장중에 매매하고자 하시면 분봉에서 일봉의 내용을 구현하는 식으로 작성해야 합니다. 아래는 분봉에서 일봉의 MACD와 MACD시그널을 구현하여 크로스시 매매하는 식입니다. 참고하시기 바랍니다. MACD는 지수이평이 근간이 되는 지표이고 지수이평은 차트의 봉갯수에 따라 값에 차이가 나는 이평입니다. 그러므로 분봉에서 일봉의 내용을 구현한 식이므로 적용하실 때에는 차트에 최대한 봉을 많이 있어야 하므로 실시간 차트에서 5000개봉 조회하신 후에 적용하셔야 합니다. 너무 짧은 주기의 분차트에서는 실제 일봉의 값과 차이가 발생할 수 있습니다. Input : Period1(12), Period2(26), Period3(9); Var : Ep1(0), EP2(0), EP3(0), JISU1(0), JISU2(0), PreJISU1(0), PreJISU2(0); Var : macdVal(0), preMacdVal(0), macdSig(0),macdOsc(0),PremacdOsc(0); if date != date[1] then { PreJISU1 = JISU1[1]; PreJISU2 = JISU2[1]; PreMacdVal = macdSig[1]; PRemacdOsc = macdOsc[1]; } Ep1 = 2/(Period1+1); EP2 = 2/(Period2+1); EP3 = 2/(Period3+1); JISU1 = C * Ep1 + PreJISU1 * (1-Ep1); //단기지수이동평균 JISU2 = C * Ep2 + PreJISU2 * (1-Ep2); //장기지수이동평균 macdVal = JISU1 - JISU2; //macd macdSig = macdVal * Ep3 + PreMacdVal * (1-Ep3); //macd signal macdOsc = macdval-macdsig; if crossup(MACDval,MACDsig) Then buy(); if CrossDown(MACDval,MACDsig) Then sell(); 즐거운 하루되세요 > 실상사 님이 쓴 글입니다. > 제목 : 골든크로스 매매에서 atstop 질문입니다 > Input : shortPeriod(12), longPeriod(26), Period(9); value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy("매수",atstop,C); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } 위의 예는 크로스업에서 매수 신호가 나오는건데 일봉기준으로 하면 onclose 경우는 장이 끝나고 주문이 들어가기때문에 안되는것으로 알고 있습니다 만약 atstop의 조건으로 설정하면 언제 주문이 들어가는지요 오늘 크로스업이 발생했을 경우에요 발생하는 순간에 매수가 들어가면 크로스업과 다운이 그 순간에 계속 발생하기때문에 매수매도가 반복해서 발생하므로 이 식으로는 불가능할거라고 생각합니다 물론 매도식을 크로스 다운으로 설정하지 않으면 매수 매도가 반복 안되겠지만요 데이타 참조로 분붕을 참조하여 오늘 골드가 발생할 경우 장중에 매수가 가능하다고 하는데요 수식좀 만들어주시면 감사하겠습니다 추가 질문인데요 만약 atstop으로 설정했을때 오늘 아침 동시에 크로스업이 발생했을때는 시간에 관계없이 아침 동시호가에 자동으로 주문이 들어가는건가요? 온클로스의 경우는 오늘 크로스업이 발생하면 내일 동시에 매수주문 신호가 발생합니다 오늘 크로스업이면 오늘 장주에 매수가 되도록 하고 싶습니다