커뮤니티

수식 도와주실수 있나요? 하다가 막혀서요

프로필 이미지
이형지
2019-12-30 22:07:10
507
글번호 134765
답변완료

첨부 이미지

최대한 수식을 이해하고 스스로 작성하려고 하는데 정말 모르겠습니다. 좀 도와주실수 있나요? 요지는 다음과 같습니다. 아래 특정 하나의 수식으로(물론 변수는 최적화) 분봉별로 변수값을 변형하여 4개의 수식을 각각 차트별로 운용하고 있습니다. 4개의 수식을 하나의 수식으로 통합수식을 구현하려고 합니다. (바로 아래 질물 사항 참조 ) 해당 수식을 각각 1분봉 - data1 5분봉 - data2 10분봉 - data3 20분봉 - data4 왜냐하면 이유는 다음과 같습니다. 해당 수식은 역추세 매매로 급락시 체결 진입되는 수식인데 폭락 원웨이시 4개 수식이 전량 체결되는 경우가 있는데 그러면 리스크관리가 안되기 때문에 ..... 4개의 수식이 전량 진입체결되는 경우 -- 위험관리가 안됨 -- 진입 제한 필요성 및 4개 전략을 반영하다보니 차트를 4개를 열어서 관리해야 함 --> 차트 1개로 간소화 필요 한종목에 4개전략을 활성화하고 종목을 3개하니 12개 전략을 활성화하다보니 컴퓨터가 과부하 걸림.... 락다운되는 현상 가끔씩 발생..위험성으로 개선 필요 전략 1. 4개의 전략 ( 동일종목 1분봉 5분봉 10분봉 20분봉 )을 하나의 수식으로 구현 2. 1개의 버전에 변수로 1회진입버전 및 2회진입버전이 있음 ( max 4버전 * 2 = 8계약 진입해버릴수 있음 ) 3. 현재 자금상 2개 (버전진입 갯수를 변수로 지정) 의 버전만 진입가능하게 설계 구현 ( max 2버전 * 2계약 = 최대 4계약진입 ) 시행 방법 일단 전략차트 (그림과 같이 셋팅) 전략차트를 1분봉 참조차트를 5분봉 10분봉 20분봉으로 셋팅 함. 수식을 아래와 같이 수식 작성 --- ----------------------------------------------------------------------- #매수통합버전 ( 1분봉/ 5분봉/ 10분봉/20분봉 버전) #1분봉 버전-- data1 차트에 적용 Input : RSIPeriod(14),RSI매수값(16),SimPeriod(14),심리도값(22); Input : 초기화(7); Input : CCI기간(20),CCI값(500); Input : 하락틱수(50); Input : 즉시익절1(30),즉시손절1(90); Input : 분할매수횟수(2),분할매수틱수(50); input : N(100); # N은 즉시손절1 발생시 N봉까지 진입 금지 var : CCIv(0),RSIv(0),Simri(0),BuySetup(false),DD(0),entry(0); CCIv = CCI(CCI기간); RSIV = RSI(RSIPeriod); Simri = Simrido(SimPeriod); # -------N봉까지 즉시손절1 발생시 진입금지 수식 -------------- if bdate != bdate[1] Then Entry = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; Condition2 = MarketPosition == 0 and (IsExitName("즉시손절1",1) == false or (IsExitName("즉시손절1",1) == true and BarsSinceExit(1) > N)); # -------------------------------------------------------------------- Condition1 = RSIv < RSI매수값 and Simri < 심리도값; # ------------초기화까지 ---------------- if bdate != bdate[1] Then { DD = DD+1; if var2 > 0 and DD == var2+초기화 Then BuySetup = false; } if BuySetup == false and Condition1 == true and Condition1[1] == false Then { var1 = C; var2 = DD; BuySetup = true } if Condition2 == true and MarketPosition == 0 and BuySetup == true Then buy("매수",AtLimit,var1-PriceScale*하락틱수); #추가진입 if MarketPosition == 1 and MaxEntries < 분할매수횟수 Then buy("추가매수",atlimit,LatestEntryPrice(0)-PriceScale*분할매수틱수,1); if MarketPosition == 1 then { BuySetup = false; if CrossDown(CCIv,CCI값) Then ExitLong("매수cci청산"); ExitLong("즉시익절1",AtLimit,EntryPrice+PriceScale*즉시익절1); ExitLong("즉시손절1",AtStop,EntryPrice-PriceScale*즉시손절1); } #*********************************************************************************** #5분봉 버전 -- data2 차트에 적용 ( 잘 몰라서 수정 못함 ( data2로 반영해야함 ) 상동 - data2차트에 적용하도록 수정 필요... #*********************************************************************************** #10분봉 버전 -- data3 차트에 적용 ( 잘 몰라서 수정 못함 ( data3로 반영해야함 ) 상동 - data3차트에 적용하도록 수정 필요... #*********************************************************************************** #20분봉 버전 -- data4 차트에 적용 ( 잘 몰라서 수정 못함 ( data4로 반영해야함 ) 상동 - data4차트에 적용하도록 수정 필요... ***** 위식에서 기능추가로 4개 버전중 2개 버전만 진입될수 있도록 진입 제한 수식 .... 참고로 1분봉전략, 5분봉전략, 10분봉전략, 20분봉전략의 기본수식은 같으나 변수는 다 다름 PS 혹시 제가 경험치 부족으로 무식하게 위 식처럼 구현하면 될것 같아서 요청한 것이지만 효율적인 방법이 있으면 알려주시면 감사하겠습니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-01-02 10:56:22

