커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
3395
글번호 230811
지표
답변완료

문의

키움지표를 예스로 부탁드립니다. if((high+low)/2<=close,volume,0) a1=(high-close)/(high-low); if((high+low)/2<=close,volume*a1,0) b1=if((high+low)/2>close,volume,0) b1=(close-low)/(high-low); if((high+low)/2>close,volume*b1,0)
프로필 이미지
레전드
2023-04-24
1139
글번호 168429
지표
답변완료

y축일치

안녕하세요 아래 2가지 지표식을 동일차트에서 구현하는데 두 지표식의 Y축 지표값이 일치하지 않아서 따로 따로 작동하는데 두 지표식의 y축값을 일치 시킬 수 있는 방법을 문의드립니다 참고로 2지표식을 한 지표식으로 만들면 너무 양이 많아서 동작이 잘 안될때가 많아서 따로 분리해서 많들었습니다 지표식1: Input: Period1(1),Period2(2); Variables: TLen1(0),TRIma1(0); TLen1 = Ceiling((Period1 + 1) * .5); TRIma1 =Ema(Ema(C, TLen1), TLen1); var5 = bids-asks;#잔량차(매수호가잔량-매도호가잔량) plot1(Var5[1],"O일자",Yellow,Def,0); if TRIma1 >= H[1] Then plot2(Var5[1]+200,"O일자",White,Def,0); Else NoPlot(2); if TRIma1 >= H[1] Then plot3(Var5[1]+400,"O일자",White,Def,0); Else NoPlot(3); if TRIma1 >= H[1] Then plot4(Var5[1]+600,"O일자",White,Def,0); Else NoPlot(4); if TRIma1 >= H[1] Then plot5(Var5[1]+800,"O일자",White,Def,0); Else NoPlot(5); if TRIma1 >= H[1] Then plot6(Var5[1]+1000,"O일자",White,Def,0); Else NoPlot(6); if TRIma1 >= H[1] Then plot7(Var5[1]+1200,"O일자",White,Def,0); Else NoPlot(7); if TRIma1 >= H[1] Then plot8(Var5[1]+1400,"O일자",White,Def,0); Else NoPlot(8); if TRIma1 >= H[1] Then plot9(Var5[1]+1600,"O일자",White,Def,0); Else NoPlot(9); if TRIma1 <= L[1] Then plot12(Var5[1]-200,"O일자",White,Def,0); Else NoPlot(12); if TRIma1 <= L[1] Then plot14(Var5[1]-400,"O일자",White,Def,0); Else NoPlot(14); if TRIma1 <= L[1] Then plot15(Var5[1]-600,"O일자",White,Def,0); Else NoPlot(15); if TRIma1 <= L[1] Then plot16(Var5[1]-800,"O일자",White,Def,0); Else NoPlot(16); if TRIma1 <= L[1] Then plot17(Var5[1]-1000,"O일자",White,Def,0); Else NoPlot(17); if TRIma1 <= L[1] Then plot18(Var5[1]-1200,"O일자",White,Def,0); Else NoPlot(18); if TRIma1 <= L[1] Then plot19(Var5[1]-1400,"O일자",White,Def,0); Else NoPlot(19); if TRIma1 <= L[1] Then plot20(Var5[1]-1600,"O일자",White,Def,0); Else NoPlot(20); 지표식2: #==========================================# # 지 표 명 : 고저라인 지그재그 파동선 # 버 전 : 1.2 # 작 성 자 : 수식지왕 # 블 로 그 : http://yahoosir.blog.me # 업데이트 : 2017-03-10 #==========================================# Input: Period1(1),length(2),종가사용여부(0),파동선두께(2),수치표시(1); Variables: TLen1(0),TRIma1(0),j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# TLen1 = Ceiling((Period1 + 1) * .5); TRIma1 =Ema(Ema(C, TLen1), TLen1); var5 = bids-asks;#잔량차(매수호가잔량-매도호가잔량) var1 = 고[1,1] - var5 ; var2 = var5 - 저[1,1] ; HH = Var5; LL = Var5; If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 2, 1); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,RED); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 수치표시 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 2, 0); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,BLUE); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } } 최종꼭지점 = "저점"; } plot1(고[1,1],"고일자",iff(H<H[1],rgb(0,255,0),White),DEf,IFf(Var5 < Var5[1] ,8,0)); plot2(저[1,1],"저일자",iff(L>L[1],Magenta,Black),DEf,IFf(Var5 > Var5[1],8,0)); if Var5 >Var5[1] Then plot3(Var5,"호가선",Red,DEF,IFf(TRIma1 >= H[1] and TRIma1 == H,1,0)); Else plot3(Var5,"호가선",Blue,DEF,IFf( TRIma1 <= L[1] and TRIma1 == L,1,0)); if Var5 >Var5[1] Then plot11(Var5,"호가상일자",iff(TRIma1 >= H[1] and TRIma1 == H,red,Rgb(255,94,0)),DEF,IFF(TRIma1 >= H[1] and TRIma1 == H,3,1)); Else NoPlot(11); If Var5 > Var5[1] and TRIma1 > H[1] and TRIma1 == H Then plot19(Var5, "속1=H일자",Yellow,DEF,1); Else NoPlot(19); if Var5 <Var5[1] Then plot34(Var5,"호가하일자",iff(TRIma1 <= L[1] and TRIma1 == L,Blue,Rgb(54,138,255)),DEF,IFF(TRIma1 <= L[1] and TRIma1 == L,3,1)); Else NoPlot(34); If Var5 < Var5[1] and TRIma1 < L[1] and TRIma1 == L Then plot35(Var5, "속1=L일자",Cyan,DEF,1); Else NoPlot(35); If Var5 <Var5[1] Then plot4(고[1,1]-((고[1,1]-Var5)*1/8), "하1/8점",iff(TRIma1 <= L[1] and TRIma1 == L,Blue,Rgb(54,138,255)),DEF,iff(TRIma1 <= L[1] and TRIma1 == L,11,4)); Else NoPlot(4); If Var5 <Var5[1] Then plot5(고[1,1]-((고[1,1]-Var5)*2/8), "하2/8점",iff(TRIma1 <= L[1] and TRIma1 == L,Blue,Rgb(54,138,255)),DEF,iff(TRIma1 <= L[1] and TRIma1 == L,10,4)); Else NoPlot(5); If Var5 <Var5[1] Then plot6(고[1,1]-((고[1,1]-Var5)*3/8), "하3/8점",iff(TRIma1 <= L[1] and TRIma1 == L,Blue,Rgb(54,138,255)),DEF,iff(TRIma1 <= L[1] and TRIma1 == L,9,4)); Else NoPlot(6); If Var5 <Var5[1] Then plot7(고[1,1]-((고[1,1]-Var5)*4/8), "하4/8점",iff(TRIma1 <= L[1] and TRIma1 == L,Blue,Rgb(54,138,255)),DEF,iff(TRIma1 <= L[1] and TRIma1 == L,8,4)); Else NoPlot(7); If Var5 <Var5[1] Then plot8(고[1,1]-((고[1,1]-Var5)*5/8), "하5/8점",iff(TRIma1 <= L[1] and TRIma1 == L,Blue,Rgb(54,138,255)),DEF,iff(TRIma1 <= L[1] and TRIma1 == L,7,4)); Else NoPlot(8); If Var5 <Var5[1] Then plot9(고[1,1]-((고[1,1]-Var5)*6/8), "하6/8점",iff(TRIma1 <= L[1] and TRIma1 == L,Blue,Rgb(54,138,255)),DEF,iff(TRIma1 <= L[1] and TRIma1 == L,6,4)); Else NoPlot(9); If Var5 <Var5[1] Then plot10(고[1,1]-((고[1,1]-Var5)*7/8), "하7/8점",iff(TRIma1 <= L[1] and TRIma1 == L,Blue,Rgb(54,138,255)),DEF,iff(TRIma1 <= L[1] and TRIma1 == L,5,4)); Else NoPlot(10); If Var5 >Var5[1] Then plot12(저[1,1]+((Var5-저[1,1])*1/8), "상1/8점",iff(TRIma1 >= H[1] and TRIma1 == H,red,Rgb(255,94,0)),DEF,iff(TRIma1 >= H[1] and TRIma1 == H,11,4)); Else NoPlot(12); If Var5 >Var5[1] Then plot13(저[1,1]+((Var5-저[1,1])*2/8), "상2/8점",iff(TRIma1 >= H[1] and TRIma1 == H,red,Rgb(255,94,0)),DEF,iff(TRIma1 >= H[1] and TRIma1 == H,10,4)); Else NoPlot(13); If Var5 >Var5[1] Then plot14(저[1,1]+((Var5-저[1,1])*3/8), "상3/8점",iff(TRIma1 >= H[1] and TRIma1 == H,red,Rgb(255,94,0)),DEF,iff(TRIma1 >= H[1] and TRIma1 == H,9,4)); Else NoPlot(14); If Var5 >Var5[1] Then plot15(저[1,1]+((Var5-저[1,1])*4/8), "상4/8점",iff(TRIma1 >= H[1] and TRIma1 == H,red,Rgb(255,94,0)),DEF,iff(TRIma1 >= H[1] and TRIma1 == H,8,4)); Else NoPlot(15); If Var5 >Var5[1] Then plot16(저[1,1]+((Var5-저[1,1])*5/8), "상5/8점",iff(TRIma1 >= H[1] and TRIma1 == H,red,Rgb(255,94,0)),DEF,iff(TRIma1 >= H[1] and TRIma1 == H,7,4)); Else NoPlot(16); If Var5 >Var5[1] Then plot17(저[1,1]+((Var5-저[1,1])*6/8), "상6/8점",iff(TRIma1 >= H[1] and TRIma1 == H,red,Rgb(255,94,0)),DEF,iff(TRIma1 >= H[1] and TRIma1 == H,6,4)); Else NoPlot(17); If Var5 >Var5[1] Then plot18(저[1,1]+((Var5-저[1,1])*7/8), "상7/8점",iff(TRIma1 >= H[1] and TRIma1 == H,red,Rgb(255,94,0)),DEF,iff(TRIma1 >= H[1] and TRIma1 == H,5,4)); Else NoPlot(18); If Var5 >Var5[1] and TRIma1 > H[1] and TRIma1 == H Then plot20(저[1,1]+((Var5-저[1,1])*7/8), "속1>=H점",Yellow,DEF,2); Else NoPlot(20); If Var5 >Var5[1] and TRIma1 > H[1] and TRIma1 == H Then plot21(저[1,1]+((Var5-저[1,1])*6/8), "속1>=H점",Yellow,DEF,3); Else NoPlot(21); If Var5 >Var5[1] and TRIma1 > H[1] and TRIma1 == H Then plot22(저[1,1]+((Var5-저[1,1])*5/8), "속1>=H점",Yellow,DEF,4); Else NoPlot(22); If Var5 >Var5[1] and TRIma1 > H[1] and TRIma1 == H Then plot23(저[1,1]+((Var5-저[1,1])*4/8), "속1>=H점",Yellow,DEF,5); Else NoPlot(23); If Var5 >Var5[1] and TRIma1 > H[1] and TRIma1 == H Then plot24(저[1,1]+((Var5-저[1,1])*3/8), "속1>=H점",Yellow,DEF,6); Else NoPlot(24); If Var5 >Var5[1] and TRIma1 > H[1] and TRIma1 == H Then plot25(저[1,1]+((Var5-저[1,1])*2/8), "속1>=H점",Yellow,DEF,7); Else NoPlot(25); If Var5 >Var5[1] and TRIma1 > H[1] and TRIma1 == H Then plot26(저[1,1]+((Var5-저[1,1])*1/8), "속1>=H점",Yellow,DEF,8); Else NoPlot(26); If Var5 <Var5[1] and TRIma1 < L[1] and TRIma1 == L Then plot27(고[1,1]-((고[1,1]-Var5)*7/8), "속1<=L점",Cyan,DEF,2); Else NoPlot(27); If Var5 <Var5[1] and TRIma1 < L[1] and TRIma1 == L Then plot28(고[1,1]-((고[1,1]-Var5)*6/8), "속1<=L점",Cyan,DEF,3); Else NoPlot(28); If Var5 <Var5[1] and TRIma1 < L[1] and TRIma1 == L Then plot29(고[1,1]-((고[1,1]-Var5)*5/8), "속1<=L점",Cyan,DEF,4); Else NoPlot(29); If Var5 <Var5[1] and TRIma1 < L[1] and TRIma1 == L Then plot30(고[1,1]-((고[1,1]-Var5)*4/8), "속1<=L점",Cyan,DEF,5); Else NoPlot(30); If Var5 <Var5[1] and TRIma1 < L[1] and TRIma1 == L Then plot31(고[1,1]-((고[1,1]-Var5)*3/8), "속1<=L점",Cyan,DEF,6); Else NoPlot(31); If Var5 <Var5[1] and TRIma1 < L[1] and TRIma1 == L Then plot32(고[1,1]-((고[1,1]-Var5)*2/8), "속1<=L점",Cyan,DEF,7); Else NoPlot(32); If Var5 <Var5[1] and TRIma1 < L[1] and TRIma1 == L Then plot33(고[1,1]-((고[1,1]-Var5)*1/8), "속1<=L점",Cyan,DEF,8); Else NoPlot(33); If Var5 > Var5[1] Then Plot37(Var5,"호가1점",iff(TRIma1 >= H[1] and TRIma1 == H,red,Rgb(255,94,0)),DEF,4); Else NoPlot(37); If Var5 < Var5[1] Then Plot36(Var5,"호가1점",iff(TRIma1 <= L[1] and TRIma1 == L,Blue,Rgb(54,138,255)),DEF,4); Else NoPlot(36); If Var5 > Var5[1] Then Plot38(Var5,"호가속상점",Yellow,DEF,IFF(TRIma1 > H[1] and TRIma1 == H,2,0)); Else NoPlot(38); If Var5 < Var5[1] Then Plot39(Var5,"호가1속하점",Cyan,DEF,IFF(TRIma1 < L[1] and TRIma1 == L,2,0)); Else NoPlot(39);
프로필 이미지
bestkim
2023-04-24
1615
글번호 168424
지표
답변완료

