커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

기본 시스템

예스프로그램 기본 시스템의 Var : value(0); value = 0; # 매수 / 매도청산 If CCI(9) > 0 Then value = 1; If MACD(12,26) > 0 Then value = value+1; If DIPlus(14) > DIMinus(14) Then value = value+1; If StochasticsK(12,5) > StochasticsD(12,5,5) Then value = value+1; # 매수/매도청산 If value >= 3 Then { Buy("매수"); } value = 0; # 매도/매수청산 If CCI(9) < 0 Then value = 1; If MACD(12,26) < 0 Then value = value+1; If DIPlus(14) < DIMinus(14) Then value = value+1; If StochasticsK(12,5) < StochasticsD(12,5,5) Then value = value+1; If value >= 3 Then { Sell("매도"); } 위조건에 기본 시스템 파라볼릭 Input : af(0.02), maxAF(0.2); Var : value(0); value = sar(af,maxAF); # 매수/매도청산 If C > value Then { Buy(); } # 매도/매수청산 If C < value Then { Sell(); } 을 합성 부탁 드립니다.
프로필 이미지
시그너스
2020-07-14
1587
글번호 140664
시스템
답변완료

수정 부탁드립니다.

안녕하세요? 매매횟수를 넣는 답변 잘받았습니다. 그부분은 작동이 잘 되는것 같은데, 손절을 외부변수에 넣어놓으면 되었는데, 지금 안되네요. 손절이 작동할수있도록 수정 부탁드립니다. 감사합니다. Input : 단기(5), 장기(20), profit_pt(0.5), loss_pt(0.5), 장종료청산(151000),진입횟수(3); Variable : ent_position(0),entry(0); if MarketPosition == 0 Then{ var1 = 0; ent_position = 0; entry = 0; } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) then entry = entry+1; //If ma(C,단기)>ma(C,장기) and ( C>O and L==O ) or ( C[1]<O[1] and H[1]==O[1] and C>O ) Then { If ma(C,단기)>ma(C,장기) and ( C>O and L==O ) and ent_position == 0 and entry < 진입횟수 Then { Buy("매수",AtMarket); Var1 = NextBarOpen; ent_position = 1; } //If ma(C,단기)<ma(C,장기) and ( C<O and H==O ) or ( C[1]>O[1] and L[1]==O[1] and C<O ) Then { If ma(C,단기)<ma(C,장기) and ( C<O and H==O ) and ent_position == 0 and entry < 진입횟수 Then { Sell("매도",AtMarket); Var1 = NextBarOpen; ent_position = -1; } if PositionProfit >= profit_pt and ent_position<>0 Then{ if ent_position == 1 and C<O Then { ExitLong("매수청산"); } if ent_position == -1 and C>O Then { ExitLong("매도청산"); } }
프로필 이미지
대구어린울프
2020-07-14
1489
글번호 140662
시스템

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

프로필 이미지
2wnwn
2020-07-14
11
글번호 140656
지표
답변완료

문의 드립니다.

항상 수고 많으십니다. 종가 매수인데 종목의 종가가 상한가이면 매수가 들어가지 않게끔 할려면 어떻게 해야하나요?? 감사합니다.
프로필 이미지
대박내자잉
2020-07-14
1313
글번호 140655
시스템
답변완료

지표

하나만 더 수정 해주세요 10분에 60분봉의 가중도 알려 주세요 Input : Length1(5),Length2(20); Var : TLen1(0),TLen2(0),i1(0),i2(0); var : Hsum1(0),Hsum2(0),Havg1(0),Hma1(0); var : Lsum1(0),Lsum2(0),Lavg1(0),Lma1(0); var : HLsum1(0),HLsum2(0),HLavg1(0),HLma1(0); var : Hcum1(0),Hcum2(0),Havg2(0),Hma2(0); var : Lcum1(0),Lcum2(0),Lavg2(0),Lma2(0); var : HLcum1(0),HLcum2(0),HLavg2(0),HLma2(0); TLen1 = Ceiling((Length1 + 1) * .5); TLen2 = Ceiling((Length2 + 1) * .5); Hsum2 = 0; Lsum2 = 0; HLsum2 = 0; for i1 = 0 to TLen1-1 { Hsum1 = 0; Lsum1 = 0; HLsum1 = 0; for i2 = i1+0 to TLen1-1+i1 { Hsum1 = Hsum1 + DayHigh(i2); Lsum1 = Lsum1 + DayLow(i2); HLsum1 = HLsum1 + (DayHigh(i2)+DayLow(i2))/2; } Havg1 = Hsum1/TLen1; Hsum2 = Hsum2 + Havg1; Lavg1 = Lsum1/TLen1; Lsum2 = Lsum2 + Lavg1; HLavg1 = HLsum1/TLen1; HLsum2 = HLsum2 + HLavg1; } Hma1 = Hsum2/TLen1; Lma1 = Lsum2/TLen1; HLma1 = HLsum2/TLen1; Hcum2 = 0; Lcum2 = 0; HLcum2 = 0; for i1 = 0 to TLen2-1 { Hcum1 = 0; Lcum1 = 0; HLcum1 = 0; for i2 = i1+0 to TLen2-1+i1 { Hcum1 = Hcum1 + DayHigh(i2); Lcum1 = Lcum1 + DayLow(i2); HLcum1 = HLcum1 + (DayHigh(i2)+DayLow(i2))/2; } Havg2 = Hcum1/TLen2; Hcum2 = Hcum2 + Havg2; Lavg2 = Lcum1/TLen2; Lcum2 = Lcum2 + Lavg2; HLavg2 = HLcum1/TLen2; HLcum2 = HLcum2 + HLavg2; } Hma2 = Hcum2/TLen2; Lma2 = Lcum2/TLen2; HLma2 = HLcum2/TLen2; Plot1(Hma1, "고가삼각가중1"); Plot2(Hma2, "고가삼각가중2"); Plot3(Lma1, "저가삼각가중1"); Plot4(Lma2, "저가삼각가중2"); Plot5(HLma1, "중간삼각가중1"); Plot6(HLma2, "중간삼각가중2"); Plot7(Hma2+abs(Hma2-Lma2), "20고가+진동폭"); Plot8(Lma2-abs(Hma2-Lma2), "20저가-진동폭");
프로필 이미지
회원
2020-07-14
1447
글번호 140654
지표
답변완료

