커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

키움검색식 변경부탁드립니다

안녕하세요 키움조건검색하고 맞지않아서 문의드립니다 첨부한그림의 조건입니다 조건자체가 맞지않는것인지 도저히 구현이 안됩니다 도움주시면 감사드리겠습니다
프로필 이미지
나고수야
2021-09-06
840
글번호 152063
종목검색
답변완료

수식수정좀부탁드립니다

아래지표중 일괄매도 변수조건조정좀할수잇게해주세요 지금진입조건이 엔벨로프20-3하단진입이고 일괄매도가20-3중앙선돌파시일괄매도로되잇잔아요 이일괄매도조건을예를들어 30-5상향선상향돌파시 일괄매도 이런식으로 조건수정좀하게해주세요 Input : Period(20), Percent(3); input : M1(10000),M2(10000),M3(20000),M4(40000),M5(80000),M6(160000),M7(320000),M8(640000),M9(1280000),M10(2560000); var : center(0),UPline(0),DNline(0); center = ma(C, Period); UPline = EnvelopeUp(Period, Percent); Dnline = EnvelopeDown(Period, Percent); if MarketPosition == 0 and CrossDown(C,DnLine) Then Buy("b1",OnClose,DEF,M1/C); if MarketPosition == 1 Then { if CurrentEntries == 1 Then Buy("b2",AtLimit,AvgEntryPrice*0.98,M2/min(nextbaropen,AvgEntryPrice*0.98)); if CurrentEntries == 2 Then Buy("b3",AtLimit,AvgEntryPrice*0.95,M3/min(nextbaropen,AvgEntryPrice*0.95)); if CurrentEntries == 3 Then Buy("b4",AtLimit,AvgEntryPrice*0.90,M4/min(nextbaropen,AvgEntryPrice*0.90)); if CurrentEntries == 4 Then Buy("b5",AtLimit,AvgEntryPrice*0.85,M5/min(nextbaropen,AvgEntryPrice*0.85)); if CurrentEntries == 5 Then Buy("b6",AtLimit,AvgEntryPrice*0.80,M6/min(nextbaropen,AvgEntryPrice*0.80)); if CurrentEntries == 6 Then Buy("b7",AtLimit,AvgEntryPrice*0.75,M7/min(nextbaropen,AvgEntryPrice*0.75)); if CurrentEntries == 7 Then Buy("b8",AtLimit,AvgEntryPrice*0.70,M8/min(nextbaropen,AvgEntryPrice*0.70)); if CurrentEntries == 8 Then Buy("b9",AtLimit,AvgEntryPrice*0.65,M9/min(nextbaropen,AvgEntryPrice*0.65)); if CurrentEntries == 9 Then Buy("b10",AtLimit,AvgEntryPrice*0.60,M10/min(nextbaropen,AvgEntryPrice*0.60)); if CrossUp(c,center) Then <<<<<<<요기이매도조건변수기간수정좀하게해주세요 ExitLong(); if CurrentContracts > CurrentContracts[1] Then { if LatestEntryName(0) == "b4" Then Var4 = LatestEntryPrice(0); if LatestEntryName(0) == "b5" Then Var5 = LatestEntryPrice(0); if LatestEntryName(0) == "b6" Then Var6 = LatestEntryPrice(0); if LatestEntryName(0) == "b7" Then Var7 = LatestEntryPrice(0); if LatestEntryName(0) == "b8" Then Var8 = LatestEntryPrice(0); if LatestEntryName(0) == "b9" Then Var9 = LatestEntryPrice(0); if LatestEntryName(0) == "b10" Then Var10 = LatestEntryPrice(0); } if CurrentContracts < CurrentContracts[1] Then { if LatestExitName(0) == "bx4" Then Var4 = 0; if LatestExitName(0) == "bx5" Then Var5 = 0; if LatestExitName(0) == "bx6" Then Var6 = 0; if LatestExitName(0) == "bx7" Then Var7 = 0; if LatestExitName(0) == "bx8" Then Var8 = 0; if LatestExitName(0) == "bx9" Then Var9 = 0; if LatestExitName(0) == "bx10" Then Var10 = 0; } if var4 > 0 Then ExitLong("bx4",AtLimit,Var4*1.05,"b4"); if var5 > 0 Then ExitLong("bx5",AtLimit,Var5*1.05,"b5"); if var6 > 0 Then ExitLong("bx6",AtLimit,Var6*1.05,"b6"); if var7 > 0 Then ExitLong("bx7",AtLimit,Var7*1.05,"b7"); if var8 > 0 Then ExitLong("bx8",AtLimit,Var8*1.05,"b8"); if var9 > 0 Then ExitLong("bx9",AtLimit,Var9*1.05,"b9"); if var10 > 0 Then ExitLong("bx10",AtLimit,Var10*1.05,"b10"); } Else { var4 = 0; var5 = 0; var6 = 0; var7 = 0; var8 = 0; var9 = 0; var10 = 0; }
프로필 이미지
백억이
2021-09-06
781
글번호 152062
시스템
답변완료

