커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

일자 변경 제외

안녕하세요 아래는 이전에 만들어주신 자료입니다. Var1 = TimeToMinutes(stime); if bdate != bdate[1] Then idx = 0; Else idx = idx+1; var4 = c; for cnt = 0 to idx { if var1[cnt] > var1-T and C[cnt] < var4 Then var4 = C[cnt]; } plot1(var4); 여기서 해외 선물을 표시해보니 00시부터 07시까지는 적용이 되지않습니다. TimeToMinutes이 원인 인것 같은데, 24시간 계속 적용되도록 수정 부탁 드립니다. 감사합니다.
프로필 이미지
orfeu
2019-06-14
313
글번호 129450
지표
답변완료

지도를 부탁드립니다

아래수식을 오일 1분챠트 2개월 지정하고 최적화 하려하면 정지된듯 진행이 되지 않습니다 기간을 2개월 하고 확인 하면 그렇습니다 방법이 있을까요 전화나 원격으로 한번 상담 해 주시면 감사하겠습니다 010 6674 8021 Input : length(10); var : 종가사용여부(0),수치표시(1),표시(0); var : 추세두께(2),추세상승색(red),추세하락색(blue); var : 고점연결두께(2),고점연결색상(RED); var : 저점연결두께(2),저점연결색상(blue); input : p1(5),P2(20); input : 손절틱수(50),익절틱수(50); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),TL11(0),TL12(0),T(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부==1,C,H); LL = IFF(종가사용여부==1,C,L); 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 { T = 1; 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]); TL_SetSize(TL1,추세두께); TL_SetColor(TL1,추세상승색); if 저[1,1] > 저[2,1] Then { if 표시 == 0 Then TL_Delete(TL11); TL11 = TL_New(저[2,3],저[2,4],저[2,1],저[1,3],저[1,4],저[1,1]); TL_SetExtRight(TL11,true); TL_SetColor(TL11,저점연결색상); TL_SetSize(TL11,저점연결두께); } If 수치표시 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)+NewLine+"+"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); Text_SetStyle(Text1, 2, 1); } } 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)+NewLine+"+"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = LL; If 최종꼭지점 == "고점" then { T = -1; 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]); TL_SetSize(TL1,추세두께); TL_SetColor(TL1,추세하락색); if 고[1,1] < 고[2,1] Then { if 표시 == 0 Then TL_Delete(TL12); TL12 = TL_New(고[2,3],고[2,4],고[2,1],고[1,3],고[1,4],고[1,1]); TL_SetExtRight(TL12,true); TL_SetColor(TL12,고점연결색상); TL_SetSize(TL12,고점연결두께); } If 수치표시 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)+NewLine+"-"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); Text_SetStyle(Text1, 2, 0); } } 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)+NewLine+"-"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱"); } } 최종꼭지점 = "저점"; } var1 = ma(c,P1); var2 = ma(C,P2); if T == -1 and abs(저[1,1]-저[2,1]) <= PriceScale*10 and C > O and crossup(c,var1) Then buy("b",AtMarket); if MarketPosition == 1 Then { ExitLong("bx1",AtStop,저[2,1]-PriceScale*1); if CrossDown(c,var2) Then exitlong("bx2",AtMarket); } if T == 1 and abs(고[1,1]-고[2,1]) <= PriceScale*10 and C < O and CrossDown(c,var1) Then sell("s",AtMarket); if MarketPosition == -1 Then { ExitShort("sx1",AtStop,고[2,1]-PriceScale*1); if CrossUp(c,var2) Then ExitShort("sx2",AtMarket); } SetStopLoss(PriceScale*손절틱수,PointStop); SetStopProfittarget(PriceScale*익절틱수,PointStop);
프로필 이미지
유로정복자
2019-06-14
349
글번호 129449
시스템
답변완료

중간에 빈봉 처리좀요.

