커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

지표

파라볼릭 수식을 당일시작부터 종가까지만 계산하는 수식을부탁드림니다 미리감사드림니다
프로필 이미지
kcw1954
2020-07-27
1350
글번호 141016
지표
답변완료

시스템작성

첫 번째 시스템 이 시스템은 주식매매에 사용할 시스템입니다. 데이트레이딩 시스템입니다. 예를 들어 주식을 매수할 때 전일종가가 9880원 이라 가정하고 1.오늘 장중에 주가가 10000원(변수1)이상으로 올라오며는 매수, 2.12시(변수2)까지는 아래 수식에 해당조건이 되어도 어떤 거래도 하지않음. 3.12시부터 계산해서 매수한 주식의 주가가 10500원(변수3)이상인 가격에서 60평선(변수4)이 상승하다가 하락으로 꺽이며는 전량매도. 4.만약 신호가 나오지 않았으며는 3시에 전량 청산. 두 번째 시스템 위와 비슷한 데 약간 다릅니다. 이 시스템은 주식매매에 사용할 시스템입니다. 데이트레이딩 시스템입니다. 예를 들어 주식을 매수할 때 전일종가가 9880원 이라 가정하고 1.오늘 장중에 주가가 10000원(변수1)이상으로 올라오며는 매수, 2.12시(변수2)까지는 아래 수식에 해당조건이 되어도 어떤 거래도 하지않음. 3.12시부터 계산해서 매수한 주식의 주가가 10500원(변수3)이상일 때 5평선(변수4)이 20평선(변수5)에 데드크로스가 나오며는 전량매도. 4.만약 신호가 나오지 않았으며는 3시에 전량 청산. 감사합니다!
프로필 이미지
이주엽
2020-07-27
1568
글번호 141012
시스템
답변완료

재문의

질문입니다 1>60분의 식을 10분에 적용시 라인이 나오지않아 재검토부탁드립니다 2>월주일식도 10분에 적용해보았읍니다 월식적용(주일60분10분등등) 주식적용(일60분10분등등) 일식적용(60분10분등등) 적용중입니다 분봉식 Input : ntime(60),Length1(5),Length2(20); var : S1(0),D1(0),TM(0),TF(0); Var : TLen1(0),TLen2(0),i1(0),i2(0),cnt(0); var : Hsum1(0),Hsum2(0),Havg1(0),Hma1(0); var : Lsum1(0),Lsum2(0),Lavg1(0),Lma1(0); var : HLsum1(0),HLsum2(0),HLavg1(0),HLma1(0); var : Hcum1(0),Hcum2(0),Havg2(0),Hma2(0); var : Lcum1(0),Lcum2(0),Lavg2(0),Lma2(0); var : HLcum1(0),HLcum2(0),HLavg2(0),HLma2(0); array : HH[100](0),LL[100](0); TLen1 = Ceiling((Length1 + 1) * .5); TLen2 = Ceiling((Length2 + 1) * .5); 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%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { HH[0] = h; LL[0] = l; for cnt = 1 to 99 { HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } if HH[0] > 0 and H > HH[0] then HH[0] = H; if LL[0] > 0 and L < LL[0] then LL[0] = L; if HH[TLen1*2] > 0 and LL[TLen1*2] > 0 then { Hsum2 = 0; Lsum2 = 0; HLsum2 = 0; for i1 = 0 to TLen1-1 { Hsum1 = 0; Lsum1 = 0; HLsum1 = 0; for i2 = i1+0 to TLen1-1+i1 { Hsum1 = Hsum1 + HH[i2]; Lsum1 = Lsum1 + LL[i2]; HLsum1 = HLsum1 + (HH[i2]+LL[i2])/2; } Havg1 = Hsum1/TLen1; Hsum2 = Hsum2 + Havg1; Lavg1 = Lsum1/TLen1; Lsum2 = Lsum2 + Lavg1; HLavg1 = HLsum1/TLen1; HLsum2 = HLsum2 + HLavg1; } Hma1 = Hsum2/TLen1; Lma1 = Lsum2/TLen1; HLma1 = HLsum2/TLen1; } if HH[TLen2*2] > 0 and LL[TLen2*2] > 0 then { Hcum2 = 0; Lcum2 = 0; HLcum2 = 0; for i1 = 0 to TLen2-1 { Hcum1 = 0; Lcum1 = 0; HLcum1 = 0; for i2 = i1+0 to TLen2-1+i1 { Hcum1 = Hcum1 + HH[i2]; Lcum1 = Lcum1 + LL[i2]; HLcum1 = HLcum1 + (HH[i2]+LL[i2])/2; } Havg2 = Hcum1/TLen2; Hcum2 = Hcum2 + Havg2; Lavg2 = Lcum1/TLen2; Lcum2 = Lcum2 + Lavg2; HLavg2 = HLcum1/TLen2; HLcum2 = HLcum2 + HLavg2; } Hma2 = Hcum2/TLen2; Lma2 = Lcum2/TLen2; HLma2 = HLcum2/TLen2; } Plot1(Hma1, "고가삼각가중1"); Plot2(Hma2, "고가삼각가중2"); Plot3(Lma1, "저가삼각가중1"); Plot4(Lma2, "저가삼각가중2"); Plot5(HLma1, "중간삼각가중1"); Plot6(HLma2, "중간삼각가중2"); Plot7(Hma2+abs(Hma2-Lma2), "20고가+진동폭"); Plot8(Lma2-abs(Hma2-Lma2), "20저가-진동폭"); }
프로필 이미지
에리카
2020-07-27
1431
글번호 141007
지표
답변완료