지표변환부탁드립니다

// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/ //@version = 4 //Copyright LuxAlgo study("Volume Profile [LUX]","Volume Profile [LuxAlgo]",true,max_bars_back=1000,max_lines_count=500) length = input(500,'Lookback',minval=1,maxval=1000,group='Basic' ,tooltip='Number of most recent bars to use for the calculation of the volume profile') row = input(200,'Row Size',minval=1,maxval=500,group='Basic' ,tooltip='Determines the number of rows used for the calculation of the volume profile') show_rpoc = input(false,'Show Rolling POC',group='Basic' ,tooltip='Determines whether to display the rolling POC of the volume profile') width = input(50,'Width (% of the box)',minval=1,maxval=100,group='Style' ,tooltip='Determines the length of the bars relative to the Lookback value') bar_width = input(2,'Bar Width',group='Style' ,tooltip='Width of each bar') flip = input(false,'Flip Histogram',group='Style' ,tooltip='Flip the histogram, when enabled, the histogram base will be located at the most recent candle') grad = input(true,'Gradient',group='Style' ,tooltip='Allows to color the volume profile bars with a gradient, with a color intensity determined by the length of each bar') solid = input(#2157f3,'Rows Solid Color',group='Style' ,tooltip='Color of each bar when "Gradient" is disabled') poc_color = input(#ff5d00,'POC Solid Color',group='Style' ,tooltip='Color of the POC when "Gradient" is disabled') //----------------------------------------------------------------------------------------- var vol_css = array.new_color(na) var a = array.new_line() var b = array.new_line() if barstate.isfirst array.push(vol_css,#1E152A), array.push(vol_css,#1E162B), array.push(vol_css,#1F182C), array.push(vol_css,#1F192E), array.push(vol_css,#201B2F), array.push(vol_css,#211C31), array.push(vol_css,#211E32), array.push(vol_css,#222034), array.push(vol_css,#222135), array.push(vol_css,#232337), array.push(vol_css,#242438), array.push(vol_css,#24263A), array.push(vol_css,#25273B), array.push(vol_css,#25293D), array.push(vol_css,#262B3E), array.push(vol_css,#272C3F), array.push(vol_css,#272E41), array.push(vol_css,#282F42), array.push(vol_css,#283144), array.push(vol_css,#293245), array.push(vol_css,#2A3447), array.push(vol_css,#2A3648), array.push(vol_css,#2B374A), array.push(vol_css,#2B394B), array.push(vol_css,#2C3A4D), array.push(vol_css,#2D3C4E), array.push(vol_css,#2D3D50), array.push(vol_css,#2E3F51), array.push(vol_css,#2E4153), array.push(vol_css,#2F4254), array.push(vol_css,#304455), array.push(vol_css,#304557), array.push(vol_css,#314758), array.push(vol_css,#32495A), array.push(vol_css,#324A5B), array.push(vol_css,#334C5D), array.push(vol_css,#334D5E), array.push(vol_css,#344F60), array.push(vol_css,#355061), array.push(vol_css,#355263), array.push(vol_css,#365464), array.push(vol_css,#365566), array.push(vol_css,#375767), array.push(vol_css,#385868), array.push(vol_css,#385A6A), array.push(vol_css,#395B6B), array.push(vol_css,#395D6D), array.push(vol_css,#3A5F6E), array.push(vol_css,#3B6070), array.push(vol_css,#3B6271), array.push(vol_css,#3C6373), array.push(vol_css,#3C6574), array.push(vol_css,#3D6676), array.push(vol_css,#3E6877), array.push(vol_css,#3E6A79), array.push(vol_css,#3F6B7A), array.push(vol_css,#3F6D7C), array.push(vol_css,#406E7D), array.push(vol_css,#41707E), array.push(vol_css,#417180), array.push(vol_css,#427381), array.push(vol_css,#427583), array.push(vol_css,#437684), array.push(vol_css,#447886), array.push(vol_css,#447987), array.push(vol_css,#457B89), array.push(vol_css,#467D8A), array.push(vol_css,#467E8C), array.push(vol_css,#47808D), array.push(vol_css,#47818F), array.push(vol_css,#488390), array.push(vol_css,#498491), array.push(vol_css,#498693), array.push(vol_css,#4A8894), array.push(vol_css,#4A8996), array.push(vol_css,#4B8B97), array.push(vol_css,#4C8C99), array.push(vol_css,#4C8E9A), array.push(vol_css,#4D8F9C), array.push(vol_css,#4D919D), array.push(vol_css,#4E939F), array.push(vol_css,#4F94A0), array.push(vol_css,#4F96A2), array.push(vol_css,#5097A3), array.push(vol_css,#5099A5), array.push(vol_css,#519AA6), array.push(vol_css,#529CA7), array.push(vol_css,#529EA9), array.push(vol_css,#539FAA), array.push(vol_css,#53A1AC), array.push(vol_css,#54A2AD), array.push(vol_css,#55A4AF), array.push(vol_css,#55A5B0), array.push(vol_css,#56A7B2), array.push(vol_css,#56A9B3), array.push(vol_css,#57AAB5), array.push(vol_css,#58ACB6), array.push(vol_css,#58ADB8), array.push(vol_css,#59AFB9), array.push(vol_css,#5AB1BB) for i = 0 to row-1 array.push(a,line.new(na,na,na,na,width=2)) array.push(b,line.new(na,na,na,na,width=2)) //----------------------------------------------------------------------------------------- n = bar_index src = close v = volume //----------------------------------------------------------------------------------------- var Alvl = 0. var Blvl = 0. var current_num_conf = 0 var current_num_cont = 0 highest = highest(length) lowest = lowest(length) //---- line l = na line poc = na levels = array.new_float(0) sumv = array.new_float(0) //---- condition = show_rpoc ? true : barstate.islast if condition for i = 0 to row array.push(levels,lowest + i/row*(highest-lowest)) for j = 0 to row-1 sum = 0. for k = 0 to length-1 sum := high[k] > array.get(levels,j) and low[k] < array.get(levels,j+1) ? sum + v[k] : sum array.push(sumv,sum) for j = 0 to row-1 mult = array.get(sumv,j)/array.max(sumv) l := array.get(a,j) get = array.get(levels,j) if flip line.set_xy1(l,n,get) line.set_xy2(l,n-round(length*width/100*mult),array.get(levels,j)) else line.set_xy1(l,n-length+1,get) line.set_xy2(l,n-length+round(length*width/100*mult),array.get(levels,j)) line.set_color(l,grad ? array.get(vol_css,round(mult*99)) : solid) line.set_width(l,bar_width) if mult == 1 poc := array.get(b,0) avg = avg(get,array.get(levels,j+1)) if flip line.set_xy1(poc,n,avg) line.set_xy2(poc,n-length+1,avg) else line.set_xy1(poc,n-length+1,avg) line.set_xy2(poc,n,avg) line.set_color(poc,grad ? #5AB1BB : poc_color) line.set_style(poc,line.style_dotted) line.set_width(poc,bar_width) if show_rpoc Alvl := array.get(levels,array.indexof(sumv,array.max(sumv))) Blvl := array.get(levels,array.indexof(sumv,array.max(sumv))+1) plot(show_rpoc ? avg(Alvl,Blvl) : na,'Rolling POC',color=#ff1100) //----------------------------------------------------------------------------------------]
프로필 이미지
나고수야
2023-04-24
1095
글번호 168423
지표
답변완료