수식변경

늘 감사합니다. 아래수식을 변경해 주세요 1. data2에 사용할수 있도록 해주세요 2. 해외선물용 입니다 3. 시작시간을 임의로 지정할수 있도록해 주세요 예를들면 093000 처럼 변경 가능하게 감사합니다 input : P1(10),per1(50); input : P2(20),per2(50); input : P3(30),per3(50); input : P4(40),per4(50); input : P5(50),per5(50); input : P6(100),per6(50); var : cnt(0),TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0); var : H1(0),L1(0),H2(0),L2(0),H3(0),L3(0),H4(0),L4(0),H5(0),L5(0),H6(0),L6(0); H1 = DayHigh; H2 = DayHigh; H3 = DayHigh; H4 = DayHigh; H5 = DayHigh; H6 = DayHigh; L1 = DayLow; L2 = DayLow; L3 = DayLow; L4 = DayLow; L5 = DayLow; L6 = DayLow; } for cnt = 0 to max(p1,p2,p3,p4,p5,p6)-1 { if cnt < P1 and DayHigh(cnt) > H1 Then H1 = DayHigh(cnt); if cnt < P1 and DayLow(cnt) < L1 Then L1 = DayLow(cnt); if cnt < P2 and DayHigh(cnt) > H2 Then H2 = DayHigh(cnt); if cnt < P2 and DayLow(cnt) < L2 Then L2 = DayLow(cnt); if cnt < P3 and DayHigh(cnt) > H3 Then H3 = DayHigh(cnt); if cnt < P3 and DayLow(cnt) < L3 Then L3 = DayLow(cnt); if cnt < P4 and DayHigh(cnt) > H4 Then H4 = DayHigh(cnt); if cnt < P4 and DayLow(cnt) < L4 Then L4 = DayLow(cnt); if cnt < P5 and DayHigh(cnt) > H5 Then H5 = DayHigh(cnt); if cnt < P5 and DayLow(cnt) < L5 Then L5 = DayLow(cnt); if cnt < P6 and DayHigh(cnt) > H6 Then H6 = DayHigh(cnt); if cnt < P6 and DayLow(cnt) < L6 Then L6 = DayLow(cnt); } var1 = H1-(H1-L1)*(per1/100); var2 = H2-(H2-L2)*(per2/100); var3 = H3-(H3-L3)*(per3/100); var4 = H4-(H4-L4)*(per4/100); var5 = H5-(H5-L5)*(per5/100); var6 = H6-(H6-L6)*(per6/100);
프로필 이미지
상암동
2021-09-06
873
글번호 152061
지표

qha71 님에 의해서 삭제되었습니다.

프로필 이미지
qha71
2021-09-06
0
글번호 152058
지표
답변완료

문의

수고하십니다. 선물 분봉에서 1]5이평이 20이평을 골드크로시시 매수1개 진입하고 매수 포지션이 있는 상태에서 20이평이 상승중이고 이때 5이평이 하락중이 아니면 종가에 청산하는 식 부탁합니다. 2]단순한 조건으로 양봉으로 연속 상승시 양봉으로 끝나는 봉마다 피라미딩 진입하는 로직인 경우 이를 한 봉 건너마다 진입하게 하려면 어떻게 수정하여야 하는지 부탁합니다. 수고하세요...
프로필 이미지
오이도인
2021-09-06
1088
글번호 152057
시스템
답변완료

