커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

문의 드립니다!

안녕하세요! 아래수식은 제가 현재 옵션챠트에서 사용중인 수식인데요 *data1은 콜 data2는 풋으로 설정하여 조건 만족시 세로선 발생 이 수식을 수정하여 아래와같이 국선챠트에서 활용해보고자 합니다 1, data1(기본챠트)는 국선1분봉, data2,3(참조챠트)는 각각 콜 풋을 설정 2, data2, 3에 수식을 적용하여 조건 만족시 data1에서 가로선 발생 1) 이 가로선이 기존 data1,2의 고가 저가선(4개선)모두가 아닌 조건이 만족되는 해당선 1개만 N봉전 (예: 10봉전)에 미리 발생 *** 여기서 n봉전이라함은 이 가로선이 발생되는 시점을 말하고 가로선 자체는 n봉전을 적용하지않은 원래의 자리에서 발생 2) 즉, 기존수식에서 세로선이 나오는 같은 위치에 위 조건1)의 가로선이 n봉전에 미리 발생되었으면하는것입니다 *** 가로선의 두께와 색상도 사용자설정이 가능토록 부탁드립니다 3, 만약에 위수식이 불가하고, 현재대로 옵션챠트에서 data1, 2를 콜풋으로 설정할경우에 가능하다면 이것으로라도 부탁드리겠습니다 도움에 항상 감사드립니다!!! ---------------------------------------------------- input : 굵기1(5),굵기2(5),굵기3(5),굵기4(5); var : cond11(false,data1),cond21(false,data1); var : cond12(false,data1),cond22(false,data1); var : TL1(0,Data1),TL2(0,Data1),TL3(0,Data1),TL4(0,Data1); plot1(data1(highD(0)),"data1고가"); plot2(data1(LowD(0)),"data1저가"); plot3(data2(highD(0)),"data2고가"); plot4(data2(LowD(0)),"data2저가"); cond11 = data2(highD(0)) >= data1(highD(0)-PriceScale*1); cond21 = data1(lowD(0)) <= data2(lowD(0)+PriceScale*1); cond11 = data1(highD(0)) >= data2(highD(0)-PriceScale*1); cond21 = data2(lowD(0)) <= data1(lowD(0)+PriceScale*1); if sTime >= 90300 and Cond11 == true and cond11[1] == false Then { PlaySound("C:₩예스트레이더₩data₩Sound₩.wav"); TL1 = TL_New(sDate,stime,0,sDate,sTime,99999999); TL_SetColor(TL1,White); TL_SetSize(TL1,굵기1); } if sTime >= 90300 and Cond21 == true and cond21[1] == false Then { PlaySound("C:₩예스트레이더₩data₩Sound₩.wav"); TL2 = TL_New(sDate,stime,0,sDate,sTime,99999999); TL_SetColor(TL2,black); TL_SetSize(TL2,굵기2); } cond12 = data2(LowD(0)) <= data1(lowD(0)+PriceScale*1); cond22 = data1(highD(0)) >= data2(highD(0)-PriceScale*1); cond12 = data1(LowD(0)) <= data2(lowD(0)+PriceScale*1); cond22 = data2(highD(0)) >= data1(highD(0)-PriceScale*1); if sTime >= 90300 and Cond12 == true and cond12[1] == false Then { PlaySound("C:₩예스트레이더₩data₩Sound₩.wav"); TL3 = TL_New(sDate,stime,0,sDate,sTime,99999999); TL_SetColor(TL3,White); TL_SetSize(TL3,굵기3); } if sTime >= 90300 and Cond22 == true and cond22[1] == false Then { PlaySound("C:₩예스트레이더₩data₩Sound₩.wav"); TL4 = TL_New(sDate,stime,0,sDate,sTime,99999999); TL_SetColor(TL4,black); TL_SetSize(TL4,굵기4); }
프로필 이미지
유로파54
2023-04-24
995
글번호 168455
지표
답변완료

81809 재질문

안녕하세요. 아래와 같이 작성해주셨었는데. if entry1 == False and (CrossUp(line1, line2) or CrossDown(line1, line2)) Then 여기서 crossup과 crossdown에 상관없이 시작시간인 213000에 무조건 진입하네요. 그리고 마지막의 청산시 entry1과 entry2를 False로 만드는 과정도 잘 안먹히는지 한번 진입/청산 후 종료가 됩니다. 해결 부탁드리겠습니다. input : 익절틱수(100),손절틱수(50), 진입틱수(50); input : tr_onoff(1),최소수익(50),감소수익(50); var : line1(0),line2(0); var : entry1(False),entry2(False); input : StartTime(213000),EndTime(055000); var : Tcond(false); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; IF Endtime <= starttime Then { SetStopEndofday(0); } } line1 = (H+L)/2; line2 = ma(C,60); if entry1 == False and (CrossUp(line1, line2) or CrossDown(line1, line2)) Then { var1 = line1; entry1= True; } if entry1 == True and entry2 == False and c> var1 + 진입틱수*PriceScale and Tcond == true Then { Buy("b"); entry2 = True; } if entry1 == True and entry2 == False and c < var1 - 진입틱수*PriceScale and Tcond == true Then { Sell("s"); entry2 = True; } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); if tr_onoff == 1 Then SetStopTrailing(PriceScale*감소수익,PriceScale*최소수익,PointStop); if TotalTrades > TotalTrades[1] Then { entry1 == False; entry2 == False; }
프로필 이미지
강장군
2023-04-24
980
글번호 168454
시스템
답변완료