안녕하세요 예스스탁입니다. 문의하신 내용을 하나의 시스템으로 구현하는 부분은 고려할 상황들도 많고 작성해 보는데 시간도 많이 소모되게 됩니다. 업무상 많은 시간이 소모되는 부부은 저희가 답변을 드리기 어렵습니다. 도움을 드리지 못해 죄송합니다. 즐거운 하루 되세요 > 이형지 님이 쓴 글입니다. > 제목 : 수식 도와주실수 있나요? 하다가 막혀서요 > 최대한 수식을 이해하고 스스로 작성하려고 하는데 정말 모르겠습니다. 좀 도와주실수 있나요? 요지는 다음과 같습니다. 아래 특정 하나의 수식으로(물론 변수는 최적화) 분봉별로 변수값을 변형하여 4개의 수식을 각각 차트별로 운용하고 있습니다. 4개의 수식을 하나의 수식으로 통합수식을 구현하려고 합니다. (바로 아래 질물 사항 참조 ) 해당 수식을 각각 1분봉 - data1 5분봉 - data2 10분봉 - data3 20분봉 - data4 왜냐하면 이유는 다음과 같습니다. 해당 수식은 역추세 매매로 급락시 체결 진입되는 수식인데 폭락 원웨이시 4개 수식이 전량 체결되는 경우가 있는데 그러면 리스크관리가 안되기 때문에 ..... 4개의 수식이 전량 진입체결되는 경우 -- 위험관리가 안됨 -- 진입 제한 필요성 및 4개 전략을 반영하다보니 차트를 4개를 열어서 관리해야 함 --> 차트 1개로 간소화 필요 한종목에 4개전략을 활성화하고 종목을 3개하니 12개 전략을 활성화하다보니 컴퓨터가 과부하 걸림.... 락다운되는 현상 가끔씩 발생..위험성으로 개선 필요 전략 1. 4개의 전략 ( 동일종목 1분봉 5분봉 10분봉 20분봉 )을 하나의 수식으로 구현 2. 1개의 버전에 변수로 1회진입버전 및 2회진입버전이 있음 ( max 4버전 * 2 = 8계약 진입해버릴수 있음 ) 3. 현재 자금상 2개 (버전진입 갯수를 변수로 지정) 의 버전만 진입가능하게 설계 구현 ( max 2버전 * 2계약 = 최대 4계약진입 ) 시행 방법 일단 전략차트 (그림과 같이 셋팅) 전략차트를 1분봉 참조차트를 5분봉 10분봉 20분봉으로 셋팅 함. 수식을 아래와 같이 수식 작성 --- ----------------------------------------------------------------------- #매수통합버전 ( 1분봉/ 5분봉/ 10분봉/20분봉 버전) #1분봉 버전-- data1 차트에 적용 Input : RSIPeriod(14),RSI매수값(16),SimPeriod(14),심리도값(22); Input : 초기화(7); Input : CCI기간(20),CCI값(500); Input : 하락틱수(50); Input : 즉시익절1(30),즉시손절1(90); Input : 분할매수횟수(2),분할매수틱수(50); input : N(100); # N은 즉시손절1 발생시 N봉까지 진입 금지 var : CCIv(0),RSIv(0),Simri(0),BuySetup(false),DD(0),entry(0); CCIv = CCI(CCI기간); RSIV = RSI(RSIPeriod); Simri = Simrido(SimPeriod); # -------N봉까지 즉시손절1 발생시 진입금지 수식 -------------- if bdate != bdate[1] Then Entry = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; Condition2 = MarketPosition == 0 and (IsExitName("즉시손절1",1) == false or (IsExitName("즉시손절1",1) == true and BarsSinceExit(1) > N)); # -------------------------------------------------------------------- Condition1 = RSIv < RSI매수값 and Simri < 심리도값; # ------------초기화까지 ---------------- if bdate != bdate[1] Then { DD = DD+1; if var2 > 0 and DD == var2+초기화 Then BuySetup = false; } if BuySetup == false and Condition1 == true and Condition1[1] == false Then { var1 = C; var2 = DD; BuySetup = true } if Condition2 == true and MarketPosition == 0 and BuySetup == true Then buy("매수",AtLimit,var1-PriceScale*하락틱수); #추가진입 if MarketPosition == 1 and MaxEntries < 분할매수횟수 Then buy("추가매수",atlimit,LatestEntryPrice(0)-PriceScale*분할매수틱수,1); if MarketPosition == 1 then { BuySetup = false; if CrossDown(CCIv,CCI값) Then ExitLong("매수cci청산"); ExitLong("즉시익절1",AtLimit,EntryPrice+PriceScale*즉시익절1); ExitLong("즉시손절1",AtStop,EntryPrice-PriceScale*즉시손절1); } #*********************************************************************************** #5분봉 버전 -- data2 차트에 적용 ( 잘 몰라서 수정 못함 ( data2로 반영해야함 ) 상동 - data2차트에 적용하도록 수정 필요... #*********************************************************************************** #10분봉 버전 -- data3 차트에 적용 ( 잘 몰라서 수정 못함 ( data3로 반영해야함 ) 상동 - data3차트에 적용하도록 수정 필요... #*********************************************************************************** #20분봉 버전 -- data4 차트에 적용 ( 잘 몰라서 수정 못함 ( data4로 반영해야함 ) 상동 - data4차트에 적용하도록 수정 필요... ***** 위식에서 기능추가로 4개 버전중 2개 버전만 진입될수 있도록 진입 제한 수식 .... 참고로 1분봉전략, 5분봉전략, 10분봉전략, 20분봉전략의 기본수식은 같으나 변수는 다 다름 PS 혹시 제가 경험치 부족으로 무식하게 위 식처럼 구현하면 될것 같아서 요청한 것이지만 효율적인 방법이 있으면 알려주시면 감사하겠습니다.