커뮤니티

포지션 진입로직 질문입니다.

프로필 이미지
철인27호
2011-04-10 23:48:26
751
글번호 37450
답변완료
1. 5일선이 20일선을 올라설 경우, 해당봉과 해당봉+3봉(해당봉에서 세번째 후의 봉) 의 가격을 비교하여 해당봉+3봉의 가격이 크면 매수하고자 합니다. 어떻게 하면 되나요? 2. 5일선이 20일선을 올라설 경우, 해당봉의 가격에서 +0.5원이 되면 매수합니다.(수식 확인 부탁드립니다.) Input : shortPeriod(5), longPeriod(20); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); value3 = MarketPosition(value3); value11 = 0; value12 = 0; # 매수 포지션 들어가기 If CrossUP(value1, value2) and value3 == 0 Then { value11 = C + 0.5; if(C > value11) then { Buy("B"); } } # 매도 포지션 들어가기 If CrossDown(value1, value2) and value3 == 0 Then { value12 = C - 0.5; if(C < value12) then { Sell("S"); } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-04-11 14:42:20

안녕하세요 예스스타입니다. 1. 5일선과 20일선을 골든크로스 이후에 3개봉 경과후를 비교하므로 3개봉 경과한 봉의 입장에서는 골든크로스가 3개봉전에 발생한 것입니다. 신호가 나는 봉을 기준으로 수식을 만드시면 됩니다. var1 = ma(c,5); var2 = ma(c,20); if crossup(var1[3],var2[3]) and #3봉전 골든크로스 C > C[3] Then #3봉전 종가보다 현재봉 종가가 큼 buy(); 2. Input : shortPeriod(5), longPeriod(20); var : upDn(0); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); If CrossUP(value1, value2) Then { upDn = 1; #골든크로스가 발생하면 1 value11 = C + 0.5; #골든크로스 발생봉의 종가+0.5 } If CrossDown(value1, value2) Then { upDn = -1;#데드크로스가 발생하면 -1 value12 = C - 0.5;#데드크로스 발생봉의 종가-0.5 } if UPdn == 1 and #골든크로스 구간 crossup(c,value11) Then buy(); if Updn == -1 and #데드크로스 구간 CrossDown(c,value12) Then sell(); 기존수식에서 value3 = MarketPosition(value3); 와 같은 표현은 어떤 내용인지 모르겠습니다. 포지션을 지칭하는 내용이면 value3 = MarketPosition; 로 사용하셔야 합니다. 즐거운 하루되세요 > 철인27호 님이 쓴 글입니다. > 제목 : 포지션 진입로직 질문입니다. > 1. 5일선이 20일선을 올라설 경우, 해당봉과 해당봉+3봉(해당봉에서 세번째 후의 봉) 의 가격을 비교하여 해당봉+3봉의 가격이 크면 매수하고자 합니다. 어떻게 하면 되나요? 2. 5일선이 20일선을 올라설 경우, 해당봉의 가격에서 +0.5원이 되면 매수합니다.(수식 확인 부탁드립니다.) Input : shortPeriod(5), longPeriod(20); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); value3 = MarketPosition(value3); value11 = 0; value12 = 0; # 매수 포지션 들어가기 If CrossUP(value1, value2) and value3 == 0 Then { value11 = C + 0.5; if(C > value11) then { Buy("B"); } } # 매도 포지션 들어가기 If CrossDown(value1, value2) and value3 == 0 Then { value12 = C - 0.5; if(C < value12) then { Sell("S"); } }