커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

최대한 수식을 이해하고 스스로 작성하려고 하는데 정말 모르겠습니다. 좀 도와주실수 있나요? 요지는 다음과 같습니다. 아래 특정 하나의 수식으로(물론 변수는 최적화) 분봉별로 변수값을 변형하여 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 혹시 제가 경험치 부족으로 무식하게 위 식처럼 구현하면 될것 같아서 요청한 것이지만 효율적인 방법이 있으면 알려주시면 감사하겠습니다.
프로필 이미지
이형지
2019-12-30
506
글번호 134765
시스템
답변완료

과장님 수식 좀 도와주실수 있으신가요?- 따로 따로 답변해주시면 감사 data2함수관련

기본차트는 다른 봉수로 설정하고 참조차트(data2)에 아래식을 변형하게 하려 합니다. 기본차트 수식 Input : RSIPeriod(14),RSI매수값(35),SimPeriod(14),심리도값(37); Input : N1(1),초기화(7); Input : CCI기간(80),CCI값(200); Input : 하락틱수(40); Input : 즉시익절1(300),즉시손절1(75); Input : 분할매수횟수(2),분할매수틱수(45); input : N(5); var : CCIv(0),RSIv(0),Simri(0),BuySetup(false),DD(0),entry(0); CCIv = CCI(CCI기간); RSIV = RSI(RSIPeriod); Simri = Simrido(SimPeriod); 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); } =========================================================================== 위 차트 수식을 data2 참조차트에 동일하게 구현하려고 합니다. 맞느지 한번 봐주세요 input 변수는 그대로 var 는 각 변수마다 (0) --> (0,data2)로 변경 지정수식은 A = B ---> A = data2(B) 그리고 잘 모르겠어요.. 다음 수식에는 data2를 어디다가 넣어야 하는지... ...ㅠㅠ Input : RSIPeriod(14),RSI매수값(35),SimPeriod(14),심리도값(37); Input : 초기화(7); Input : CCI기간(80),CCI값(200); Input : 하락틱수(40); Input : 즉시익절1(300),즉시손절1(75); Input : 분할매수횟수(2),분할매수틱수(45); input : N(7); var : CCIv(0,Data2),RSIv(0,Data2),Simri(0,Data2),BuySetup(false,Data2),DD(0,Data2),entry(0,Data2); CCIv = data2(CCI(CCI기간)); RSIV = data2(RSI(RSIPeriod)); Simri = data2(Simrido(SimPeriod)); if data2( bdate != bdate[1] ) Then Entry = 0; if data2(MarketPosition != 0 and MarketPosition != MarketPosition[1]) Then entry = entry+1; Condition2 = data2(MarketPosition == 0 )and data2((IsExitName("즉시손절1",1) == false)) or data2( (IsExitName("즉시손절1",1) == true and BarsSinceExit(1) > N)); Condition1 = (RSIv < RSI매수값) and (Simri < 심리도값); if data2(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 data2(MarketPosition == 1) then { BuySetup = false; if CrossDown(CCIv,CCI값) Then ExitLong("매수cci청산"); ExitLong("즉시익절1",AtLimit,EntryPrice+PriceScale*즉시익절1); ExitLong("즉시손절1",AtStop,EntryPrice-PriceScale*즉시손절1); }
프로필 이미지
이형지
2019-12-30
323
글번호 134764
시스템
답변완료

키움수식 변형 부탁드립니다.

분봉기준입니다. B = sum( if(C >= 기준값1, M, if(C<=기준값2, -M, 0)) ); //마지막은 문자가 아니라 숫자 영입니다. D = valuewhen(1, date==날짜 and date(1)!=날짜, B(n1)); E=B-D F = highestsince(1, date == 날짜 and date(1) != 날짜, E);
프로필 이미지
cs아빠
2019-12-30
438
글번호 134763
지표
답변완료

함수요청

안녕하세요? 아래글번호 65424번 재질문입니다. 스크립트 검증 요청드립니다. 구체적인 사례를 들어 요청드립니다. HSIF20을 5분봉으로 거래하고자 합니다. 우리시간 기준으로 1. 2019/12/20 금요일 18시 15분 T+1장이 시작되고 처음 시작된 가격은 28,037입니다. 2. 2019/12/21 토요일 04시경 T+1장이 마감되는 가격은 28,035입니다. 3. 28,037 > 28,035 : 양봉입니다. 4. 2019/12/23 월요일 T장 10시 15분에 시장가 매도를 하고 싶습니다. 기술적으로 어려우면 10시 20분봉이 완성되고 익봉 시가에 매도진입입니다. 5. 2019/12/23 월요일 T장 17시에 매도진입한 포지션 청산입니다. 6. 반대로 3번에서 음봉이 발생되었더라면 매수진입하여 17시 청산입니다. --------------------------------------------------------------------------------------- 안녕하세요 예스스탁입니다. 식을 수정했습니다. var : Tcond(false); if (sdate != sdate[1] and stime >= 181500) or (sdate == sdate[1] and stime >= 181500 and stime[1] < 181500) then { var1 = O; } if stime < 100000 then var2 = c; if (NextBarSdate != sdate and NextBarStime >= 101500) or (NextBarSdate == sdate and NextBarStime >= 101500 and stime < 101500) then { if var2 > var1 and var1 > 0 Then buy("b",AtMarket); if var2 < var1 and var1 > 0 Then sell("s",AtMarket); } SetStopEndofday(170000); 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수 검증 요청 > 안녕하세요?? 아래 글번호 65404번 스크립트 검증 요청드립니다. 진입만 1번 있고 청산이 발생되지 않습니다. ---------------------------------------------------------------------------------- 안녕하세요 예스스탁입니다. input : starttime(101500),endtime(020000); var : Tcond(false); if (sdate != sdate[1] and stime >= 181500) or (sdate == sdate[1] and stime >= 181500 and stime[1] < 181500) then { var1 = O; } if stime < 100000 then var2 = c; if (NextBarSdate != sdate and NextBarStime >= 101500) or (NextBarSdate == sdate and NextBarSdate >= 101500 and stime < 101500) then { if var2 > var1 and var1 > 0 Then buy("b",AtMarket); if var2 < var1 and var1 < 0 Then sell("s",AtMarket); } 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 함수 요청드립니다. 항셍지수 선물 5분봉으로 거래를 하고자 합니다. 10시 15분 T장 시초가에 진입을 하는데 T+1장이 양봉이면 매도, 음봉이면 매수 당일 17시 시간청산입니다.
프로필 이미지
흰둥이아빠
2019-12-30
309
글번호 134760
시스템
답변완료

제일 많은 호가을 이은선

현재가에서 나와있는 20개호가중에 제일 많은 거를 이은선을 구하는 수식 부탁드립니다
프로필 이미지
팔보채
2019-12-30
267
글번호 134759
지표
답변완료

문의

최근 100일이내 거래대금 순위 200위 이상, 365일이내 하루 거래대금 100억 이상 발생한 날의 저점가격에서 +- 3% 이내 종목 검색식 부탁드립니다.
프로필 이미지
파일럿
2019-12-30
255
글번호 134751
종목검색
답변완료

수식 좀 부탁드립니다.

안녕하세요~ 항상 감사드립니다. 문의 좀 드리겠습니다. 종목검색식을 1. 4개년도 당기순이익이 + 인 코스피종목 2. 4개년도 당기순이익이 + 인 코스닥종목 가능한지 모르겠습니다. 감사합니다.
프로필 이미지
예스매니아
2019-12-30
257
글번호 134741
종목검색
답변완료

수식문의드립니다.

A=(highest(high,shortPeriod)+lowest(low,shortPeriod))/2; B=(highest(high,midPeriod)+lowest(low,midPeriod))/2; M=(HighestSince(1,CrossUp(Trix(Period),0),C)+ LowestSince(1,CrossDown(Trix(Period),0),C))/2; c>=M and MACD(short,long)>=0 and DIPlus(14)>=DIMinus(14) and C>=SAR(0.015,0.15) and CrossUp(c,BBandsUp(period1,2)) ---------- shortPeriod 5 midPeriod 10 Period 8 short 10 long 15 period1 17 ======== 위의 수식을 종목검색 할수있게 부탁드립니다..^^ 행복한 명절 되세요~~
프로필 이미지
나호이다
2019-12-30
507
글번호 134738
종목검색

봉산코믹스 님에 의해서 삭제되었습니다.

프로필 이미지
봉산코믹스
2019-12-30
24
글번호 134734
지표
답변완료

지난 번에 수정해주신 것 다시 부탁드립니다.

다음 지표식을 적용했을 때의 차트에 나타나는 상태를 표현한 첨부 사진입니다. iNPUT : p21(10), per(0.3); var: hh(0), ll(0), hd(0), ld(0), hsa(0), lsa(0), hs(0), ls(0); HH = Highest(H, P21); ll = lowest(l, p21); if h==hh then hd=index; if l==ll then ld=index; if crossup(index-hd, 1) then { hsa = h; hs = h[1]; } if index-hd>=2 then hsa=hsa + ma(abs(c-o), 10)*per; if crossup(index-ld, 1) then { lsa = l; ls = l[1]; } if index-ld>=2 then lsa=lsa - ma(abs(c-o), 10)*per; var1 = iff(h>hs, 0, hsa); var2 = iff(l<ls, 0, lsa); if var1 > 0 then { plot1(var1, "psar H"); if var1[1] == 0 Then plot3(H,"상승",RED); } if var2 > 0 then { plot2(var2, "psar L"); if var2[1] == 0 Then plot4(L,"하락",blue); } 지표식을 다음 조건에 맞춰서 text식으로 부탁드립니다. 지표식을 적용하면 삼각형으로 처음 시작하는 캔들 위에 상승추세는 빨간색 원(사각형), 하락 추세일 때는 파란색 원(사각형)과 같은 표시가 하나 나타나고 있습니다. 그 빨간색 원(사각형), 파란색 원(사각형)의 위치를 캔들 바로 위가 아니고 캔들의 위치보다 조금 더 위에 또는 캔들 조금 더 아래에 표시되도록 text식으로 부탁드립니다, 또한 파란색 원(사각형)과, 빨간색 원(사각형)의 크기도 조정할 수 있도록 text식으로 부탁드립니다. 항상 감사드립니다.
프로필 이미지
해와달
2019-12-30
230
글번호 134733
지표