시스템

안녕하세요 가령 장시작후 첫 매수신호 진입 익절 청산후 연속되는 두번째 이후 부터의 매수신호는 당일의 고점과 당일의 중심가격의 1/2 이하 영역에서만 매수신호가 발생되도록 시스템을 구현하고 싶습니다 Input : af(0.02), maxAF(0.2); Var : value(0); value = sar(af,maxAF); # 매수/매도청산 If C > value Then { Buy(); } if 익절 청산 Then ExitLong("BBX"); # 매도/매수청산 If C < value Then { Sell(); } if 익절 청산 Then ExitShort("SSX"); 항상 감사드리며 수고하세요
프로필 이미지
금오공
2021-09-06
1014
글번호 152039
시스템
답변완료

문의드립니다!

안녕하세요! 아래수식은 얼마전에 작성해주신 수식으로서 유용하게 잘 사용하고있습니다 헌데 알람소리가 이평선과 캔들의 만남과 관계없이 장중내내 계속해서 발생되네요 수고스럽겠지만 한번더 검토 부탁드립니다 * 참고로 저는 이평간격을 1단위로 수정해서 사용하고있습니다 예를들어서 5,6,7,8,9일선 이런식으로 사용중입니다 도와주심에 항상 감사드립니다!!! ----------------------------------------------------------------------- input : P1(5), P2(10), P3(20), P4(60), P5(120); var1 = ma(C,P1); Var2 = ma(C,p2); Var3 = ma(C,p3); Var4 = ma(C,p4); var5 = ma(C,p5); if (h >= var1 and H[1] < var1[1]) or (L <= var1 and L[1] > var1[1]) Then { value1 = var1; Alert("P1이평 터치"); PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); } if (h >= var2 and H[1] < var2[1]) or (L <= var2 and L[1] > var2[1]) Then { value2 = Var2; Alert("P2이평 터치"); PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); } if (h >= var3 and H[1] < var3[1]) or (L <= var3 and L[1] > var3[1]) Then { value3 = Var3; Alert("P3이평 터치"); PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); } if (h >= var4 and H[1] < var4[1]) or (L <= var4 and L[1] > var4[1]) Then { value4 = Var4; Alert("P4이평 터치"); PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); } if (h >= var5 and H[1] < var5[1]) or (L <= var5 and L[1] > var5[1]) Then { value5 = Var5; Alert("P4이평 터치"); PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); } if value1 > 0 Then Plot1(value1); if value2 > 0 Then Plot2(value2); if value3 > 0 Then Plot3(value3); if value4 > 0 Then Plot4(value4); if value5 > 0 Then Plot5(value5);
프로필 이미지
유로파54
2021-09-06
828
글번호 152038
지표
답변완료

수식 부탁합니다