문의

data2 차트에 적용할 수식으로 변경바랍니다. *********************************************************************** 안녕하세요 예스스탁입니다. input : ma1(7),ma2(3),ma3(4); var : sumc(0),sumi(0); if Bdate != Bdate[1] Then { sumc = 0; sumi = 0; } sumc = sumc+c; sumi = sumi+c; if sumi < ma1 Then var1 = sumc/sumi; Else Var1=ma(c,ma1); if sumi < ma2 Then var2 = sumc/sumi; else Var2=ma(c,ma2); if sumi < ma3 Then var3 = sumc/sumi; else Var3=ma(c,ma3); if CrossUp(var1,Var2) and CrossUp(var2,Var3) Then Buy(); 즐거운 하루되세요
프로필 이미지
목마와숙녀
2023-04-24
937
글번호 168422
시스템
답변완료

국내선물, 진입 후 진입시간 기점 5분이 지나야 다른 진입신호를 허용(익절은 제외)

국내선물 운용 중입니다. 진입 후 진입시간을 기점으로(x초 단위) 5분이 지나야 다른 진입신호를 허용하게 하고 싶습니다. (단 각 진입명의 정해진 익절은 제외) 아래 예제에서 첫번째 진입(macross2-sell)은 5분 이내지만 익절에 도달 했기에 허용. 두번째 진입(sell-stocro-01)은 익절에 도달 안했는데 다른 진입신호(macross2-buy)가 발생하여 절체됨. -----> 모든 진입은 익절신호는 제외하고, 5분 경과한 후에 발생한 신호만 허용하게 하는 방법을 알려주세요. 감사합니다.
프로필 이미지
우후훗
2023-04-24
1043
글번호 168421
시스템
답변완료

