커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수고 부탁드립니다

안녕하세요~~진행하다보니 추가도움이 필요해지네요~ input : 틱수1(50),틱수2(80); var1 = ma(C,5); Var2 = ma(C,20); if var1 > Var2 Then buy("매수1진입"); if MarketPosition == 0 and IsExitName("매수2청",1) == true and C <= ExitPrice(1)-PriceScale*틱수1 and var1 > Var2 Then buy("매수2진입"); if MarketPosition == 1 Then{ if var1 < Var2 Then exitlong("매수1청산"); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if PositionProfit(0) < 0 and Var1 <= lowest(Var1,20) Then exitlong("매수2청산"); } ~~~~~~~~~~~~~~~~~~질문~1~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~위수식에서~~ 매수1진과 매수2진~~ 매수1청과 매수2청 4개중에서~~ 매수2진으로 진입한것만은 (매수1청은 작동되고) 매수2청~으로는 청산 미적용!! 하고 싶읍니다 (매수2진입은 매수2청not 처럼)이름지명해서 통체로 적용안되게 해주시면 제일좋고요 만약 미적용 이름지명이 안되면~~~ (1진입이던 2진입이던~)진입가보다 손실이 났고~and 직전 매수1~이나 2진입으로 진입된가격보다 50틱~80틱사이 하락 (80틱하락 넘어면안되고) ~and Var1 <= lowest(Var1,20) Then exitlong("매수2청산"); ~~~~~~~~~~~~~~~~~~~~~질문~2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (일반적인 수식 아래2개에서 바로 각각 청산대상만을 진입지명만으로 통체로~~ 지정할수는 없을까요??~~~ if PositionProfit(0) < 0 and 손절 <= lowest(손절,100) Then exitlong("매수1청"); ------>> 청산대상을 매수1진입과~~매수2진입 적용!! if MarketPosition == 1 and IsEntryName("2매수",0) == true and C <= EntryPrice(1)-PriceScale*틱수2 and var1/Var2*100 >= 110 Then ExitLong("매수2청산"); ~~~~~~>> 청산대상을 매수2입것만~~적용!! 수고 부탁드립니다~~
프로필 이미지
째일
2023-04-04
1869
글번호 167877
시스템
답변완료

이평매매수식 부탁드립니다.

나스닥거래 합니다. 1.이평은 10,20,60이평 사용 2.시간매매용으로 07부터 17시까지는 10/20 크로스에 한개진입하고 물타기로 +-40틱에서 물타기 한개 하여 전부 신호 청산합니다. 3.17시부터 새벽 05시까지는 10/60이평 으로 크로스 매수매도 진입 1개진입 또한개 물타기 하여 신호 청산합니다. 4. 일중 매매수익이 20만원이 되면 즉시 보유 포지지션을 청산하고 시스템 종료합니다. 수고해 주세요.....
프로필 이미지
왈라스
2023-04-03
1502
글번호 167876
시스템
답변완료

문의 드립니다.

당일 중심선을 기준으로 주가가 위에 있을 때 볼린져 20 2 상선 돌파 매수 당일 중심선을 기준으로 주가가 아래 있을 때 볼린져 20 2 하선 돌파 매도 부탁드립니다. var1 = BollBandUp(20,2); Var2 = BollBandDown(20,2); if CrossUp(c,var1) Then Buy(); if CrossDown(c,var1) Then ExitLong(); if CrossDown(c,var2) Then Sell(); if CrossUp(c,var2) Then ExitShort();
프로필 이미지
선물대장
2023-04-03
1814
글번호 167875
시스템
답변완료

재문의드립니다.

81538 제문의입니다. 첨부파일 처럼 숫자가 보이도록 부탁드립니다. 숫자 크기변경 가능 하도록 부탁드립니다.
프로필 이미지
렉스턴
2023-04-03
1851
글번호 167874
지표

렉스턴 님에 의해서 삭제되었습니다.

프로필 이미지
렉스턴
2023-04-03
1
글번호 167873
지표
답변완료

함수요청

안녕하세요? 답변주신 아래 글번호 81505에 진입횟수를 추가 하고 싶습니다. 아래와 같이 작성해보았는데 횟수 제어가 안됩니다. input : 최대진입횟수(3); input : P(20),dv(2); var : bbmd(0),bbup(0),bbdn(0),bwidth(0); Var : Entry(0); bbmd = ma(c,P); bbup = bbmd+std(c,P)*dv; bbdn = bbmd-std(c,P)*dv; Bwidth = (bbup-bbdn)/bbmd; if Bdate != Bdate[1] Then { entry = 0; } If entry < 최대진입횟수 and C > bbmd and CountIf(Bwidth>Bwidth[1],2) == 2 Then { Buy(); } If entry < 최대진입횟수 and C < bbmd and CountIf(Bwidth<Bwidth[1],2) == 2 Then { Sell(); } if MarketPosition == 1 and CountIf(Bwidth<Bwidth[1],BarsSinceEntry) == 2 Then ExitLong(); if MarketPosition == -1 and CountIf(Bwidth<Bwidth[1],BarsSinceEntry) == 2 Then ExitShort(); SetStopEndofday(152000);
프로필 이미지
흰둥이아빠
2023-04-03
1451
글번호 167872
시스템

돈뭉치 님에 의해서 삭제되었습니다.

프로필 이미지
돈뭉치
2023-04-03
14
글번호 167867
지표
답변완료

문의드립니다.

안녕하세요. if c > o Then value1 = v; 위 조건은 양봉일 때의 거래량을 구한 식입니다 양봉이 아닌 봉은 제외한 이전 양봉과 전전양봉, 전전전 양봉의 거래량을 구하는 식을 알려주세요.
프로필 이미지
land22
2023-04-03
1499
글번호 167866
지표
답변완료

수식변경

늘 감사합니다. 월봉으로 바꾸어 쓰다 컴이 포멧되어서 사라저 버렸내요 죄송하지만 월봉(매달 1일로 시작)으로 수식을 변경해 주세요 거듭 감사합니다. -------------------------------------- input : 시간1(090000), Price1(100); value1 = TimeToMinutes(stime); if stime == 시간1 Then var : cnt(0); Array : O1[20](0), H1[20](0),L1[20](0),C1[20](0), O2[20](0), H2[20](0),L2[20](0),C2[20](0), O3[20](0), H3[20](0),L3[20](0),C3[20](0), O4[20](0), H4[20](0),L4[20](0),C4[20](0), O5[20](0), H5[20](0),L5[20](0),C5[20](0), O6[20](0), H6[20](0),L6[20](0),C6[20](0), O7[20](0), H7[20](0),L7[20](0),C7[20](0); if stime == 시간1 Then{ O1[0] = data1(O); H1[0] = data1(H); L1[0] = data1(L); for cnt = 1 to 19{ O1[cnt] = O1[cnt-1][1]; H1[cnt] = H1[cnt-1][1]; L1[cnt] = L1[cnt-1][1]; C1[cnt] = C1[cnt-1][1]; } } if data1(H) > H1[0] Then H1[0] = data1(H); if data1(L) < L1[0] Then L1[0] = data1(L); C1[0] = data1(C); var1 = data1(H1[0]); var2 = data1(L1[0]); var3 = data1(O1[0]); var4 = data1(C1[0]); var5 = (var4-var3)/data1(PriceScale); plot1(var5, "111"); if stime == 시간1 Then{ O2[0] = data2(O); H2[0] = data2(H); L2[0] = data2(L); for cnt = 1 to 19{ O2[cnt] = O2[cnt-1][1]; H2[cnt] = H2[cnt-1][1]; L2[cnt] = L2[cnt-1][1]; C2[cnt] = C2[cnt-1][1]; } } if data2(H) > H2[0] Then H2[0] = data2(H); if data2(L) < L2[0] Then L2[0] = data2(L); C2[0] = data2(C); var11 = data2(H2[0]); var12 = data2(L2[0]); var13 = data2(O2[0]); var14 = data2(C2[0]); var15 = (var14-var13)/data2(PriceScale); plot2(var15, "222"); if stime == 시간1 Then{ O3[0] = data3(O); H3[0] = data3(H); L3[0] = data3(L); for cnt = 1 to 19{ O3[cnt] = O3[cnt-1][1]; H3[cnt] = H3[cnt-1][1]; L3[cnt] = L3[cnt-1][1]; C3[cnt] = C3[cnt-1][1]; } } if data3(H) > H3[0] Then H3[0] = data3(H); if data3(L) < L3[0] Then L3[0] = data3(L); C3[0] = data3(C); var21 = data3(H3[0]); var22 = data3(L3[0]); var23 = data3(O3[0]); var24 = data3(C3[0]); var25 = (var24-var23)/data3(PriceScale); plot3(var25, "333"); if stime == 시간1 Then{ O4[0] = data4(O); H4[0] = data4(H); L4[0] = data4(L); for cnt = 1 to 19{ O4[cnt] = O4[cnt-1][1]; H4[cnt] = H4[cnt-1][1]; L4[cnt] = L4[cnt-1][1]; C4[cnt] = C4[cnt-1][1]; } } if data4(H) > H4[0] Then H4[0] = data4(H); if data4(L) < L4[0] Then L4[0] = data4(L); C4[0] = data4(C); var31 = data4(H4[0]); var32 = data4(L4[0]); var33 = data4(O4[0]); var34 = data4(C4[0]); var35 = (var34-var33)/data4(PriceScale); plot4(var35, "444"); if stime == 시간1 Then{ O5[0] = data5(O); H5[0] = data5(H); L5[0] = data5(L); for cnt = 1 to 19{ O5[cnt] = O5[cnt-1][1]; H5[cnt] = H5[cnt-1][1]; L5[cnt] = L5[cnt-1][1]; C5[cnt] = C5[cnt-1][1]; } } if data5(H) > H5[0] Then H5[0] = data5(H); if data5(L) < L5[0] Then L5[0] = data5(L); C5[0] = data5(C); var41 = data5(H5[0]); var42 = data5(L5[0]); var43 = data5(O5[0]); var44 = data5(C5[0]); var45 = (var44-var43)/data5(PriceScale); plot5(var45, "555"); if stime == 시간1 Then{ O6[0] = data6(O); H6[0] = data6(H); L6[0] = data6(L); for cnt = 1 to 19{ O6[cnt] = O6[cnt-1][1]; H6[cnt] = H6[cnt-1][1]; L6[cnt] = L6[cnt-1][1]; C6[cnt] = C6[cnt-1][1]; } } if data6(H) > H6[0] Then H6[0] = data6(H); if data6(L) < L6[0] Then L6[0] = data6(L); C6[0] = data6(C); var51 = data6(H6[0]); var52 = data6(L6[0]); var53 = data6(O6[0]); var54 = data6(C6[0]); var55 = (var54-var53)/data6(PriceScale); plot6(var55, "666"); if stime == 시간1 Then{ O7[0] = data7(O); H7[0] = data7(H); L7[0] = data7(L); for cnt = 1 to 19{ O7[cnt] = O7[cnt-1][1]; H7[cnt] = H7[cnt-1][1]; L7[cnt] = L7[cnt-1][1]; C7[cnt] = C7[cnt-1][1]; } } if data7(H) > H7[0] Then H7[0] = data7(H); if data7(L) < L7[0] Then L7[0] = data7(L); C7[0] = data7(C); var61 = data7(H7[0]); var62 = data7(L7[0]); var63 = data7(O7[0]); var64 = data7(C7[0]); var65 = (var64-var63)/data7(PriceScale); plot7(var65, "777");
프로필 이미지
상암동
2023-04-03
1413
글번호 167865
지표