커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

옵션 날짜 수식

아래처럼 옵션기간을 3가지로 구분하여 잘 사용하고 있습니다. 추가로 알고 싶은 수식이 있어 요청드립니다. 1)옵션만기일 기준으로 - N일의 하루치 결과를 예측하는 수식 N일을 입력하면 N일 하루치 결과를 시뮬레이션 input:옵션만기일 기준(3); 0 입력하면 옵션만기일 하루치 결과 1 입력하면 옵션만기 1일 전 하루치 결과 2 입력하면 옵션만기 2일 전 하루치 결과 3 입력하면 옵션만기 3일 전 하루치 결과 2)옵션만기일 하루전 기준으로 - N일까지의 결과를 예측하는 수식 N일을 입력하면 N일부터 옵션만기일 하루전까지 시뮬레이션 input:옵션만기일 하루전 기준(3); 1 입력하면 옵션만기 1일전 결과 2 입력하면 옵션만기 1일전,2일전 결과 3 입력하면 옵션만기 1일전,2일전,3일전 결과 항상 고맙습니다. ****************************************************************************** 2019년 11월 15일부터 11월 30일까지 (만기일 포함되지 않은 달 거래) 2019년 12월 1일부터 12월 11일까지 (만기일 포함된 달 거래) 2019년 12월 12일 1일 거래 (만기일 1일 거래) (만기일 포함되지 않은 달 거래) var : nday(0),week(0),month(0),Xdate(0),XMonth(0); month = int(date/100)-int(date/10000)*100; nday = date - int(date/100)*100; week = DayOfWeek(date); if (nday >= 8 and nday <= 14 and week == 4) or (sdate == 20141008) or (sdate == 20190911) then { Xdate = sdate; XMonth = Month; } if sdate > Xdate and month == XMonth Then { } (만기일 포함된 달 거래) var : nday(0),week(0),Xdate(0),entree(false); nday = date - int(date/100)*100; week = DayOfWeek(date); if bdate > bdate[1]+30 Then entree = true; if (nday >= 8 and nday <= 14 and week == 4) or (sdate == 20141008) or (sdate == 20190911) then { entree = false; } if entree == true Then { } (만기일 하루 거래) var : nday(0),week(0),Xdate(0); nday = date - int(date/100)*100; week = DayOfWeek(date); if (nday >= 8 and nday <= 14 and week == 4) or (sdate == 20141008) or (sdate == 20190911) then Xdate = sdate; if sdate == Xdate then { }
프로필 이미지
좌오비우오비
2019-11-19
133
글번호 133739
시스템
답변완료

수식 부탁드립니다.

1. 지난 5 일동안의 일봉의 상승/하락 퍼센트를(전일 종가대비) 모두 모아놓고 ex) -3 ,+5, -1, +2, +3 .....(퍼센트) 2. 오늘의 상승/하락 값과 비교하여 더 작은 날의 수 예를 들어 오늘 +7퍼센트 상승 했으면 지난 5일의 수가 모두다 +7보다 작기 때문에 값은 5가 됨 이렇게 날의 수를 소환하는 수식만 표현해주시면 감사하겠습니다. 시스템이나 지표로 안해주셔도 됩니다.
프로필 이미지
시고르시고르
2019-11-19
133
글번호 133738
지표
답변완료

수식 수정 좀 요청 드립니다.