이런 지표 구현이 가능할까요 ?

다음과 같은 지표 구현이 가능할까요 ? L이 n기간 이동평균선 * a, 라고 했을 때 지난 n일간 L 위에 있는 면적이 n일간의 면적(n일간의 고저가 합계) 대비 일정 %가 되게 하는 a값을 구하고 싶습니다. 예를 들어 지난 20 이평선에 얼마를 곱했을 때 20일간의 주가 중 L선 위에 있는 영역이 전체 주가 영역의 5% 이하가 될 수 있는가? (그 중 0.1 단위기준으로 가장 작은 a값: 1.2는 5%가 넘고 1.3부터 5% 이하면 1.3) for, while을 이용해서 다음처럼 코드를 만들어봤는데 먹통이네요 input: len(20); var: line(0), sum(0), aboveArea(0), lastPercent(0), k(0), breakWhile(0); var1 = 10; breakWhile = 0; While breakWhile < 1 { line = ema(c, len) * ( 1 + var1 / 100); sum = 0; aboveArea = 0; lastPercent = 0; For Var2 = 0 to len-1 { sum = sum + h[Var2] - l[Var2]; aboveArea = aboveArea + max(0, h[Var2] - line[Var2]); } Var3 = aboveArea / Sum; if lastPercent >= 0.025 and Var3 <= 0.025 Then breakWhile = 1; Else lastPercent = Var3; var1 = var1 + 10; } if lastPercent - 0.025 <= 0.025 - Var3 Then k = var1 - 10; Else k = var1; Plot1(ema(c, len) * (1 + k / 100), "U", Red, 4);
프로필 이미지
newsat
2023-04-23
972
글번호 168420
지표
답변완료

