커뮤니티

문의드립니다.

프로필 이미지
아싸가오리
2013-01-21 12:32:45
187
글번호 58417
답변완료
같은 종목의 1분봉 주차트에서 참조데이터2번과 참조데이터3번을 사용하고 있습니다. 참조데이터 2번은 10분봉차트고 참조데이터 3번은 60분봉 차트를 사용하고 있습니다. 변수값 및 배열변수값을 저장하는데 주차트 1분의 마지막 봉(종가봉) 시뮬레이션차트에서 3시 1분봉으로 뜹니다. 참조데이터2(10분봉차트)의 마지막 봉(종가봉) 시뮬레이션차트에서 3시 10분봉으로 뜹니다. 참조데이터3(60분봉차트)의 마지막 봉(종가봉) 시뮬레이션차트에서 4시 봉으로 뜹니다. 마지막 봉을(종가봉) 다음날 시초가에 전봉(H[0],L[0])으로 인식하는 바람에 변수값 및 배열 변수값에 오류가 발생합니다. 마지막 봉(종가봉)=1분봉차트에서 3시 1분봉차트,10분봉차트에서 3시10분봉차트,60분봉차트에서 4시차트를 제외하고 그 전봉을 = 1분봉차트에서 2시 50분봉을 H[0],L[0]으로 10분봉차트에서 2시 50분봉을 H[0],L[0]으로, 60분봉차트에서 3시분봉을 H[0],L[0]으로 다음날 시초가에 인식하여 저장해 나가고 싶습니다. 나름 생각해서 아래와 같이 여러방법으로 해봤는데 안되네요..ㅠ.ㅠ 1. if DayClose(1) == data3(h[0]) then data3(h[1]) = data3(h[0]); If dayclose(1) == data3(l[0]) Then data3(l[1]) = Data3(l[0]); 2. DayClose(1) != data3(h[0]); dayclose(1) != data3(l[0]); 3. if DayClose(1) == Data2(h[0]) Then Data2(h[0]) == Data2(h[1]) ; if dayclose(1) == Data2(l[0]) Then Data2(L[0]) == Data2(l[1]) ; if DayClose(1) == data3(h[0]) Then DATA3(h[0]) == DATA3(h[1]) ; if dayclose(1) == data3(l[0]) Then DATA3(L[0]) == DATA3(l[1]) ; 1.계좌평가금액 100%(예로 1100만원) 을 가지고 있고 2.거래소 및 코스닥 주식투자금 90%(예로 1000만원) 3.여유금 손실에 대비하는 금액(손실대비금으로 즉 손해발생시 까먹는돈으로 보유) 10%(예로 100만원) 시스템거래 프로그램 실행창 10종목 4.실투자거래종목 5종목 한종목당 18.2%(예로 200만원)으로 거래 5.처음 먼저 신호발생종목 5종목으로만 거래 6.손절매시 처음 먼저 신호발생종목 즉 매수신호의 발생 순서에 상관없이 손절매한 종목만(같은 종목만 거래)==>단 매수조건만족할 경우 그 종목이 매수조건만족하지 않을 경우 시스템거래 프로그램 실행창 10종목 중 거래 안하는 종목 중 가장먼저 매수신호 발생하는 종목으로 거래 예로 동양건설 매수 손절시 동양건설 재매수 단 재진입조건(저장해 놓은 변수값에 만족하거나 이평선이 정배열일 경우에 한해 재진입)을 만족 할경우이며 다른 프로그램실행창의 매수신호가 먼저 발생하여도 무시하며 재진입조건에 만족하지 않을 경우 시스템거래 프로그램실행중 종목 나머지 5개종목중 매수매도조건에 만족 할경우 매수 신호 먼저 발생하는 종목에 진입 7. 특정 매수조건에서 한종목 거래대금 18.2%의 25% 25% 50% 분할매수 8. 특정 매도조건에서 한종목 거래대금 18.2%의 25% 25% 50% 분할매도 9.특정 매수조건 및 매도조건에서 한종목 거래대금 18.2%의 100% 매수 및 매도 매수매도 주문 IF 매수조건 A THEN BUY("A매수식"); IF 매수조건 B THEN BUY("B매수식"); IF 매수조건 C THEN BUY("C매수식"); IF 매도조건 A THEN SELL("A매도식"); IF 매도조건 B THEN SELL("B매도식"); IF 매도조건 C THEN SELL("C매도식"); A매수식으로 매수시 A조건으로만 매도 ==>IF A매도조건 AND A매수식 THEN 이런식으로 작성하면 A매수식으로 발생한 매수에서는 A매도식으로만 매도가 되나요? 쓰다보니 양이 너무 많아졌네요. 잘부탁드리겠습니다.^^
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-01-21 15:18:03