* 항상 많은 도움에 고맙습니다. * 아래 수식에서 시간 부분을 좀 빼주십시요. var40 = highest(H,1500); var41 = Lowest(l,1500); 이것을 추가 하니까 수식이 전혀 틀리게 바꿔짐니다.??? * 오일 분봉에 쓸수 있도록 수정 좀 부탁 드립니다. 단지 buy, sell에 사용 한것도 아닌데. 단지 항목만 추가 했는데 아래에 있는 매매 실적이 확 틀려 짐니다. → var40 = highest(H,100); 이케 봉수를 100개로 하면 매매 실적 변화가 없는데 var40 = highest(H,1500); 이렇게 하면 매매실적이 확 틀려 짐니다. 날짜 기준 항목이 필요하면 highest(H,1500) 으로 변경 수정좀 요청 드립니다. input : maP1(5),maP2(20),RSIP(14),RSIsig(9),MACDP1(12),MACDP2(26),MACDP3(9),CCIP(36),CCIsig(9); var : TF2(0),TF3(0),cnt(0),TT(0); var : sum21(0),sum22(0),sum41(0),sum42(0); var : mav11(0),mav12(0),mav21(0),mav22(0),mav41(0),mav42(0); Var : MACDEP21(0),MACDEP22(0),MACDEP23(0); var : JISU21(0),JISU22(0),JISU23(0); var : PreJISU21(0),PreJISU22(0),PreMACDSIG2(0); var : MACDIDX2(0),MACDVal2(0),MACDSig2(0),MACDOsc2(0); Var : MACDEP41(0),MACDEP42(0),MACDEP43(0); var : JISU41(0),JISU42(0),JISU43(0); var : PreJISU41(0),PreJISU42(0),PreMACDSIG4(0); var : MACDIDX4(0),MACDVal4(0),MACDSig4(0),MACDOsc4(0); var : MACDval1(0),MACDSig1(0),MACDOsc1(0); var : CCIsum2(0),CCIAvg2(0),CCIMD2(0),CCIv2(0),CCIEP2(0),CCIdx2(0),CCIs2(0),PreCCIs2(0),CCIV1(0); var : CCIsum4(0),CCIAvg4(0),CCIMD4(0),CCIv4(0),CCIEP4(0),CCIdx4(0),CCIs4(0),PreCCIs4(0),CCIS1(0); Array : O2[100](0),H2[100](0),L2[100](0),C2[100](0); Array : O4[100](0),H4[100](0),L4[100](0),C4[100](0); var : RSIV1(0),RSIS1(0),RSIV2(0),RSIS2(0), RSIV4(0),RSIS4(0);; var : RSIdx2(0),PreUpAvg2(0),PreDownAvg2(0),UpSum2(0),DownSum2(0); var : UpAmt2(0),DownAmt2(0),UpAvg2(0),DownAvg2(0),RSIEP2(0),PreRSIS2(0); var : RSIdx4(0),PreUpAvg4(0),PreDownAvg4(0),UpSum4(0),DownSum4(0); var : UpAmt4(0),DownAmt4(0),UpAvg4(0),DownAvg4(0),RSIEP4(0),PreRSIS4(0); TF2 = Int(dayindex%2); TF3 = int(dayindex%2); if dayindex() == 0 or (TF2 < TF2[1]) or stime == 151500 Then{ O2[0] = O; H2[0] = H; L2[0] = L; for cnt = 1 to 99{ O2[cnt] = O2[cnt-1][1]; H2[cnt] = H2[cnt-1][1]; L2[cnt] = L2[cnt-1][1]; C2[cnt] = C2[cnt-1][1]; } CCIdx2 = CCIdx2+1; PreCCIS2 = CCIS2[1]; } C2[0] = C; if H > H2[0] Then H2[0] = H; if L < L2[0] Then L2[0] = L; if dayindex() == 0 or (TF3 < TF3[1]) or stime == 151500 Then{ O4[0] = O; H4[0] = H; L4[0] = L; for cnt = 1 to 99{ O4[cnt] = O4[cnt-1][1]; H4[cnt] = H4[cnt-1][1]; L4[cnt] = L4[cnt-1][1]; C4[cnt] = C4[cnt-1][1]; } CCIdx4 = CCIdx4+1; PreCCIS4 = CCIS4[1]; } C4[0] = C; if H > H4[0] Then H4[0] = H; if L < L4[0] Then L4[0] = L; sum21 = 0; sum22 = 0; for cnt = 0 to maP2{ if cnt < maP1 Then sum21 = sum21+C2[cnt]; if cnt < maP2 Then sum22 = sum22+C2[cnt]; } mav21 = sum21/maP1; mav22 = sum22/maP2; sum41 = 0; sum42 = 0; for cnt = 0 to maP2{ if cnt < maP1 Then sum41 = sum41+C4[cnt]; if cnt < maP2 Then sum42 = sum42+C4[cnt]; } mav41 = sum41/maP1; mav42 = sum42/maP2; mav11 = ma(c,maP1); mav12 = ma(c,maP2); #MACD MACDEP21 = 2/(MACDP1+1); MACDEP22 = 2/(MACDP2+1); MACDEP23 = 2/(MACDP3+1); if dayindex() == 0 or (TF2 < TF2[1]) Then{ MACDIDX2 = MACDIDX2 + 1; PreJISU21 = JISU21[1]; PreJISU22 = JISU22[1]; PreMACDSIG2 = MACDSIG2[1]; } if MACDIDX2 <= 1 then { JISU21 = C; JISU22 = C; MACDVal2 = JiSu21-Jisu22; } else{ JISU21 = C * MACDEP21 + PreJISU21 * (1-MACDEP21); JISU22 = C * MACDEP22 + PreJISU22 * (1-MACDEP22); MACDVal2 = JiSu21-Jisu22; } if MACDIDX2 <= 2 then MACDSIG2 = MACDVal2; else MACDSIG2 = MACDVal2 * MACDEP23 + PreMACDSIG2 * (1-MACDEP23); MACDOsc2 = MACDVal2-MACDsig2; MACDEP41 = 2/(MACDP1+1); MACDEP42 = 2/(MACDP2+1); MACDEP43 = 2/(MACDP3+1); if dayindex() == 0 or (TF3 < TF3[1]) then{ MACDIDX4 = MACDIDX4 + 1; PreJISU41 = JISU41[1]; PreJISU42 = JISU42[1]; PreMACDSIG4 = MACDSIG4[1]; } if MACDIDX4 <= 1 then { JISU41 = C; JISU42 = C; MACDVal4 = JiSu41-Jisu42; } else{ JISU41 = C * MACDEP41 + PreJISU41 * (1-MACDEP41); JISU42 = C * MACDEP42 + PreJISU42 * (1-MACDEP42); MACDVal4 = JiSu41-Jisu42; } if MACDIDX4 <= 2 then MACDSIG4 = MACDVal4; else MACDSIG4 = MACDVal4 * MACDEP43 + PreMACDSIG4 * (1-MACDEP43); MACDOsc4 = MACDVal4-MACDsig4; MACDVal1 = MACD(MACDP1,MACDP2); MACDsig1 = ema(MACDVal1,MACDP3); MACDOsc1 = MACDVal1-MACDSig1; #CCI if dayindex() == 0 or (TF2 < TF2[1]) or stime == 151500 Then{ CCIdx2 = CCIdx2+1; PreCCIS2 = CCIS2[1]; } if dayindex() == 0 or (TF3 < TF3[1]) Then{ CCIdx4 = CCIdx4+1; PreCCIS4 = CCIS4[1]; } CCIsum2 = 0; If C2[CCIP] > 0 Then Begin for cnt = 0 to CCIP-1{ CCIsum2 = CCIsum2+(C2[cnt]+H2[cnt]+L2[cnt]); } CCIAvg2 = CCIsum2/CCIP; CCIMD2 = 0; For cnt = 0 To CCIP - 1 Begin CCIMD2 = CCIMD2 + Abs(H2[cnt] + L2[cnt] + C2[cnt] - CCIAvg2); End; CCIMD2 = CCIMD2 / CCIP; If CCIMD2 == 0 Then CCIv2 = 0; Else CCIv2 = (H2[0] + L2[0] + C2[0] - CCIAvg2) / (0.015 * CCIMD2); End Else CCIv2 = 0; CCIEP2 = 2/(CCIsig+1); if CCIdx2 <= CCIP then CCIS2 = CCIv2; else CCIS2 = CCIv2 * CCIEP2 + PreCCIS2 * (1-CCIEP2); CCIsum4 = 0; If C4[CCIP] > 0 Then Begin for cnt = 0 to CCIP-1{ CCIsum4 = CCIsum4+(C4[cnt]+H4[cnt]+L4[cnt]); } CCIAvg4 = CCIsum4/CCIP; CCIMD4 = 0; For cnt = 0 To CCIP - 1 Begin CCIMD4 = CCIMD4 + Abs(H4[cnt] + L4[cnt] + C4[cnt] - CCIAvg4); End; CCIMD4 = CCIMD4 / CCIP; If CCIMD4 == 0 Then CCIv4 = 0; Else CCIv4 = (H4[0] + L4[0] + C4[0] - CCIAvg4) / (0.015 * CCIMD4); End Else CCIv4 = 0; CCIEP4 = 2/(CCIsig+1); if CCIdx4 <= CCIP then CCIS4 = CCIv4; else CCIS4 = CCIv4 * CCIEP4 + PreCCIS4 * (1-CCIEP4); CCIV1 = CCI(CCIP); CCIS1 = ema(CCIV1,CCIsig); #RSI if dayindex() == 0 or (TF2 < TF2[1]) Then{ if C2[RSIP] > 0 Then RSIdx2 = RSIdx2+1; PreUpAvg2 = UpAvg2[1]; PreDownAvg2 = DownAvg2[1]; PreRSIS2 = RSIS2[1]; } If RSIdx2 == 1 Then Begin UpSum2 = 0; DownSum2 = 0; For cnt = 0 To RSIP - 1 Begin UpAmt2 = C2[cnt] - C2[cnt+1]; If UpAmt2 >= 0 Then DownAmt2 = 0; Else Begin DownAmt2 = -UpAmt2; UpAmt2 = 0; End; UpSum2 = UpSum2 + UpAmt2; DownSum2 = DownSum2 + DownAmt2; End; UpAvg2 = UpSum2 / RSIP; DownAvg2 = DownSum2 / RSIP; End If RSIdx2 > 1 Then { UpAmt2 = C2[0] - C2[1]; If UpAmt2 >= 0 Then DownAmt2 = 0; Else Begin DownAmt2 = -UpAmt2; UpAmt2 = 0; End; UpAvg2 = (PReUpAvg2 * (RSIP - 1) + UpAmt2) / RSIP; DownAvg2 = (PreDownAvg2 * (RSIP - 1) + DownAmt2) / RSIP; } If UpAvg2 + DownAvg2 <> 0 Then RSIv2 = 100 * UpAvg2 / (UpAvg2 + DownAvg2); Else RSIv2 = 0; RSIEP2 = 2/(RSIsig+1); if RSIdx2 <= 1 then RSIS2 = RSIV2; else RSIS2 = RSIV2 * RSIEP2 + PreRSIS2 * (1-RSIEP2); if dayindex() == 0 or (TF3 < TF3[1]) Then{ if C4[RSIP] > 0 Then RSIdx4 = RSIdx4+1; PreUpAvg4 = UpAvg4[1]; PreDownAvg4 = DownAvg4[1]; PreRSIS4 = RSIS4[1]; } C4[0] = C; If RSIdx4 == 1 Then Begin UpSum4 = 0; DownSum4 = 0; For cnt = 0 To RSIP - 1 Begin UpAmt4 = C4[cnt] - C4[cnt+1]; If UpAmt4 >= 0 Then DownAmt4 = 0; Else Begin DownAmt4 = -UpAmt4; UpAmt4 = 0; End; UpSum4 = UpSum4 + UpAmt4; DownSum4 = DownSum4 + DownAmt4; End; UpAvg4 = UpSum4 / RSIP; DownAvg4 = DownSum4 / RSIP; End If RSIdx4 > 1 Then { UpAmt4 = C4[0] - C4[1]; If UpAmt4 >= 0 Then DownAmt4 = 0; Else Begin DownAmt4 = -UpAmt4; UpAmt4 = 0; End; UpAvg4 = (PReUpAvg4 * (RSIP - 1) + UpAmt4) / RSIP; DownAvg4 = (PreDownAvg4 * (RSIP - 1) + DownAmt4) / RSIP; } If UpAvg4 + DownAvg4 <> 0 Then RSIv4 = 100 * UpAvg4 / (UpAvg4 + DownAvg4); Else RSIv4 = 0; RSIEP4 = 2/(RSIsig+1); if RSIdx4 <= 1 then RSIS4 = RSIV4; else RSIS4 = RSIV4 * RSIEP4 + PreRSIS4 * (1-RSIEP4); RSIV1 = RSI(RSIP); RSIS1 = ema(RSIV1,RSISig); if mav11 > mav12 and RSIV1 > 50 and RSIV1 > RSIS1 and MACDOSC1 > 0 and CCIV1 > CCIS1 And mav21 > mav22 and RSIV2 > 50 and RSIV2 > RSIS2 and MACDOSC2 > 0 and CCIV2 > CCIS2 Then buy(); if mav11 < mav12 and RSIV1 < 50 and RSIV1 < RSIS1 and MACDOSC1 < 0 and CCIV1 < CCIV2 and mav21 < mav22 and RSIV2 < 50 and RSIV2 < RSIS2 and MACDOSC2 < 0 and CCIV2 < CCIS2 Then sell(); ** 고맙습니다.
프로필 이미지
요타
2019-11-19
188
글번호 133737
시스템