수식 도움 부탁드립니다

안녕하세요~~ 도움청합니다~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 제의도는 아래와 같은데 ("매수2청")은 매수1진입가보다 손실이-20틱 이상일때만을 나름 지정했음에도 그것이 반영안되고~ ("매수2청")후 곧바로 ("매수1진") 또 곧바로 ("매수2청")이 2~3번 반복되고(2청산은 나올수없는곳!!) 모두(1진입가나 2청산가가 똑같은 동일가) 가격으로 신호 출현해서 도움 청합니다 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1번식~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if 단기 < 단기[100] and C / 단기 * 100 > 100 Then buy("매수1진"); if MarketPosition == 1 Then{ if 단기 > 단기[100] Then exitlong("매수1청"); if PositionProfit(0) <= -20 and 단기 > 단기[50] Then exitlong("매수2청손"); } ~~~~~~~~~~~~~~~~~~~~~~~~~아래(2번)식으로 해봐도 동일~~~~~~~~~~~~~~~~~~~~ if MarketPosition == 1 and IsEntryName("매수1진",0) == true and C <= EntryPrice(1)-PriceScale*20 and 단기 > 단기[50] Then exitlong("매수2청손"); ///////////////////////////////////////////////////////////// if MarketPosition == -1 and IsEntryName("매도1진",0) == true and C >= EntryPrice(1)+PriceScale*10 and 단기 < 단기[50] Then ExitShort("매도2청손"); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ////////////////////새로 정석수식 부탁드림니다///////////////// 주문설정에서 비용이 제로이므로 (2청산수식을 가능한//1번씩이/편하고 수고쓰럽지만 2청산만은(매수매도) 똑같은 조건으로 1번식과 2번식 해주시면 많은도움 되겠읍니다 (매수1진)~~단기 > 단기[100] and C / 단기 * 100 > 100 매수1청 매수2청 청산후에!! ~~~~~~~~~( 필요하니 청산이 없는 첫신호도 나오게부탁드림)~~~ (매수2진)~~단기 > 중기[100] 매수1청 매수2청 청산후에 (매수1청)~~ 단기 < 단기[100] ("매수2청손")~~직전 매수1-2진입가보다 20틱이상 손실이났을때~~단기 < 단기[50] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (매도1진)~~단기 < 단기[100] and C / 단기 * 100 < 100 매도1청 매도2청 청산후에!! ~~~~~( 필요하니 청산이 없는 첫신호도 나오게부탁드림)~~~ (매도2진)~~단기 < 중기[100] 매도1청 매도2청 청산후에 (매도1청)~~단기 > 단기[100] ("매도2청손")~~직전 매도1~2진입가보다 20틱이상 손실이났을때~~단기 > 단기[50] 감사드립니다~~
프로필 이미지
째일
2023-04-23
1129
글번호 168419
시스템
답변완료

