커뮤니티

시스템수식문의드립니다~

프로필 이미지
겐지
2017-02-02 10:37:01
152
글번호 106453
답변완료
답변주신내용가지고 열심히 보고 있는데 막히는 부분이 많네요ㅜ 답변해 주셔서 감사합니다~ 1.시스템수식이구요~ 30분봉에서 30분봉현재가격이 30분봉의 20봉전보다높고 30분봉의 19봉전보다높을때 360틱의 20일선의 쌍바닥에서 매수 또는 360틱의 60일선의 쌍바닥에서 매수 매수타이밍은 틱의20일선의쌍바닥일때는 틱의20일선쌍바닥영역에서 캔들이5틱이상의양봉이어야 하고 캔들몸통의2/3이상이 20일선과 크로스될때매수 20일선과60일선이 정배열되고나서 매수신호는2번만 나오도록 틱의60일선의쌍바닥일때는 틱의60일선과20일선5일선이정배열이고 마찬가지 캔들이5틱이상의 양봉이어야 하고 캔들몸통의2/3이상이 5일선과 크로스될때매수 60일선과240일선이 정배열되고나서 매수신호는2번만 나오도록 ------------------------------------------------------------------------- 30분봉에서 30분봉현재가격이 30분봉의 20봉전보다낮고 30분봉의 19봉전보다 낮을때 360틱의 20일선의 쌍봉에서 매도 또는 360틱의 60일선의 쌍봉에서 매도 매도타이밍은 틱의20일선의쌍봉일때는 캔들이5틱이상의 음봉이어야 하고 캔들몸통의2/3이상이 20일선과 데드크로스될때매도 20일선과60일선이역배열되고나서 매도신호는2번만나오도록 틱의60일선의쌍봉일때는 틱의60일선과20일선5일선이역배열이고 마찬가지 캔들이5틱이상의 음봉이면서 캔들몸통의2/3이상이 5일선과 데드크로스될때매도 60일선과240일선이역배열되고나서 매도신호는2번만나오도록 거래되는시간은 오후3시~새벽5시까지거래되도록 @@@@@ 여기서 질문사항이 20일선쌍봉쌍바닥신호와 60일선쌍봉쌍바닥신호를 이름붙여서 차트상에 따로표시되게하면서 각각 따로 주문이 들어가면서 시스템운영이 될 수 있을까요? 따로운영하지않고 같이 운영할때에 현재적용되는 신호별로 따로이름을 붙여서 차트상에 표시하고 싶습니다. 패턴신호별로 숫자랑 이름을 붙여서 표시되게 하고 싶거든요~ 2.5분봉에서 20일선위에서 나오는 5일선쌍바닥에서 매수 20일선아래에서 나오는 5일선 쌍봉에서 매도 신호는5일선과20일선이정배열,역배열되고나서2번까지만 나오도록 수식부탁드립니다. 매수타이밍과 매도타이밍은 양봉골든크로스 음봉데드크로스 기준으로 부탁드릴게요 3.강세약세수식을 적용해 보니 잘 나오거든요 그런데 좀 더 구현할 부분이 있어서요~ 30분봉의 현재가격이 20봉전보다 높고 19봉전보다 높으면 연한빨간색 20봉전보다높지만 19봉전보다낮으면 노란색 30분봉의 현재가격이 20봉전보다 낮고 19봉전보다 낮으면 연한파란색 20봉전보다 낮지만 19봉전보다 높으면 노란색 이렇게 강세약세를 3가지색깔로 구분해서 적용하고 싶습니다~ 그리고 선을 흰색으로 적용해도 세로선으로 표시가되던데 선이 표시가 안되게 하면서 채우기기능만 이용할 수는 없을까요? 4.또 한가지는 채우기기능을이용해서 강세약세를 일봉에 적용해 보니깐 화면전체가 채워지면서 적용이 안됩니다. 5.틱봉에서 참조데이터로 30분봉을 불러오니깐 틱봉사이가 벌어지는 경우가 있고 틱봉하나가 비는경우도 있구요 참조데이터로30분봉을 불러와도 틱봉사이가 일정하게 유지되게 하고 싶습니다. 6.4분할로 보고 있는데 캐나다달러 선택해서 보면 우측에가격이1칸정도 부족하게 나오거든요 우측가격표시란을 1칸 더 늘리는 방법이? 7.30분봉 참조데이터로 불러와서 실시간으로 보니깐요 30분봉현재가를 c로 표시했구요 30분봉현재가가 20봉전보다 높다는 기준을 적용하니깐 실시간으로 30분봉20봉전보다 현재30분봉현재가가 높을때가 적용되는게 아니고 직전30분봉의 종가기준으로 시스템 적용이 되더라구요 이게 실시간현재가 기준으로 적용되는 방법이 있을까요? 8.해외선물 틱봉으로 시뮬레이션하니깐 틱봉기간이 얼마 나오지가 않습니다; 틱봉기간을 많이해서 시뮬레이션해보고 싶은데 방법이 있나요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-02-02 18:20:33