이형지 님에 의해서 삭제되었습니다.

프로필 이미지
이형지
2019-11-18
2
글번호 133736
시스템
답변완료

수식 점검 부탁해요....

검토 요청건 분명히 진입 시점이 제 의도와 완전 달르게 진입되고있습니다. 체크 요청사항 : 1 현재 제가 쓰고 있는 수식에 대한 설명 2. 맨 밑에 그림처럼 제가 의도할려는 것에 대한 수식 작성 부탁드릴께요~~
프로필 이미지
이형지
2019-11-19
150
글번호 133735
시스템
답변완료

수식 변경좀 부탁 드립니다

bw= (bbandsup(기간,d1)-bbandsdown(기간,d1))/ bbandsc(기간,d1); bb= bbandsup(기간,d1); bwl= bw>bw(1) && bw(1)> bw(2); ((bwl && bw(1)<k) or (bwl(1)&& bw(2)<k) or (bwl(2) && bw(3)<k))and crossup(종가,bb)
프로필 이미지
crazaq
2019-11-18
135
글번호 133734
종목검색

crazaq 님에 의해서 삭제되었습니다.

프로필 이미지
crazaq
2019-11-18
0
글번호 133733
종목검색
답변완료

스프레드 챠트 문의드립니다

안녕하세요! 스프레드 챠트는 어떻게 볼 수 있는지 알고 싶습니다. HTS에서 찾아보았는데 찾아보기가 어렵네요! 어떻게 볼 수 있을까요?
프로필 이미지
qha71
2019-11-19
161
글번호 133732
지표
답변완료

이동평균선 문의 드립니다.

궁금한게 두가지 있습니다^^ 1번 키움 영운문 쓰고있는데 480일선을 추가 하고 싶습니다. 어떻게 하는지좀 알려주시면 감사하겠습니다.^^ 2번 macd보조지표 사용중인데 매수나 매도의 화살표가 뜰때 알림이 오게 할수있는 방법이 있을까요? 감사합니다^^
프로필 이미지
둘리둘리숑
2019-11-18
146
글번호 133731
지표
답변완료

수식 문의 드립니다.

두가지 질문 드립니다. 스톡케스특 설정을 12,9,9 로 설정을 하고 스톡케스틱 그래프상 0 -> 25 이하에 있으면 매수 . 100 -> 85 찍을때 매도 하는 지표 부탁 드리며 이것을 시스템에도 적용될수 있게, 두가지 수식 부탁드립니다. 1. 지표 수식 2. 시스템 수식 수고하세요.
프로필 이미지
백두에서한라
2019-11-18
128
글번호 133728
지표