커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

부탁드립니다.

1. 종가상 거래량이 직전봉보다 2배이상 늘어나면 빨강색으로, 거래량이 직전봉보다 절반이하로 줄어들면 파란색으로 구현해 주세요 2. 2개이상 연속된 양봉이 끝나고 음봉이 발생하면 매도하라. 2개이상 연속된 음봉이 끝나고 양봉이 발생하면 매수하라 고맙습니다.
프로필 이미지
서태공
2023-04-24
884
글번호 168435
강조
답변완료

문의

키움지표를 예스로 부탁드립니다. 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
1112
글번호 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
1460
글번호 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
1021
글번호 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
905
글번호 168422
시스템
답변완료

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

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