커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

시스템식 관련 질문

안녕하세요? 아래 시스템식에서 진입시호에 매수하고 청산은 진입가에 5% 상승했을 때 청산하게끔 하려면 어찌해야 하나요? # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } 항상 친절한 답변 감사드립니다.
프로필 이미지
달님2020
2012-05-02
411
글번호 50719
시스템
답변완료

재문의 드립니다.

빠른 답변 감사합니다 ^^ 그런데 제가 다시 해봤지만 정상적으로 동작이 안됩니다. 첨부파일로 드린 이미지에 보시면 매수 진입 후 10틱 이상 상승한 후 고점에서 10틱 이하로 내려왔는데도, 스탑트레일링이 걸리지 않습니다. 결국 종가에 청산하게 되구요. 저도 개별적으로 퇴출전략을 하나씩 해보았지만, 유독 스탑트레일링만 안되네요.. 그림처럼 결과가 나온 수식 올립니다. Input : Period1(100), Losscut(15), StopCut(120), st11(10), st12(10), st21(10), st22(10), stoptime(150000); value1 = ma(O, Period1); If sTime == 151500 and Open < Value1 Then buy("매수", AtMarket); If sTime == 151500 and Open > Value1 Then Sell("매도", AtMarket); If MarketPosition == 1 Then { if highest(H,BarsSinceEntry) >= EntryPrice+(PriceScale*st21) Then exitlong("Bstop2step",AtStop,highest(H,BarsSinceEntry)-st22); if highest(H,BarsSinceEntry) >= EntryPrice+(PriceScale*st11) Then exitlong("Bstop1step",AtStop,highest(H,BarsSinceEntry)-st12); # ExitLong("BLoss", AtStop, EntryPrice-(PriceScale*Losscut)); #Exitlong("BProfit", AtLimit, EntryPrice+(PriceScale*StopCut)); } If MarketPosition == -1 Then { If Lowest(L,BarsSinceEntry) <= EntryPrice-(PriceScale*st21) Then ExitShort("Sstop2step",AtStop,Lowest(L,BarsSinceEntry)+st22); If Lowest(L,BarsSinceEntry) <= EntryPrice-(PriceScale*st11) Then ExitShort("Sstop1step",AtStop,Lowest(L,BarsSinceEntry)+st12); # ExitShort("SstopLoss", AtStop, EntryPrice+(PriceScale*Losscut)); #ExitShort("SProfit", AtLimit, EntryPrice-(PriceScale*StopCut)); } SetStopEndofday(stoptime-000001); 확인해 주시고 문제가 무엇인지 알려주세요. 더운날 시원한 하루 되시길 바랍니다. ============================================================================== 안녕하세요 예스스탁입니다. 작성하신 모든 청산신호 정상적으로 발생하고 있습니다. 적용시 발생하지 않는 청산은 그전에 다른 청산이 발생하기 때문입니다. 각 청산을 개별적으로 적용해 보시면 모두 신호발생합니다. Input : Period1(100), Losscut(15), StopCut(120), st11(10), st12(10), st21(10), st22(10), stoptime(150000); value1 = ma(O, Period1); If sTime == 151500 and Open < Value1 Then buy("매수", AtMarket); If sTime == 151500 and Open > Value1 Then Sell("매도", AtMarket); If MarketPosition == 1 Then { ExitLong("BLoss", AtStop, EntryPrice-(PriceScale*Losscut)); Exitlong("BProfit", AtLimit, EntryPrice+(PriceScale*StopCut)); if highest(H,BarsSinceEntry) >= EntryPrice+(PriceScale*st21) Then exitlong("Bstop2step",AtStop,highest(H,BarsSinceEntry)-st22); if highest(H,BarsSinceEntry) >= EntryPrice+(PriceScale*st11) Then exitlong("Bstop1step",AtStop,highest(H,BarsSinceEntry)-st12); } If MarketPosition == -1 Then { ExitShort("SstopLoss", AtStop, EntryPrice+(PriceScale*Losscut)); ExitShort("SProfit", AtLimit, EntryPrice-(PriceScale*StopCut)); If Lowest(L,BarsSinceEntry) <= EntryPrice-(PriceScale*st21) Then ExitShort("Sstop2step",AtStop,Lowest(L,BarsSinceEntry)+st22); If Lowest(L,BarsSinceEntry) <= EntryPrice-(PriceScale*st11) Then ExitShort("Sstop1step",AtStop,Lowest(L,BarsSinceEntry)+st12); } SetStopEndofday(stoptime-000001); 당일청산이 var3-000001으로 되어 있고 수식내에 var3에 할당한 값이 없어 stoptime-000001로 변경했습니다. 또한 신호는 모두 정규장안에 발생하게 작성하셔야 합니다. 정규장내 시간으로 설정하시기 바랍니다. 즐거운 하루되세요
프로필 이미지
회원
2012-05-02
477
글번호 50717
시스템
답변완료

if문 질문입니다.

input : ss(200); Var : value1(0); value1 = (highest(H,ss)-lowest(L,ss))*(31.8/100)+lowest(L,ss); if stime >= 90500 and stime <= 144500 and (highest(H,ss)/lowest(L,ss))>=1.025 and c[5]>=value1 and c[50]>=value1 and c[100]>=value1 and c[20]>=value1 and c<=value1 and c[2]>=value1 Then buy("buy"); SetStopProfittarget(20*PriceScale,PointStop); SetStopLoss(20*PriceScale,PointStop); 시스템 일부분인데 신호 발생 부분을 보면 위에 나온 조건을 만족하지 않는 부분에서도 신호가 발생하는데 if문에서 조건이 여러개면 안먹히는 그런게 있는건가요?
프로필 이미지
jaemy
2012-05-02
411
글번호 50716
시스템
답변완료

수식작성 부탁드립니다

1. 20일 이내에 상한가가 1번 이상 있었다면 매수진입하도록 수식 부탁드립니다. 2. 분기청산..즉 포지션이 있다면 3,6,9,12월 달의 첫거래일에 청산되도록 수식 부탁드립니다. 3. 아래 수식에서 BasePrice를 close로 바꾸어도 같은 결과인가요? input : 투자총액(10000000) ; Var : 매수량1(0),매수량2(0),매수량3(0); if CodeCategory == 1 Then{ #코스피 if BasePrice < 50000 Then{ 매수량1 = int(int((투자총액*0.5)/C)/10)*10; 매수량2 = int(int((투자총액*0.3)/C)/10)*10; 매수량3 = int(int((투자총액*0.2)/C)/10)*10; } Else{ 매수량1 = int((투자총액*0.5)/C); 매수량2 = int((투자총액*0.3)/C); 매수량3 = int((투자총액*0.2)/C); } } if CodeCategory == 2 Then{ 매수량1 = int((투자총액*0.5)/C); 매수량2 = int((투자총액*0.3)/C); 매수량3 = int((투자총액*0.2)/C); } 4. 주식시스템으로 10분봉을 사용하는데 전략차트가 3개월정도만 지원되어 주식포지션이 3개월이 지나도록 청산되지 않고 보유중이면 3개월이 지나면서 이전 신호는 사라지고 전략차트에 새로운 신호가 발생하는 문제가 있습니다. 1년이상 차트에 시뮬레이션 할때와 차이가 발생하는 거죠... 해결 방법이 없을 까요? 이런 문제를 해결하려면 전략차트 지원 봉개수를 10000봉정도 지원해주면 될듯 한데요... 아니면 봉갯수가 아니고 과거 어느 일정기간 부터 지원해준 다던가요!
프로필 이미지
무명
2012-05-02
481
글번호 50715
시스템
답변완료

식 부탁

MarketPosition() <> 1 and 조건 then ExitLong()/ExitShort();에서 ExitLong() 후 종가가 직전 ExitLong()가격을 다시 돌파하면 다시 매수, ExitShort() 후 종가가 직전 ExitShort()가격을 다시 하락하면 다시 매도하는 식 부탁 합니다.
프로필 이미지
대주발
2012-05-02
447
글번호 50696
시스템
답변완료

지표문의

trix 을 볼린져 밴드 처럼 만들고 싶어요 가능하면 부탁합니다
프로필 이미지
대두
2012-05-02
461
글번호 50695
지표
답변완료

문의드립니다.

매수금액 5000000 매수조건 지정가격(가격지정이 불가능하다면 당일고점가격) 대비 7%하락시 1차매수, 500만원 10%하락시 2차매수, 500만원*2배수 매도조건 3%수익시 매도 부탁드립니다.ㅠㅠ
프로필 이미지
혁시운
2012-05-02
440
글번호 50693
시스템
답변완료

문의드림니다

5이평이 20이평을 데드크로스 한 이후에 5분이내에 골드크로스 하면 매수하는 수식부탁
프로필 이미지
logos
2012-05-02
435
글번호 50687
시스템
답변완료

질문요

종목검색을 하려는데 정배열검색식만 있어서 문의드립니다. 종가가 240일선 위에 있는 종목검색식 만들어주세요
프로필 이미지
회원
2012-05-02
442
글번호 50686
검색