A식 Var:chng_rt(0),j(0),ma_val(0),std_val(0),dn_rng(0),up_rng(0),rawVBE_up(0),rawVBE_dn(0); Array:len[6](0),VBE_up[6](0),VBE_dn[6](0), up_chg[6](0),dn_chg[6](0),up_cor[6](0),dn_cor[6](0), fcstVBE_up[6](0),fcstVBE_dn[6](0); len[0] = 21; len[1] = 17; len[2] = 13; len[3] = 9; len[4] = 5; len[5] = 2; chng_rt = (C/C[1]-1); //가격 변동률 ma_val = ma(chng_rt,len[0]); //가격변동률의 평균 std_val = Std(chng_rt,len[0]); //가격변동률의 표준편차 dn_rng = ma_val - (std_val * 2); up_rng = ma_val + (std_val * 2); rawVBE_up = C * (1 + up_rng); //원시VBE rawVBE_dn = C * (1 + dn_rng); for j = 0 to 5 { VBE_up[j] = wma(rawVBE_up,len[j]); //원시VBE를 가중이평으로 평활화 VBE_dn[j] = wma(rawVBE_dn,len[j]); if VBE_up[j][1] > 0 then up_chg[j] = (VBE_up[j]-VBE_up[j][1])/VBE_up[j][1]; //VBE의 변동률 if VBE_dn[j][1] > 0 then dn_chg[j] = (VBE_dn[j]-VBE_dn[j][1])/VBE_dn[j][1]; } fcstVBE_up[0] = VBE_up[0]; fcstVBE_dn[0] = VBE_dn[0]; for j = 1 to 5 { up_cor[j] = Correlation(up_chg[0], up_chg[j],63); //21일 VBE변동률과 17,13,9,5,2 변동률간의 상관도 dn_cor[j] = Correlation(dn_chg[0], dn_chg[j],63); fcstVBE_up[j] = fcstVBE_up[j-1] * (1+(up_chg[j]*up_cor[j])); //이전값에 상관도와 변동률을 곱해서 계산 fcstVBE_dn[j] = fcstVBE_dn[j-1] * (1+(dn_chg[j]*dn_cor[j])); } plot1(fcstVBE_up[0],"상-5",RED); //5봉 뒤로 이동 plot2(fcstVBE_dn[0],"하-5",black); //5봉 뒤로 이동 if LastBarOnChart then { //마지막봉에서 아래 5봉만 추가로 출력 plot3(fcstVBE_up[5],"상0",RED); plot4(fcstVBE_up[4],"상-1",RED); //1봉 뒤로 이동 plot5(fcstVBE_up[3],"상-2",RED); //2봉 뒤로 이동 plot6(fcstVBE_up[2],"상-3",RED); //3봉 뒤로 이동 plot7(fcstVBE_up[1],"상-4",RED); //4봉 뒤로 이동 plot8(fcstVBE_dn[5],"하0",BLUE); plot9(fcstVBE_dn[4],"하-1",BLUE); //1봉 뒤로 이동 plot10(fcstVBE_dn[3],"하-2",BLUE); //2봉 뒤로 이동 plot11(fcstVBE_dn[2],"하-3",BLUE); //3봉 뒤로 이동 plot12(fcstVBE_dn[1],"하-4",BLUE); //4봉 뒤로 이동 } B식 input:N(9),multi(2),Period(63); Var:chng_rt(0),j(0),ma_val(0),std_val(0),dn_rng(0),up_rng(0),rawVBE_up(0),rawVBE_dn(0); Array:len[11](0),VBE_up[11](0),VBE_dn[11](0), up_chg[11](0),dn_chg[11](0),up_cor[11](0),dn_cor[11](0), fcstVBE_up[11](0),fcstVBE_dn[11](0); len[0] = 2; len[1] = 5; len[2] = 9; len[3] = 13; len[4] = 17; len[5] = 21; len[6] = 25; len[7] = 29; len[8] = 33; len[9] = 37; len[10] = 41; chng_rt = (C/C[1]-1); // 가격 변동률 ma_val = ma(chng_rt,len[N]); // 가격변동률의 평균 std_val = Std(chng_rt,len[N]); // 가격변동률의 표준편차 dn_rng = ma_val - (std_val * multi); up_rng = ma_val + (std_val * multi); rawVBE_up = C * (1 + up_rng); // 원시VBE rawVBE_dn = C * (1 + dn_rng); for j = 0 to N { VBE_up[j] = wma(rawVBE_up,len[j]); // 원시VBE를 가중이평으로 평활화 VBE_dn[j] = wma(rawVBE_dn,len[j]); if VBE_up[j][1] > 0 then up_chg[j] = (VBE_up[j]-VBE_up[j][1])/VBE_up[j][1]; // VBE의 변동률 if VBE_dn[j][1] > 0 then dn_chg[j] = (VBE_dn[j]-VBE_dn[j][1])/VBE_dn[j][1]; } fcstVBE_up[N] = VBE_up[N]; fcstVBE_dn[N] = VBE_dn[N]; for j = N - 1 downto 0 { up_cor[j] = Correlation(up_chg[N], up_chg[j],Period); // 21일 VBE변동률과 17,13,9,5,2 변동률간의 상관도 dn_cor[j] = Correlation(dn_chg[N], dn_chg[j],Period); fcstVBE_up[j] = fcstVBE_up[j+1] * (1+(up_chg[j]*up_cor[j])); // 이전값에 상관도와 변동률을 곱해서 계산 fcstVBE_dn[j] = fcstVBE_dn[j+1] * (1+(dn_chg[j]*dn_cor[j])); } Var:Size(4); plot1(fcstVBE_up[N],"상-N",RED,DEF,Size-1); // N봉 뒤로 이동 plot2(fcstVBE_dn[N],"하-N",RED,DEF,Size-1); // N봉 뒤로 이동 FixPlotShift(1,-N); FixPlotShift(2,-N); if LastBarOnChart then { // 마지막봉에서 아래 N봉만 추가로 출력 plot3(fcstVBE_up[0],"상0",RED,DEF,Size); if N > 1 then plot4(fcstVBE_up[1],"상-1",RED,DEF,Size); // 1봉 뒤로 이동 if N > 2 then plot5(fcstVBE_up[2],"상-2",RED,DEF,Size); // 2봉 뒤로 이동 if N > 3 then plot6(fcstVBE_up[3],"상-3",RED,DEF,Size); // 3봉 뒤로 이동 if N > 4 then plot7(fcstVBE_up[4],"상-4",RED,DEF,Size); // 4봉 뒤로 이동 if N > 5 then plot8(fcstVBE_up[5],"상-5",RED,DEF,Size); // 5봉 뒤로 이동 if N > 6 then plot9(fcstVBE_up[6],"상-6",RED,DEF,Size); // 6봉 뒤로 이동 if N > 7 then plot10(fcstVBE_up[7],"상-7",RED,DEF,Size); // 7봉 뒤로 이동 if N > 8 then plot11(fcstVBE_up[8],"상-8",RED,DEF,Size); // 8봉 뒤로 이동 plot12(fcstVBE_dn[0],"하0",BLUE,DEF,Size); if N > 1 then plot13(fcstVBE_dn[1],"하-1",BLUE,DEF,Size); // 1봉 뒤로 이동 if N > 2 then plot14(fcstVBE_dn[2],"하-2",BLUE,DEF,Size); // 2봉 뒤로 이동 if N > 3 then plot15(fcstVBE_dn[3],"하-3",BLUE,DEF,Size); // 3봉 뒤로 이동 if N > 4 then plot16(fcstVBE_dn[4],"하-4",BLUE,DEF,Size); // 4봉 뒤로 이동 if N > 5 then plot17(fcstVBE_dn[5],"하-5",BLUE,DEF,Size); // 5봉 뒤로 이동 if N > 6 then plot18(fcstVBE_dn[6],"하-6",BLUE,DEF,Size); // 6봉 뒤로 이동 if N > 7 then plot19(fcstVBE_dn[7],"하-7",BLUE,DEF,Size); // 7봉 뒤로 이동 if N > 8 then plot20(fcstVBE_dn[8],"하-8",BLUE,DEF,Size); // 8봉 뒤로 이동 FixPlotShift(4,-1); FixPlotShift(5,-2); FixPlotShift(6,-3); FixPlotShift(7,-4); FixPlotShift(8,-5); FixPlotShift(9,-6); FixPlotShift(10,-7); FixPlotShift(11,-8); FixPlotShift(13,-1); FixPlotShift(14,-2); FixPlotShift(15,-3); FixPlotShift(16,-4); FixPlotShift(17,-5); FixPlotShift(18,-6); FixPlotShift(19,-7); FixPlotShift(20,-8); } A식 과 B식 둘다 Envelope 나타내는 지표인데 B가 A를 Golden Cross 종목검색식 부탁합니다 Envelope 상단과 하단선 두가지 모두 Golden Cross 검색식 수식 부탁합니다
프로필 이미지
미래테크
2021-09-06
862
글번호 152037
종목검색
답변완료

간단질문

종목검색식은 해외선물, 코인에서도 가능한지 알고 싶습니다. 단지 주식종목에만 해당하는 것인가요?
프로필 이미지
후왕
2021-09-05
1212
글번호 152036
종목검색