안녕하세요 예스스탁입니다. 1. 따로 계산식을 만들어 상요하셔야 합니다. 기존 데이터예약어에는 사용자분이 값을 저장해 사용할 수 없습니다. 아래와 같이 작성하시면 마지막봉(동시호가봉을 제외하고) 일간 시고저종가를 계산합니다. 식상에서는 10일전까지 사용되게 작성되었습니다. D1HC[0]은 당일,D1HC[1]이 전일, D1HC[2]는 전전일 순으로 모든 변수 위와 동일합니다. 차트에 보이는 시간은 3시 1분봉이지만 수식에서 사용하는 stime은 사용하는 주기에서 모두 150000입니다. 해당봉 제외하고 시고저종가를 계산해서 사용하게 됩니다,. var : cnt1(0,data1),cnt2(0,data2),cnt3(0,data3); Array : D1DO[10](0,data1),D1DH[10](0,data1),D1DL[10](0,data1),D1DC[10](0,data1); Array : D2DO[10](0,data2),D2DH[10](0,data2),D2DL[10](0,data2),D2DC[10](0,data2); Array : D3DO[10](0,data3),D3DH[10](0,data3),D3DL[10](0,data3),D3DC[10](0,data3); #data1 if data1(date != date[1]) Then{ D1DO[0] = data1(O); D1DH[0] = data1(H); D1DL[0] = data1(L); D1DC[0] = data1(C); for cnt1 = 1 to 9{ D1DO[cnt1] = D1DO[cnt1-1][1]; D1DH[cnt1] = D1DH[cnt1-1][1]; D1DL[cnt1] = D1DL[cnt1-1][1]; D1DC[cnt1] = D1DC[cnt1-1][1]; } } if data1(stime < 150000) Then{ if data1(H) > D1DH[0] Then D1DH[0] = data1(H); if data1(L) < D1DL[0] Then D1DL[0] = data1(L); } #data2 if data2(date != date[1]) Then{ D2DO[0] = data2(O); D2DH[0] = data2(H); D2DL[0] = data2(L); D2DC[0] = data2(C); for cnt2 = 1 to 9{ D2DO[cnt2] = D2DO[cnt2-1][1]; D2DH[cnt2] = D2DH[cnt2-1][1]; D2DL[cnt2] = D2DL[cnt2-1][1]; D2DC[cnt2] = D2DC[cnt2-1][1]; } } if data2(stime < 150000) Then{ if data2(H) > D2DH[0] Then D2DH[0] = data2(H); if data2(L) < D2DL[0] Then D2DL[0] = data2(L); } #data3 if data3(date != date[1]) Then{ D3DO[0] = data3(O); D3DH[0] = data3(H); D3DL[0] = data3(L); D3DC[0] = data3(C); for cnt3 = 1 to 9{ D3DO[cnt3] = D2DO[cnt3-1][1]; D3DH[cnt3] = D2DH[cnt3-1][1]; D3DL[cnt3] = D2DL[cnt3-1][1]; D3DC[cnt3] = D2DC[cnt3-1][1]; } } if data3(stime < 150000) Then{ if data3(H) > D3DH[0] Then D3DH[0] = data3(H); if data3(L) < D3DL[0] Then D3DL[0] = data3(L); } 2. 해당 내용은 가능하지 않습니다. 시스템은 작성하면 해당 차트의 데이터만 가지고 신호를 발생할수 있습니다. 다른차트의 신호발생 등을 이용할 수 있는 방법이 없습니다. 즐거운 하루되세요 > 아싸가오리 님이 쓴 글입니다. > 제목 : 문의드립니다. > 같은 종목의 1분봉 주차트에서 참조데이터2번과 참조데이터3번을 사용하고 있습니다. 참조데이터 2번은 10분봉차트고 참조데이터 3번은 60분봉 차트를 사용하고 있습니다. 변수값 및 배열변수값을 저장하는데 주차트 1분의 마지막 봉(종가봉) 시뮬레이션차트에서 3시 1분봉으로 뜹니다. 참조데이터2(10분봉차트)의 마지막 봉(종가봉) 시뮬레이션차트에서 3시 10분봉으로 뜹니다. 참조데이터3(60분봉차트)의 마지막 봉(종가봉) 시뮬레이션차트에서 4시 봉으로 뜹니다. 마지막 봉을(종가봉) 다음날 시초가에 전봉(H[0],L[0])으로 인식하는 바람에 변수값 및 배열 변수값에 오류가 발생합니다. 마지막 봉(종가봉)=1분봉차트에서 3시 1분봉차트,10분봉차트에서 3시10분봉차트,60분봉차트에서 4시차트를 제외하고 그 전봉을 = 1분봉차트에서 2시 50분봉을 H[0],L[0]으로 10분봉차트에서 2시 50분봉을 H[0],L[0]으로, 60분봉차트에서 3시분봉을 H[0],L[0]으로 다음날 시초가에 인식하여 저장해 나가고 싶습니다. 나름 생각해서 아래와 같이 여러방법으로 해봤는데 안되네요..ㅠ.ㅠ 1. if DayClose(1) == data3(h[0]) then data3(h[1]) = data3(h[0]); If dayclose(1) == data3(l[0]) Then data3(l[1]) = Data3(l[0]); 2. DayClose(1) != data3(h[0]); dayclose(1) != data3(l[0]); 3. if DayClose(1) == Data2(h[0]) Then Data2(h[0]) == Data2(h[1]) ; if dayclose(1) == Data2(l[0]) Then Data2(L[0]) == Data2(l[1]) ; if DayClose(1) == data3(h[0]) Then DATA3(h[0]) == DATA3(h[1]) ; if dayclose(1) == data3(l[0]) Then DATA3(L[0]) == DATA3(l[1]) ; 1.계좌평가금액 100%(예로 1100만원) 을 가지고 있고 2.거래소 및 코스닥 주식투자금 90%(예로 1000만원) 3.여유금 손실에 대비하는 금액(손실대비금으로 즉 손해발생시 까먹는돈으로 보유) 10%(예로 100만원) 시스템거래 프로그램 실행창 10종목 4.실투자거래종목 5종목 한종목당 18.2%(예로 200만원)으로 거래 5.처음 먼저 신호발생종목 5종목으로만 거래 6.손절매시 처음 먼저 신호발생종목 즉 매수신호의 발생 순서에 상관없이 손절매한 종목만(같은 종목만 거래)==>단 매수조건만족할 경우 그 종목이 매수조건만족하지 않을 경우 시스템거래 프로그램 실행창 10종목 중 거래 안하는 종목 중 가장먼저 매수신호 발생하는 종목으로 거래 예로 동양건설 매수 손절시 동양건설 재매수 단 재진입조건(저장해 놓은 변수값에 만족하거나 이평선이 정배열일 경우에 한해 재진입)을 만족 할경우이며 다른 프로그램실행창의 매수신호가 먼저 발생하여도 무시하며 재진입조건에 만족하지 않을 경우 시스템거래 프로그램실행중 종목 나머지 5개종목중 매수매도조건에 만족 할경우 매수 신호 먼저 발생하는 종목에 진입 7. 특정 매수조건에서 한종목 거래대금 18.2%의 25% 25% 50% 분할매수 8. 특정 매도조건에서 한종목 거래대금 18.2%의 25% 25% 50% 분할매도 9.특정 매수조건 및 매도조건에서 한종목 거래대금 18.2%의 100% 매수 및 매도 매수매도 주문 IF 매수조건 A THEN BUY("A매수식"); IF 매수조건 B THEN BUY("B매수식"); IF 매수조건 C THEN BUY("C매수식"); IF 매도조건 A THEN SELL("A매도식"); IF 매도조건 B THEN SELL("B매도식"); IF 매도조건 C THEN SELL("C매도식"); A매수식으로 매수시 A조건으로만 매도 ==>IF A매도조건 AND A매수식 THEN 이런식으로 작성하면 A매수식으로 발생한 매수에서는 A매도식으로만 매도가 되나요? 쓰다보니 양이 너무 많아졌네요. 잘부탁드리겠습니다.^^