지표

감사합니다 지표채우기는 해결했읍니다 1> 캔들 -20 -6 고다저가중심지표라인 수식 부탁드립니다
프로필 이미지
회원
2020-07-14
1520
글번호 140653
지표
답변완료

질문 부탁드립니다

안녕하세요 도움감사드립니다~~ 아래 기존수식에다 청산부분만 (청산중복)추가!로 부탁~~드립니다 ~매수신호(체결)후 2100봉까지도 미청산때는 2000봉동안중에 장기(이평1200) 최고가 > 중기(이평150)~~~~일때 매수청산~~ ~매도신호(체결)후 2100봉까지도 미청산때는 2000봉동안중에 장기(이평1200) 최저가 < 중기(이평150)~~~~일때 매도청산~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 질문~~아래수식작성때~~ (1)번--매수-매수청산-매도-매도청산 (2)번--매수-매도-매수청산-매도청산~~~~~(1)번과 (2)번의 차이점이 있는지요? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ input : 단(50),중(150),장(1200),천(2000); var : 단기(0),중기(0),이천(0),장기(0); 단기 = ma(c,단); 중기 = ma(c,중); 장기 = ma(c,장); 이천 = ma(c,천); if 중기 /장기 * 100 > 100.10 and 단기 > 중기[1300] and 이천 > 이천[200] Then buy("매수진"); if 중기 /장기 * 100 < 99.90 and 단기 < 중기[1300] and 이천 < 이천[200] Then Sell("매도진"); if MarketPosition == 1 Then { if ( 단기 < 중기[1300] and 이천 < 이천[200]) or (barssinceentry >= 1400 and 중기 /장기 * 100 > 99.50) Then exitlong("매수청"); } if MarketPosition == -1 Then { if (단기 > 중기[1300] and 이천 > 이천[200]) or (barssinceentry >= 1400 and 중기 /장기 * 100 < 100.50) Then exitshort("매도청"); } 감사합니다~
프로필 이미지
째일
2020-07-14
1540
글번호 140648
시스템
답변완료

문의

라인작업후 채우기 기능이 안되서요 1<2 3<4 등으로 했는데 화면에 라인만 나오네요 Input : 기준1(290), 이격1(2.5), 이격2(1.25), AA1(5); var3 = 기준1; var1=0; if var1 <= AA1 Then { plotbaseline1(Var3,"1"); plotbaseline2(Var3-이격2,"2"); var1 = var1 +1 ; } if var1 <= AA1 Then { plotbaseline3(Var3-(이격1*1),"3"); plotbaseline4(Var3-(이격1*1)-이격2,"4"); var1 = var1 +1 ; } if var1 <= AA1 Then { plotbaseline5(Var3-(이격1*2),"5"); plotbaseline6(Var3-(이격1*2)-이격2,"6"); var1 = var1 +1 ; } if var1 <= AA1 Then { plotbaseline7(Var3-(이격1*3),"7"); plotbaseline8(Var3-(이격1*3)-이격2,"8"); var1 = var1 +1 ; } if var1 <= AA1 Then { plotbaseline9(Var3-(이격1*4),"9"); plotbaseline10(Var3-(이격1*4)-이격2,"10"); var1 = var1 +1 ; } if var1 <= AA1 Then { plotbaseline11(Var3-(이격1*5),"11"); plotbaseline12(Var3-(이격1*5)-이격2,"12"); var1 = var1 +1 ; }
프로필 이미지
회원
2020-07-14
1499
글번호 140647
지표
답변완료

특정일.미결제증감.basis

1. 특정한 날(20191231, 20200630)만 거래하는 수식 부탁드립니다. 그리고 특정한 날 100개를 나열하는 것과 한줄의 수식으로 100개를 커버하는 것의 속도 차이가 있는지요? 2. 선물거래 3가지 수식 부탁드립니다. - 미결제증감 +20 buy - basis +0.02 buy - 괴리율 +0.02 buy
프로필 이미지
좌오비우오비
2020-07-19
1576
글번호 140646
시스템