빨강,파랑 봉으로 나오는데요 .중간에 빈봉이 생기는데 빈봉을 노랑으로 만들어 주실수 있나요 >?? 미리 감사 인사 드려요 ^^ input : P(10); var : MM(0),T(0); MM = (highest(H,P)+lowest(L,P))/2; if T == 0 and C > MM Then T = 1; if T == 0 and C < MM Then T = -1; if T == 1 and CrossDown(C,lowest(L,P)[1]) Then T = 0; if T == -1 and CrossUp(C,highest(H,P)[1]) Then T = 0; if T == 1 Then PlotPaintBar(H,L,"강조",red); if T == -1 Then PlotPaintBar(H,L,"강조",blue);
프로필 이미지
pcasso
2019-06-14
328
글번호 129447
지표
답변완료

수식문의드려요

키움수식입니다 예스로 표현 부탁드립니다 일정기간동안의 이평고점저점라인 수식1 %기간%이평(%봉수%봉내)고점 M=ma(c,기간,종류); HH=Highest(M, 봉수); valuewhen(1, HH>HH(1), HH) 수식2 저점 M=ma(c,기간,종류); LL=Lowest(M, 봉수); valuewhen(1, LL<LL(1),LL) 설정 기간 20 종류 단순 봉수 20
프로필 이미지
초보트레이더11
2019-06-14
357
글번호 129443
지표
답변완료

수식문의드립니다

1. [지표문의] 콜옵션 개인순매수금액 과 풋옵션개인순매수금액을 더해서 선차트를 만들수 있을까요~~ 2. 차트 아래에 거래량대신 매수거래량, 매도거래량을 각각 구분해서 나타낼수 있는지도 궁금합니다.
프로필 이미지
초보오
2019-06-13
322
글번호 129441
지표

관리자에 의해 프로그램 사용법 QnA로 이동되었습니다

프로필 이미지
120일선
2019-06-13
3
글번호 129440
시스템
답변완료

함수 추가 부탁드립니다.

안녕하세요. 아래수식에 해외선물 당일 오후1시부터 다음날 오전6시까지만 매매적용 설정 부탁드립니다. 감사합니다. Inputs: Length(10), ATRs(1.5), Pval(0.05); Variables: KUpper(0), BuySetup(False), BuyBase(0); KUpper = KeltnerChannel(Close, Length, ATRs); Condition1 = Crossup(Close, KUpper); If MarketPosition() == 1 OR Close < MA(close, Length) Then BuySetup = False; Else If Condition1 Then Begin BuySetup = True; BuyBase = High; End; If BuySetup Then Buy ("Kltr", AtStop, BuyBase + Pval);
프로필 이미지
바둑이
2019-06-13
327
글번호 129439
사용자 함수

스누피독 님에 의해서 삭제되었습니다.

프로필 이미지
스누피독
2019-06-13
4
글번호 129438
시스템
답변완료

문의드립니다

if (sdate != sdate[1] and stime >= 101500) or (sdate == sdate[1] and stime >= 071500 and stime[1] < 071500) Then { var1 = o; var2 = h; var3 = l; } if var2 > 0 and h > var2 Then var2 = h; if var3 > 0 and l < var3 Then var3 = l; var4 = (var2+var3)/2; if var1 > 0 then { plot1(var1); Text_Delete(value1); value1 = Text_New(sdate,stime,var1,"시가: "+NumToStr(var1,2)); } if var2 > 0 then { plot2(var2); Text_Delete(value2); value2 = Text_New(sdate,stime,var2,"고가 : "+NumToStr(var2,2)); } if var3 > 0 then { plot3(var3); Text_Delete(value3); value3 = Text_New(sdate,stime,var3,"저가 : "+NumToStr(var3,2)); } if var4 > 0 then { plot4(var4); Text_Delete(value4); value4 = Text_New(sdate,stime,var4,"중심 : "+NumToStr(var4,2)); } 위수식에서 시가+10틱 시가-10틱 수평선으로 나오게하고십습니다 ,부탁드립니다 미리감사드립니다
프로필 이미지
유선
2019-06-13
327
글번호 129433
지표