재 질문드립니다

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 답변 감사드립니다~~ 제가 안되는 부분은~~(매수나매도) <2청산>을 하고나면 (조건상 때문에)곧바로 1진입이 실행되는 까닥에 1진입은 2청산후에 실행시키되(조건수치로 제어할예정)~~ 이전 청산거래가없는 챠트상의 첫거래 신호도 나오도록 부탁드립니다~~ 앞전에 답문 수식을 응용했더니 백지로나와 실패해서 부탁드림 또하나 안되는것은 <2청산을> 이번 답문처럼 했음에도(1번식도하고 2번식도하고)~~~~ 1진입후 손실 -20틱 이상이 되었을때만을 지정했음에도~~ 수익이 났는 곳에서도 <2청산이> 되어~~제가 잘못한것이 있나해서 이 두가지 문제로 질문 올렸으니 (손실)이문제도 한번더 검토 부탁드립니다~~ ~~~~~~~~~~~~~~~~~~~매수~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if MarketPosition == 0 Then { ( 1-2청산후와 챠트상 첫거래) if 단기 > 단기[100] and C / 단기 * 100 > 100 Then Buy("매수1진"); if MarketPosition(1) == 1 and (IsExitName("매수1청",1) == true or IsExitName("매수2청손",1) == true) and 단기 > 중기[100] Then Buy("매수2진"); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if MarketPosition == 1 Then { if 단기 < 단기[100] Then ExitLong("매수1청"); if C <= EntryPrice-PriceScale*20 and 단기 < 단기[50] Then ExitLong("매수2청손"); } if MarketPosition == -1 Then { if 단기 > 단기[100] Then ExitShort("매도1청"); if C >= EntryPrice+PriceScale*20 and 단기 > 단기[50] Then ExitShort("매도2청손"); } ~~~~~~~~~~~~~~~~~~~매도~~~~~~~~~~~~~~~~~~~~~~~~~~~ ( 1-2청산후와 챠트상 첫거래) if 단기 < 단기[100] and C / 단기 * 100 < 100 Then Sell("매도1진"); if MarketPosition(1) == 1 and (IsExitName("매수1청",1) == true or IsExitName("매수2청손",1) == true) and 단기 < 중기[100] Then Sell("매도2진"); 번거롭게해서 죄송합니다~~~
프로필 이미지
째일
2023-04-24
787
글번호 168445
시스템
답변완료

추가진입상황에서 BarsSinceEntry 함수 쓰기

안녕하세요, BarsSinceEntry를 이용해 추가진입의 간격을 특정 구간으로 벌리려고 하는데, 작동이 되지 않아 문의드립니다. 스크립트에 문제 있는지 확인 부탁드립니다. If COND == 1 AND MarketPosition > 0 AND BarsSinceEntry(0) > n Then { If COND2 == 1 AND CountIf(Ind > Ind [1], 2) == 2 Then { Buy("B4", OnClose, Def, 1); } ... }
프로필 이미지
민현종
2023-04-24
668
글번호 168441
시스템
답변완료

부탁좀 드려요~

안녕하세요~ 키움식인데, 예스검색으로 부탁좀 해도 될까요? A 주가등락률:[일]1봉전(중) 종가대비 0봉전 종가등락률 0.3%이상 B 가격-이동평균 비교:[일]0봉전 (종가 10)이평 < 종가 C 가격-이동평균 비교:[일]0봉전 (종가 10)이평 > 시가 D 이평이격도[일]0봉전(종가 1, 종가 10) : 99.4%이상 100%이하 1회이상 E 거래량비율(n봉):[일]1봉전 거래량 대비 0봉전 거래량 비율 120%이상 F 거래량비율:[일]5봉 평균(1봉전)거래량대비 일 0봉전 120%이상 A and ((B and C) or D) and (E or F)
프로필 이미지
따라고나
2023-04-24
857
글번호 168440
검색
답변완료

수식 문의드립니다

안녕하세요 수식작성에 도움주셔서 은혜에 감사드립니다 아래 조건을 충족하는 종목검색식 작성 부탁드립니다 1 20일 이평선이 쌍바닥 ( 쌍바닥 오른쪽 저점이 높은) 2 ( 0봉전 기준) 이전 20봉이내에 전일대비 500%이상 거래량 발생 3 0봉전기준 20일이평선이 우상향 추세를 지속유지 중일 것 (20일 이평선 상승추세 각도가 최소 20도이상) - 20일선이 하향추세 진행중인 경우는 제외하기 위함 4 0봉전 기준 , 그 이전 봉 캔들이 우상향하고 있는 20일 이평선위에서 15일이상 머물러 있다가 20일선을 종가기준으로 처음 이탈 5 종가기준으로 상기 4항 이탈 캔들 발생후, 5일이내 종가기준으로 20일이평선을 다시 재 돌파하는 캔들 발생 (반드시 5일이내라는 조건충족) 요청사항 1) 상기 1~5항 전부 동시 충족하는 검색식 2) 상기 1을 제외한 2~5항을 충족하는 검색식
프로필 이미지
용팔이
2023-04-24
925
글번호 168436
종목검색
답변완료

부탁드립니다.

1. 종가상 거래량이 직전봉보다 2배이상 늘어나면 빨강색으로, 거래량이 직전봉보다 절반이하로 줄어들면 파란색으로 구현해 주세요 2. 2개이상 연속된 양봉이 끝나고 음봉이 발생하면 매도하라. 2개이상 연속된 음봉이 끝나고 양봉이 발생하면 매수하라 고맙습니다.
프로필 이미지
서태공
2023-04-24
871
글번호 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
1099
글번호 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
1420
글번호 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
1000
글번호 168423
지표