안녕하세요 예스스탁입니다. 1 var : mav11(0,data1),mav12(0,data1),mav13(0,data1),mav14(0,data1); var : B1(0,data1),B2(0,data1),S1(0,data1),S2(0,data1); var : upv11(0,data1),upv12(0,data1),dnv11(0,data1),dnv12(0,data1); var : upv21(0,data1),upv22(0,data1),dnv21(0,data1),dnv22(0,data1); var : T(0,data1),T2(0,data1); mav11 = data1(ma(C,5)); mav12 = data1(ma(C,20)); mav13 = data1(ma(C,60)); mav14 = data1(ma(C,240)); if crossup(mav12,mav13) Then{ T = 1; B1 = 0; } if T == 1 and MarketPosition == 1 and MarketPosition != MarketPosition[1] Then B1 = B1+1; if CrossDown(mav11,mav12) Then{ T = -1; S1 = 0; } if T == -1 and MarketPosition == -1 and MarketPosition != MarketPosition[1] Then S1 = S1+1; if crossup(mav13,mav14) Then{ T2 = 1; B2 = 0; } if T2 == 1 and MarketPosition == 1 and MarketPosition != MarketPosition[1] Then B2 = B2+1; if CrossDown(mav13,mav14) Then{ T2 = -1; S2 = 0; } if T2 == -1 and MarketPosition == -1 and MarketPosition != MarketPosition[1] Then S2 = S2+1; if crossup(C+(H-L)*(2/3),mav12) Then{ upv11 = C; upv12 = upv11[1]; if MarketPosition <= 0 and data2(C > C[30] and C > C[19]) and C >= O+PriceScale*5 and T == 1 and B1 < 2 Then buy("b1"); } if crossup(C+(H-L)*(2/3),mav13) Then{ upv21 = C; upv22 = upv21[1]; } if MarketPosition <= 0 and mav11 > mav12 and mav12 > mav13 and upv21 > upv22 and C >= O+PriceScale*5 and crossup(C+(H-L)*(2/3),mav11) and B2 < 2 Then buy("b2"); if CrossDown(C+(H-L)*(2/3),mav12) Then{ dnv11 = C; dnv12 = dnv11[1]; if MarketPosition >= 0 and data2(C < C[30] and C < C[19]) and C <= O-PriceScale*5 and T == -1 and S1 < 2 Then sell("s1"); } if CrossDown(C+(H-L)*(2/3),mav13) Then{ dnv21 = C; dnv22 = dnv21[1]; } if MarketPosition >= 0 and mav11 < mav12 and mav12 < mav13 and dnv21 < dnv22 and C <= O-PriceScale*5 and CrossDown(C+(H-L)*(2/3),mav11) and S2 < 2 Then sell("s2"); SetStopProfittarget(PriceScale*25,PointStop); SetStopLoss(PriceScale*25,PointStop); 2 var : mav1(0),mav2(0),T(0); var : upv11(0),upv12(0),dnv11(0),dnv12(0); var : Bcnt(0),Scnt(0); mav1 = ma(C,5); mav2 = ma(C,20); if crossup(C,mav2) Then{ T = 1; Bcnt = 0; } if CrossDown(c,mav2) Then{ T = -1; Scnt = 0; } if MarketPosition != MarketPosition[1] and MarketPosition == 1 Then Bcnt = Bcnt+1; if MarketPosition != MarketPosition[1] and MarketPosition == -1 Then Scnt = Scnt+1; if crossup(C+(H-L)*(2/3),mav1) Then{ upv11 = C; upv12 = upv11[1]; if C > O and T == 1 and Bcnt < 2 and upv11 > upv12 and upv12 > 0 Then buy(); } if CrossDown(C+(H-L)*(2/3),mav1) Then{ dnv11 = C; dnv12 = dnv11[1]; if C < O and T == -1 and Scnt < 2 and dnv11 < dnv12 and dnv12 > 0 Then sell(); } 3 선을 표시하지 않을수는 없습니다. 채우기설정은 첨부된 그림과 같고 나머지 지표속성과 기본차트속성은 이전문의 답과 같습니다. var : T(0); if C > C[20] and C > C[19] Then T = 1; Else if C < C[20] and C < C[19] Then T = -1; Else T = 0; if T == 1 then{ plot1(999999999,"라인1"); plot2(0,"라인2"); plot3(0,"라인3"); plot4(0,"라인4"); } else if T == -1 then{ plot1(0,"라인1"); plot2(999999999,"라인2"); plot3(0,"라인3"); plot4(0,"라인4"); } Else{ plot1(0,"라인1"); plot2(0,"라인2"); plot3(999999999,"라인3"); plot4(0,"라인4"); } 4 문의하신 내용은 사용자분의 설정에 대한 문제 같습니다. 채우기는 차트의 주기와는 관계없습니다. 수식에 분봉에서만 가능한 조건이 들어가 잇는 경우를 제외하고는 정상적으로 모두 표시됩니다. 이전에 답변드린 내용도 일봉에서도 정상적으로 표시되고 있습니다. 5 차트의 X축은 시간입니다. 봉의 지정한 시간축에 그려지게 되는데 분봉과는 달리 틱봉은 일정시간동안 동일한 봉갯수가 발생하는 것이 아니라 틱봉과 분봉의 경우 봉사이가 일정하게 유지할수 없습니다. 6 Y축 영역의 여백은 따로 조정이 되지 않습니다. 7 수식의 기본적으로 완성봉의 데이터만 사용하고 if문이 봉완성시(다음봉시가수신)이 기준입니다. 미완성봉에서 if문 체크해 신호가 발생하게 할수는 없습니다. 8 해외선물은 틱봉의 경우 며칠정도의 데이터만 제공되고 있습니다. 해외선물은 저희쪽에서 데이터 관리를 하지 않아 저희쪽에서 해결해 드릴수 없는 부분입니다. 즐거운 하루되세요 > 겐지 님이 쓴 글입니다. > 제목 : 시스템수식문의드립니다~ > 답변주신내용가지고 열심히 보고 있는데 막히는 부분이 많네요ㅜ 답변해 주셔서 감사합니다~ 1.시스템수식이구요~ 30분봉에서 30분봉현재가격이 30분봉의 20봉전보다높고 30분봉의 19봉전보다높을때 360틱의 20일선의 쌍바닥에서 매수 또는 360틱의 60일선의 쌍바닥에서 매수 매수타이밍은 틱의20일선의쌍바닥일때는 틱의20일선쌍바닥영역에서 캔들이5틱이상의양봉이어야 하고 캔들몸통의2/3이상이 20일선과 크로스될때매수 20일선과60일선이 정배열되고나서 매수신호는2번만 나오도록 틱의60일선의쌍바닥일때는 틱의60일선과20일선5일선이정배열이고 마찬가지 캔들이5틱이상의 양봉이어야 하고 캔들몸통의2/3이상이 5일선과 크로스될때매수 60일선과240일선이 정배열되고나서 매수신호는2번만 나오도록 ------------------------------------------------------------------------- 30분봉에서 30분봉현재가격이 30분봉의 20봉전보다낮고 30분봉의 19봉전보다 낮을때 360틱의 20일선의 쌍봉에서 매도 또는 360틱의 60일선의 쌍봉에서 매도 매도타이밍은 틱의20일선의쌍봉일때는 캔들이5틱이상의 음봉이어야 하고 캔들몸통의2/3이상이 20일선과 데드크로스될때매도 20일선과60일선이역배열되고나서 매도신호는2번만나오도록 틱의60일선의쌍봉일때는 틱의60일선과20일선5일선이역배열이고 마찬가지 캔들이5틱이상의 음봉이면서 캔들몸통의2/3이상이 5일선과 데드크로스될때매도 60일선과240일선이역배열되고나서 매도신호는2번만나오도록 거래되는시간은 오후3시~새벽5시까지거래되도록 @@@@@ 여기서 질문사항이 20일선쌍봉쌍바닥신호와 60일선쌍봉쌍바닥신호를 이름붙여서 차트상에 따로표시되게하면서 각각 따로 주문이 들어가면서 시스템운영이 될 수 있을까요? 따로운영하지않고 같이 운영할때에 현재적용되는 신호별로 따로이름을 붙여서 차트상에 표시하고 싶습니다. 패턴신호별로 숫자랑 이름을 붙여서 표시되게 하고 싶거든요~ 2.5분봉에서 20일선위에서 나오는 5일선쌍바닥에서 매수 20일선아래에서 나오는 5일선 쌍봉에서 매도 신호는5일선과20일선이정배열,역배열되고나서2번까지만 나오도록 수식부탁드립니다. 매수타이밍과 매도타이밍은 양봉골든크로스 음봉데드크로스 기준으로 부탁드릴게요 3.강세약세수식을 적용해 보니 잘 나오거든요 그런데 좀 더 구현할 부분이 있어서요~ 30분봉의 현재가격이 20봉전보다 높고 19봉전보다 높으면 연한빨간색 20봉전보다높지만 19봉전보다낮으면 노란색 30분봉의 현재가격이 20봉전보다 낮고 19봉전보다 낮으면 연한파란색 20봉전보다 낮지만 19봉전보다 높으면 노란색 이렇게 강세약세를 3가지색깔로 구분해서 적용하고 싶습니다~ 그리고 선을 흰색으로 적용해도 세로선으로 표시가되던데 선이 표시가 안되게 하면서 채우기기능만 이용할 수는 없을까요? 4.또 한가지는 채우기기능을이용해서 강세약세를 일봉에 적용해 보니깐 화면전체가 채워지면서 적용이 안됩니다. 5.틱봉에서 참조데이터로 30분봉을 불러오니깐 틱봉사이가 벌어지는 경우가 있고 틱봉하나가 비는경우도 있구요 참조데이터로30분봉을 불러와도 틱봉사이가 일정하게 유지되게 하고 싶습니다. 6.4분할로 보고 있는데 캐나다달러 선택해서 보면 우측에가격이1칸정도 부족하게 나오거든요 우측가격표시란을 1칸 더 늘리는 방법이? 7.30분봉 참조데이터로 불러와서 실시간으로 보니깐요 30분봉현재가를 c로 표시했구요 30분봉현재가가 20봉전보다 높다는 기준을 적용하니깐 실시간으로 30분봉20봉전보다 현재30분봉현재가가 높을때가 적용되는게 아니고 직전30분봉의 종가기준으로 시스템 적용이 되더라구요 이게 실시간현재가 기준으로 적용되는 방법이 있을까요? 8.해외선물 틱봉으로 시뮬레이션하니깐 틱봉기간이 얼마 나오지가 않습니다; 틱봉기간을 많이해서 시뮬레이션해보고 싶은데 방법이 있나요?