커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6968
글번호 230811
답변완료
추가진입상황에서 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
782
글번호 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
957
글번호 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
1039
글번호 168436
답변완료
부탁드립니다.
1. 종가상 거래량이 직전봉보다 2배이상 늘어나면 빨강색으로, 거래량이 직전봉보다 절반이하로 줄어들면 파란색으로 구현해 주세요
2. 2개이상 연속된 양봉이 끝나고 음봉이 발생하면 매도하라. 2개이상 연속된 음봉이 끝나고 양봉이 발생하면 매수하라
고맙습니다.
2023-04-24
970
글번호 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
1191
글번호 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);
2023-04-24
1948
글번호 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
1322
글번호 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
998
글번호 168422
답변완료
국내선물, 진입 후 진입시간 기점 5분이 지나야 다른 진입신호를 허용(익절은 제외)
국내선물
운용 중입니다.
진입 후 진입시간을 기점으로(x초 단위) 5분이 지나야
다른 진입신호를 허용하게 하고 싶습니다.
(단 각 진입명의 정해진 익절은 제외)
아래 예제에서 첫번째 진입(macross2-sell)은 5분 이내지만 익절에 도달
했기에 허용.
두번째 진입(sell-stocro-01)은 익절에 도달 안했는데
다른 진입신호(macross2-buy)가 발생하여 절체됨.
-----> 모든 진입은 익절신호는 제외하고,
5분 경과한 후에 발생한 신호만 허용하게 하는 방법을 알려주세요. 감사합니다.
2023-04-24
1111
글번호 168421