커뮤니티

시스템수식

프로필 이미지
이대표
2020-01-06 22:00:30
341
글번호 134944
답변완료
다음을 시스템 수식으로 전환부탁드립니다. <1>5분봉에서 33선이 우상향일때 5선아래에서 양봉시작하자 마자 매수진입후 익절 15틱 손절10틱 매수청산 <2>5분봉에서 33선이 우하향일때 5선위에서 음봉시작하자 마자 매도진입후 익절 15틱 손절10틱 매도청산 <3> 위 <1>과 <2>를 동시에 시스템으로 짜되, <1>이 손절 또는 익절되기 전에 <2>가 발생시에는 서로 상계처리 되지 않을 것 (단일계좌 기준) 만일 단일계좌에서 위<1>과 <2>가 손절 또는 익절되기 전에 서로 상계처리가 될때에는 위 <1>과 위<2>가 별도 시스템로직으로 짤것 <4>위 <1>내지 <3>은 5분봉기준이나 슬리피지를 생각해서 1분봉에서 위 <1>내지 <3> 5분봉기준으로 진입할 수 있도록 매수진입/매수청산 (익절15틱 손절10틱) 매도진입/매도청산 (익절 15틱 손절10틱) 여기서도 위와 마찬가지로 단일계좌기준으로 상계처리 되지 않도록 하되, 단일계좌로 불가할 때에는 각각의 기준으로 1분봉에서 5분봉기준으로 매수진입/매수청산(익절15틱 손절10틱) 1분봉에서 5분봉기준으로 매도진입/매도청산(익절15틱 손절10틱)을 시스템으로 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-01-07 10:04:00

안녕하세요 예스스탁입니다. 상계처리가 스위칭을 의미하신다면 수식을 스위칭이 안되게 작성하시면 됩니다. 별도로 나누고자 하시면 2번식과 3번식 이용하시면 됩니다. 1 input : ntime1(5),P1(5),P2(33); input : 익절틱수(15),손절틱수(10); var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : sum1(0),mav1(0),sum2(0),mav2(0),sum11(0),mav11(0),sum21(0),mav21(0); Array : C1[100](0),O1[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime1; if Bdate != Bdate[1] or (ntime1 != 1 and Bdate == Bdate[1] and TF < TF[1]) or (ntime1 == 1 and Bdate == Bdate[1] and TF > TF[1]) Then { O1[0] = O; for cnt = 1 to 99 { C1[cnt] = C1[cnt-1][1]; O1[cnt] = O1[cnt-1][1]; } } C1[0] = C; if C1[P2] > 0 then { sum1 = 0; sum11 = 0; sum2 = 0; sum21 = 0; for cnt = 0 to P2-1 { if cnt < P1 then { sum1 = sum1+C1[cnt]; sum11 = sum11+C1[cnt]; } if cnt < P2 then { sum2 = sum2+C1[cnt]; sum21 = sum21+C1[cnt]; } } mav1 = sum1/P1; mav11 = sum11/P1; mav2 = sum2/P2; mav21 = sum21/P2; if MarketPosition == 0 and mav2 > mav21 and C1[0] > O1[0] and C < mav1 Then buy(); if MarketPosition == 0 and mav2 < mav21 and C1[0] < O1[0] and C > mav1 Then sell(); } } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); 2 매수진입-매수청산 input : ntime1(5),P1(5),P2(33); input : 익절틱수(15),손절틱수(10); var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : sum1(0),mav1(0),sum2(0),mav2(0),sum11(0),mav11(0),sum21(0),mav21(0); Array : C1[100](0),O1[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime1; if Bdate != Bdate[1] or (ntime1 != 1 and Bdate == Bdate[1] and TF < TF[1]) or (ntime1 == 1 and Bdate == Bdate[1] and TF > TF[1]) Then { O1[0] = O; for cnt = 1 to 99 { C1[cnt] = C1[cnt-1][1]; O1[cnt] = O1[cnt-1][1]; } } C1[0] = C; if C1[P2] > 0 then { sum1 = 0; sum11 = 0; sum2 = 0; sum21 = 0; for cnt = 0 to P2-1 { if cnt < P1 then { sum1 = sum1+C1[cnt]; sum11 = sum11+C1[cnt]; } if cnt < P2 then { sum2 = sum2+C1[cnt]; sum21 = sum21+C1[cnt]; } } mav1 = sum1/P1; mav11 = sum11/P1; mav2 = sum2/P2; mav21 = sum21/P2; if MarketPosition == 0 and mav2 > mav21 and C1[0] > O1[0] and C < mav1 Then buy(); } } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); 3. 매도진입-매도청산 input : ntime1(5),P1(5),P2(33); input : 익절틱수(15),손절틱수(10); var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : sum1(0),mav1(0),sum2(0),mav2(0),sum11(0),mav11(0),sum21(0),mav21(0); Array : C1[100](0),O1[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime1; if Bdate != Bdate[1] or (ntime1 != 1 and Bdate == Bdate[1] and TF < TF[1]) or (ntime1 == 1 and Bdate == Bdate[1] and TF > TF[1]) Then { O1[0] = O; for cnt = 1 to 99 { C1[cnt] = C1[cnt-1][1]; O1[cnt] = O1[cnt-1][1]; } } C1[0] = C; if C1[P2] > 0 then { sum1 = 0; sum11 = 0; sum2 = 0; sum21 = 0; for cnt = 0 to P2-1 { if cnt < P1 then { sum1 = sum1+C1[cnt]; sum11 = sum11+C1[cnt]; } if cnt < P2 then { sum2 = sum2+C1[cnt]; sum21 = sum21+C1[cnt]; } } mav1 = sum1/P1; mav11 = sum11/P1; mav2 = sum2/P2; mav21 = sum21/P2; if MarketPosition == 0 and mav2 < mav21 and C1[0] < O1[0] and C > mav1 Then sell(); } } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); 즐거운 하루되세요 > 이대표 님이 쓴 글입니다. > 제목 : 시스템수식 > 다음을 시스템 수식으로 전환부탁드립니다. <1>5분봉에서 33선이 우상향일때 5선아래에서 양봉시작하자 마자 매수진입후 익절 15틱 손절10틱 매수청산 <2>5분봉에서 33선이 우하향일때 5선위에서 음봉시작하자 마자 매도진입후 익절 15틱 손절10틱 매도청산 <3> 위 <1>과 <2>를 동시에 시스템으로 짜되, <1>이 손절 또는 익절되기 전에 <2>가 발생시에는 서로 상계처리 되지 않을 것 (단일계좌 기준) 만일 단일계좌에서 위<1>과 <2>가 손절 또는 익절되기 전에 서로 상계처리가 될때에는 위 <1>과 위<2>가 별도 시스템로직으로 짤것 <4>위 <1>내지 <3>은 5분봉기준이나 슬리피지를 생각해서 1분봉에서 위 <1>내지 <3> 5분봉기준으로 진입할 수 있도록 매수진입/매수청산 (익절15틱 손절10틱) 매도진입/매도청산 (익절 15틱 손절10틱) 여기서도 위와 마찬가지로 단일계좌기준으로 상계처리 되지 않도록 하되, 단일계좌로 불가할 때에는 각각의 기준으로 1분봉에서 5분봉기준으로 매수진입/매수청산(익절15틱 손절10틱) 1분봉에서 5분봉기준으로 매도진입/매도청산(익절15틱 손절10틱)을 시스템으로 부탁드립니다.