타주기분 지표식 부탁드립니다.

수고하십니다. 아래지표식을 타주기분(N배) 로 변환부탁드립니다. //=============== var : xClose(0),xOpen(0),xHigh(0),xLow(0); if index == 0 then { xOpen = open; xClose = (O+H+L+C)/4; xHigh = MaxList( high, xOpen, xClose); xLow = MinList( low, xOpen,xClose); } else { xClose = (O+H+L+C)/4; xOpen = (xOpen [1] + xClose [1])/2 ; xHigh = MaxList(High, xOpen, xClose) ; xLow = MinList(Low, xOpen, xClose) ; } ## input : Length(14),Period(20); var : TR(0),DMPlus(0),DMMinus(0); var : STR(0),SDMPlus(0),SDMMinus(0); var : DIP(0),DIM(0),DX(0),ADXv(0); var : DIPMA(0), DIMMA(0); TR = max(max(xhigh-xlow, abs(xhigh-xclose[1])), abs(xlow-xclose[1])); DMPlus = iff(xhigh-xhigh[1] > xlow[1]-xlow , max(xhigh-xhigh[1], 0) , 0); DMMinus = iff(xlow[1]-xlow > xhigh-xhigh[1] , max(xlow[1]-xlow, 0) , 0); STR = STR - (STR/Length) + TR; SDMPlus = SDMPlus - (SDMPlus/Length) + DMPlus; SDMMinus = SDMMinus - (SDMMinus/Length) + DMMinus; DIP = SDMPlus / STR * 100; DIM = SDMMinus / STR * 100; DX = abs(DIP - DIM) / (DIP + DIM)*100; ADXv = ma(DX, Length); DIPMA = WMa(DIP,Period); DIMMA = WMa(DIM,Period); ### plot1(ADXv,"ADX",White); plot2(DIP,"+DI",magenta); plot3(DIM,"-DI",Lime); plot4(DIPMA,"DIPMA",Cyan); plot5(DIMMA,"DIMMA",Red); PlotBaseLine1(30,"30",Gold); PlotBaseLine2(20,"20",Gold); PlotBaseLine3(10,"10",Gold); //=========== 감사합니다
프로필 이미지
당일선물
2023-04-23
991
글번호 168418
지표
답변완료

해외선물 (나스닥)지표수식 부탁드립니다.

안녕하세요.키움을예스로변경수식부탁드립니다. 수식1:LL=Lowest(L,기간); HH=Highest(H,기간); NH=Valuewhen(1,H>HH(1),H); BOX1=Highest(H,기간-2)<Highest(H,기간-1); TOP=Valuewhen(1,BarsSince(H>HH(1))==(기간-2) AND,BOX1,NH); BTM=Valuewhen(1,BarsSince(H>HH(1))==(기간-2) AND,BOX1,LL); shift(BTM,이동) 조건설정:기간(5) 이동(-16) 선색상기본색으로 하시고 변경 가능토록 부탁드립니다. 기간값,이동값,선굵기도 변경가능하도록 부탁드립니다.
프로필 이미지
렉스턴
2023-04-23
1270
글번호 168417
지표