커뮤니티

매수 시스템 질문드립니다.

프로필 이미지
차티스트박찬호
2020-12-08 11:50:04
821
글번호 144518
답변완료
macd디버전스에서 매수하고 10틱오르면 청산하는 수식 부탁드립니다. 스탑은 5틱 떨어지면 손절하는 걸로 하겠습니다. 이전에 비슷한 질문을 드렸을때 변수 T 를 선언하신 후에 MACD signal 선을 골든크로스 할때는 T = 1, 데드크로스 할때는 T = -1 이런걸 쓰셨었는데 이번에도 쓰신다면 이걸 왜 쓰는것인가 설명해 주시면 감사하겠습니다. (MACD가 signal선 상승돌파 시) 현재 MACD값~ 4봉전 MACD값의 최저값을 MACD_n 에저장. PV_n = Lowest(L,5) 으로 최근 5일의 저가 저장. (70봉 이내에 1. signal선이 0선 위로 올라온 적이 없고, 2. MACD가 signal 선을 상승돌파 했을때) 이때가 몇봉 전인지 cnt 에 저장. (가령 cnt가 30이라면) 30봉전 MACD값부터 34봉전 MACD값의 최저값을 MACD_p 에 저장.하고 PV_p = Lowest(L[cnt],5) 으로 이당시 5일의 저가 저장. If PV_p > PV_n && MACD_p < MACD_n && Crossup(macd,signal) Then buy();
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-12-08 16:40:34

안녕하세요 예스스탁입니다. 1 이전식에 T는 MACD 골드구간인지 데드구간인지 구분하기 위해 사용하는 변수였습니다. 골드후에 다음 데드까지는 1, 데드후에 다음 골드까지는 -1입니다. 데드구간의 가격과 지표의 최저가를 계산하기 위해 구간을 알기위해 만들어 사용한 변수입니다. 2 Input : shortPeriod(5), longPeriod(20), N(70); Var : MACDV(0),MACDS(0),L1(0),L2(0),MACD_n(0),PV_n(0),MACD_p(0),PV_p(0),cnt(0); MACDV = MACD(shortPeriod, longPeriod); MACDS= EMA(MACDV,5); L1 = lowest(MACDV,5); L2 = lowest(L,5); Condition1 = CrossUp(MACDV,MACDS); if Condition1 == true Then { MACD_n = L1; PV_n = L2; MACD_p = 0; PV_p = 0; For cnt = 1 to N { if Condition1[cnt] == true and MACDS[cnt] < 0 Then { MACD_p = L1[cnt]; PV_p = L2[cnt]; } if MACDS[cnt] > 0 Then cnt = N+1; } if PV_p > 0 and PV_p > PV_n && MACD_p < MACD_n Then Buy(); } 즐거운 하루되세요 > 차티스트박찬호 님이 쓴 글입니다. > 제목 : 매수 시스템 질문드립니다. > macd디버전스에서 매수하고 10틱오르면 청산하는 수식 부탁드립니다. 스탑은 5틱 떨어지면 손절하는 걸로 하겠습니다. 이전에 비슷한 질문을 드렸을때 변수 T 를 선언하신 후에 MACD signal 선을 골든크로스 할때는 T = 1, 데드크로스 할때는 T = -1 이런걸 쓰셨었는데 이번에도 쓰신다면 이걸 왜 쓰는것인가 설명해 주시면 감사하겠습니다. (MACD가 signal선 상승돌파 시) 현재 MACD값~ 4봉전 MACD값의 최저값을 MACD_n 에저장. PV_n = Lowest(L,5) 으로 최근 5일의 저가 저장. (70봉 이내에 1. signal선이 0선 위로 올라온 적이 없고, 2. MACD가 signal 선을 상승돌파 했을때) 이때가 몇봉 전인지 cnt 에 저장. (가령 cnt가 30이라면) 30봉전 MACD값부터 34봉전 MACD값의 최저값을 MACD_p 에 저장.하고 PV_p = Lowest(L[cnt],5) 으로 이당시 5일의 저가 저장. If PV_p > PV_n && MACD_p < MACD_n && Crossup(macd,signal) Then buy();