지표

항상감사합니다 60분 주간장60분의 고저7개표시 10분봉에 나타나기원합니다 9~10 10~11. . . ..... ----------------------------------- 주신수식값은 2라인만 나옵니다 안녕하세요 예스스탁입니다. 아래식 참고하시기 바랍니다. 60분 미만의 주기에서 60분봉의 고가와 저가를 그리는 지표식입니다. input : N분(60); var : S1(0),D1(0),TM(0),TF(0),cnt(0); Array : HH[50](0),LL[50](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%N분; if Bdate != Bdate[1] or (Bdate == Bdate[1] and N분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and N분 > 1 and TM >= TM[1]+N분) or (Bdate == Bdate[1] and N분 == 1 and TM > TM[1]) Then { HH[0] = H; LL[0] = L; for cnt = 1 to 49 { HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; if HH[0] > 0 And LL[0] > 0 then { Plot1(HH[0],"현재N분고가"); Plot2(LL[0],"현재N분저가"); } /* 60분기준 전봉 if HH[1] > 0 And LL[1] > 0 then { Plot3(HH[1],"직전N분고가"); Plot4(LL[1],"직전N분저가"); } */ } 즐거운 하루되세요 > 에리카 님이 쓴 글입니다. > 제목 : 지표첨삭 > 항상감사합니다 10분봉에 60분고저값나타내려하는데 추가수식 필요해요 시간이흐르니 지표값이 이전값이 사라져요 if stime < 100000 Then { var1 = DayHigh; var2 = daylow; } plot1(var1); plot2(var2); if stime < 110000 Then { var3 = DayHigh; var4 = daylow; } plot3(var3); plot4(var4); if stime < 120000 Then { var5 = DayHigh; var6 = daylow; } plot5(var5); plot6(var6); if stime < 130000 Then { var7 = DayHigh; var8 = daylow; } plot7(var7); plot8(var8); if stime < 140000 Then { var9 = DayHigh; var10 = daylow; } plot9(var9); plot10(var10); if stime < 150000 Then { var11 = DayHigh; var12 = daylow; } plot11(var11); plot12(var12); if stime < 160000 Then { var13 = DayHigh; var14 = daylow; } plot13(var13); plot14(var14);
프로필 이미지
에리카
2020-07-27
1439
글번호 140998
지표
답변완료

종목 검색 수식 좀 봐주세요.

input: PE1(30),PE2(60),BE1(1.02),BE2(1.2); VAR: SUM(0), CNT(0); VAR1=MA(V,PE2); VAR2=SAR(0.02,0.2); VAR3=ma(C,10); VAr4=MA(L,20); sum=0; for cnt = 1 to 10 begin if V[CNT]<=VAR1[CNT] then SUM=SUM+1; end; if sum>=8 and V>=VAR1*2 and highest(V,PE1)==V then find(sum); 요렇게 했는데, 종목 검색에서 데이터가 없다고 나옵니다. 검토 좀 부탁 드릴께요.
프로필 이미지
육일놀고하루쉬고
2020-07-27
1578
글번호 140997
종목검색
답변완료

수식 의뢰 부탁드립니다.

개발자님의 노고에 감사드립니다 분봉 차트에서 트레이딩을 하고 있습니다 매수조건 당일 저가 + ( 전영업일 고가 - 저가 ) 터치 시 매수하려고 합니다 감사합니다
프로필 이미지
산이보리
2020-07-27
1696
글번호 140996
시스템
답변완료

부탁드립니다.

도움에 감사 드립니다. 변환부탁 드립니다.
프로필 이미지
뮬리
2020-07-27
1747
글번호 140995
지표
답변완료

참조 데이터(data2)관련 문제 문의

안녕하세요. 항상 도와주셔서 큰 도움이 되고 있습니다. 다름이아니라 참조데이터를 수식에 사용하는데 문제가 있어서 문의드립니다. 1. 코스닥 150 레버리지 ETF (data2) 의 '전일' 시종고저 기준으로 IBS라는 지표를 도출하고, 2. IBS가 0.8 이상일 경우 코스닥 150 인버스를 매수하는 로직을 작성하였으나, 3. data2가 아닌 코스닥 150 인버스(data1) 자체의 봉만을 참조하는 결과가 발생하고 있습니다. - 그림1에서 IBS로그를 확인한 결과 0.8이상인 것을 확인할 수 있으며, - 그림2에서 IBS값은 data2가 아닌, data1의 전일 IBS 값임을 확인할 수 있습니다. (참고로 지표는 data2의 IBS값을 표기하고 있으며 정상적으로 보여주는 것을 알 수 있습니다. 아래 수식 공유드립니다.) [시스템 수식] Input : k(0.5); #IBS지표 Input : highline(0.8),lowline(0.2); var : IBS(0); IBS= data2((dayclose(1)-daylow(1))/(dayhigh(1)-daylow(1))); #1일 1회 매수 input: N(1); var: cnt(0), count(0); Count = 0; for cnt = 0 to 10 { if EntryDate(cnt) == sdate then Count = Count + 1; } #Range var: rng(0); rng = dayhigh(1)-daylow(1); #매수 조건 if IBS >= 0.8 and C > dayopen +rng*k and count < N then { MessageLog("IBS %.2f", IBS); buy("매수"); } #매도 조건 if stime >= 151600 and stime <151800 Then { ExitLong("시초매도",AtMarket,DEF,""); } [지표 수식] Input : highline(0.8),lowline(0.2); var : IBS(0); IBS=(data2(dayclose(1))-data2(daylow(1)))/(data2(dayhigh(1))-data2(daylow(1))); Plot1(IBS, "IBS"); PlotBaseLine1(highline, "기준선1"); PlotBaseLine2(lowline, "기준선2");
프로필 이미지
기사단장
2020-07-27
1805
글번호 140994
시스템
답변완료

종목검색식 부탁드립니다.

오늘 고점이후로 현재봉까지의 모든 wave의 높이(해당 wave의 고가 - 해당 wave의 저가)가 0.5*(어제 고점 - 어제 저점) 보다 크다 부탁드립니다. 그림설명 (1) 높이 > 0.5 *(A) 높이 (2) 높이 > 0.5 *(A) 높이 (3) 높이 > 0.5 *(A) 높이 이런 종목을 찾고 싶습니다. 또는 (1), (2), (3) 중 가장 작은 높이 > 0.5*(A) 높이 를 찾아라..입니다. 감사합니다.
프로필 이미지
cs아빠
2020-07-27
1827
글번호 140993
종목검색
답변완료

도움을 부탁드리겠습니다.

안녕하세요..항상 도와주심에 감사드립니다. 이번에 너무 어려운 부탁을 좀 드리게 되었습니다. 첨부한 식은 3개로 1. 사용자 함수 : 고가 저가를 잇는 추세선함수 2. 1번 함수를 불러서 그려주는 지표 3. 타주기 분봉을 1분봉에서 그려주는 지표(고가저가 표시) 이셋을 섞는게 가능할까요..꼭 되었으면 좋겠습니다.. 즉 1분봉 차트에서, 3번식 타주기 분봉차트를 가져와 지표로 표시해줄때에 1의 고가저가를 잇는 추세선 함수가 1분봉을 그리는게 아니라 불러온 타주기값의 고가저가를 사용해서 잇는 추세선을 그리게 하고 싶습니다. 며칠동안 이거저거 섞어보긴 했는데... 현재 제 능력으로는 십년걸려도 무리인걸 알았습니다 ㅠㅠ 꼭좀 부탁드립니다..너무 어렵습니다..오래걸리더라도 좀 도와주시면 안될까요 ...기다릴수 있습니다. #==========================================# # 사용자함수 : 고저라인 지그재그 파동 # 버 전 : 1.2 # 작 성 자 : 수식지왕 # 블 로 그 : http://yahoosir.blog.me #==========================================# Input:Length(NumericSimple),useCLprice(NumericSimple), oHiZZ[MaxSize1,MaxSize2](NumericArrayRef), // 열번호 1:가격,2:Index,3:sDate,4:sTime oLoZZ[MaxSize3,MaxSize4](NumericArrayRef), oTL_NewBit(NumericRef); // 1:NewLine 2:SetEndLine Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""); #==========================================# HH = IFF(useCLprice==1,C,H); LL = IFF(useCLprice==1,C,L); If Index == 0 Then { oHiZZ[1,1] = HH; oLoZZ[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then { // 기간고점과 기간저점 동시 발생 If oHiZZ[1,1] < HH and oLoZZ[1,1] > LL Then { // 기존의 파동을 벗어난 경우 If HH - oHiZZ[1,1] > oLoZZ[1,1] - LL Then // 많이 벗어난 쪽으로 처리 처리구분 = "고점처리"; Else If HH - oHiZZ[1,1] < oLoZZ[1,1] - LL Then 처리구분 = "저점처리"; Else If 최종꼭지점 == "저점" Then // 벗어난 정도가 동일하면 지그재그 순서대로 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } Else If oLoZZ[1,1] > LL Then 처리구분 = "저점처리"; Else If oHiZZ[1,1] < HH Then 처리구분 = "고점처리"; Else If 최종꼭지점 == "저점" Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; oTL_NewBit = 0; #==========================================# If 처리구분 == "고점처리" Then { 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { oHiZZ[j,jj] = oHiZZ[j-1,jj]; } } oHiZZ[1,1] = HH; oHiZZ[1,2] = Index; oHiZZ[1,3] = sDate; oHiZZ[1,4] = sTime; oTL_NewBit = 1; } Else If oHiZZ[1,1] < HH Then { // 1번 고점보다 높은 고가 출현 oHiZZ[1,1] = HH; oHiZZ[1,2] = Index; oHiZZ[1,3] = sDate; oHiZZ[1,4] = sTime; oTL_NewBit = 2; } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { oLoZZ[j,jj] = oLoZZ[j-1,jj]; } } oLoZZ[1,1] = LL; oLoZZ[1,2] = Index; oLoZZ[1,3] = sDate; oLoZZ[1,4] = sTime; oTL_NewBit = 1; } Else If oLoZZ[1,1] > LL then { oLoZZ[1,1] = LL; oLoZZ[1,2] = Index; oLoZZ[1,3] = sDate; oLoZZ[1,4] = sTime; oTL_NewBit = 2; } 최종꼭지점 = "저점"; } If 최종꼭지점 == "고점" Then HiLoLineZigZag = 1; Else If 최종꼭지점 == "저점" Then HiLoLineZigZag = -1; Else HiLoLineZigZag = 0; //////////////// ////// 2. 고저라인 지그재그파동 지표식 //////////////// Input:기간(5),종가사용여부(0); Var:TL1(0),신규구분(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# Value1 = HiLoLineZigZag(기간, 종가사용여부, 고, 저, 신규구분); If Value1 == 1 Then { // 고점 If 신규구분 == 1 Then // 신규 TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); Else If 신규구분 == 2 Then // 연장 TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); } Else If Value1 == -1 Then { // 저점 If 신규구분 == 1 Then // 신규 TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); Else If 신규구분 == 2 Then // 연장 TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); } TL_SetSize(TL1,2); ///////////// 3 #==========================================# #==========================================# # 지 표 명 : 타주기분봉차트 # 작 성 자 : 수식지왕 # 블 로 그 : http://yahoosir.blog.me #==========================================# Input:분봉(5); Var:HH(0),LL(0),TL1(0),TL2(0),TL3(0),TL4(0); Value1 = 분봉/BarInterval; Value2 = DayIndex()%Value1; If Value2 == 0 Then { &#160;&#160; HH = H; &#160;&#160; LL = L; } Else { &#160;&#160; HH = Max(HH,H); &#160;&#160; LL = Min(LL,L); } If Value2 == Value1 - 1 or time == iff(CodeCategory()<3,150000,151500) then&#160; { &#160;&#160; TL1 = TL_New(Date[Value2],sTime[Value2],LL,Date[Value2],sTime[Value2],HH); &#160;&#160; TL2 = TL_New(Date[Value2],sTime[Value2],HH,Date,sTime,HH); &#160;&#160; TL3 = TL_New(Date[Value2],sTime[Value2],LL,Date,sTime,LL); &#160;&#160; TL4 = TL_New(Date,sTime,LL,Date,sTime,HH); } // TL1만으로는 구분이 잘 안되서 박스형태로 그리기 위해 추세선 4개를 사용했습니다.
프로필 이미지
지스카드
2020-07-26
1951
글번호 140992
사용자 함수