커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

관리자에 의해 시스템시장 토론실로 이동되었습니다

프로필 이미지
orora
2020-04-05
9
글번호 137562
시스템
답변완료

함수식부탁입니다

$,안녕하세요 1, N봉전(변수조절)캔들의 시가와종가의 중심선을 오른쪽 그리기로 Taxt출력 하고싶습니다 2, 현재봉의 시가가 이전봉의 시가보다 3틱이상 크고 현재봉의종가가 이전봉의 종가보다 3틱이상 작을때 두 조건만족시에 현재봉 완성시 현재봉고가,저가라인을 표시합니다. 3, 현재봉의 시가가 이전봉의 시가보다 3틱이상 작고 현재봉의종가가 이전봉의 종가보다 3틱이상 클때 두 조건만족시에 현재봉 완성시 이전봉의 고가,저가라인을 표시합니다. 4, 2,3번의 고가,저가라인은 라인발생이후 5개봉까지 유지하면좋겠습니다. 함수식 도움 부탁드립니다. $,고맙습니다.
프로필 이미지
회원
2020-04-05
792
글번호 137561
지표
답변완료

수식 변경 요청드립니다.

안녕하세요. 아래 수식은 진입 시 3 계약이 동시에 진입하여 3차례에 걸쳐서 나누어 분할 익절되고 손절 시 15틱 일괄 청산 되도록 되어 있습니다. 이것을 역으로, 진입 시 3계약 동시 진입하여 N 틱수 이익 시 3계약 모두 일괄 청산되고, 손실 시 손절틱수1(10), 손절틱수2(15), 손절틱수3(20) 이 되도록 변경하여 주시면 감사 하겠습니다. input : 거래시간 (1), 시작시간 (220000), 끝시간 (045000),익절틱수1(10),익절틱수2(15),익절틱수3(20),손절틱수 (15); Input : 전환선기간 (5), 기준선기간1(26), 기준선기간2(1), 선행스팬2기간(52), short(12), long(26), sig(9),BBP(120), 당일누적손실틱수 (100); Var : MACDv(0), MACDsig(0),macdosc(0), Condition3(false); var : 전환선 (0), 기준선1(0), 기준선2(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0), Xcond(false),N1(0),daypl(0),당일누적손실 (0); var1 = MACD(short, long); var2 = ema(MACDv,sig); var3 = ma(C,BBP); 전환선 = (Highest(High, 전환선기간 ) + Lowest(Low, 전환선기간 )) / 2; 기준선1 = (Highest(High, 기준선기간1 ) + Lowest(Low, 기준선기간1 )) / 2; 기준선2 = (Highest(High, 기준선기간2 ) + Lowest(Low, 기준선기간2 )) / 2; 선행스팬1 = (전환선 [25] + 기준선2 [25]) / 2 ; 선행스팬2 = (Highest(High, 선행스팬2기간 )[25] + Lowest(Low, 선행스팬2기간 )[25]) / 2; if 거래시간 == 1 then condition3 = (stime>=시작시간 or stime<=끝시간); Else if 거래시간 == 2 then condition3 = (stime>=시작시간 and stime<=끝시간); Else condition3 = true; if 거래시간 == 1 or 거래시간 == 2 then { if (sdate != sdate[1] and stime >= 시작시간) or (sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then { Xcond = false; N1 = NetProfit; } } else { if Bdate != Bdate[1] Then { Xcond = false; N1 = NetProfit; } } 당일누적손실 = PriceScale*당일누적손실틱수; daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] and (IsExitName("dbl",1) == true or IsExitName("dsl",1) == true) then Xcond = true; # 매수/매도청산 if MarketPosition == 0 and TotalTrades == TotalTrades[3] and Xcond == false and Condition3 == true and var3 > var3[1] and var1 > var2 and 전환선 > 기준선1 and crossup(C,전환선 ) and C > O Then { Buy("b",OnClose,def,3); ExitLong("bp1.",atlimit,C+PriceScale*익절틱수1,"",1,1); ExitLong("bp2.",atlimit,C+PriceScale*익절틱수2,"",1,1); ExitLong("bp3.",atlimit,C+PriceScale*익절틱수3); } # 매도/매수청산 if MarketPosition == 0 and TotalTrades == TotalTrades[3] and Xcond == false and Condition3 == true and var3 < var3[1] and var1 < var2 and 전환선 < 기준선1 and CrossDown(C,전환선 ) and C < O Then { Sell("s",OnClose,def,3); ExitShort("sp1.",atlimit,C-PriceScale*익절틱수1,"",1,1); ExitShort("sp2.",atlimit,C-PriceScale*익절틱수2,"",1,1); ExitShort("sp3.",atlimit,C-PriceScale*익절틱수3); } if MarketPosition == 1 Then{ if highest(H,BarsSinceEntry) < EntryPrice+PriceScale*익절틱수1 then ExitLong("bp1",atlimit,EntryPrice+PriceScale*익절틱수1,"",1,1); if highest(H,BarsSinceEntry) < EntryPrice+PriceScale*익절틱수2 then ExitLong("bp2",atlimit,EntryPrice+PriceScale*익절틱수2,"",1,1); if highest(H,BarsSinceEntry) < EntryPrice+PriceScale*익절틱수3 then ExitLong("bp3",atlimit,EntryPrice+PriceScale*익절틱수3); } if MarketPosition == -1 Then{ if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*익절틱수1 Then ExitShort("sp1",atlimit,EntryPrice-PriceScale*익절틱수1,"",1,1); if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*익절틱수2 Then ExitShort("sp2",atlimit,EntryPrice-PriceScale*익절틱수2,"",1,1); if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*익절틱수3 Then ExitShort("sp3",atlimit,EntryPrice-PriceScale*익절틱수3); } SetStopLoss(PriceScale*손절틱수,PointStop); if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간 ) Then{ if MarketPosition == 1 Then ExitLong("bx"); if MarketPosition == -1 Then ExitShort("sx"); } if MarketPosition == 1 then { ExitLong("dbl",AtStop,EntryPrice-((당일누적손실+daypl)/CurrentContracts)); } if MarketPosition == -1 then { ExitShort("dsl",AtStop,EntryPrice+((당일누적손실+daypl)/CurrentContracts)); }
프로필 이미지
고박사122
2020-04-05
740
글번호 137560
시스템
답변완료

분봉차트에서 기준선 돌파

분봉차트에서 기준선 돌파하는 종목을 검색하는 수식을 알고 싶습니다.
프로필 이미지
디딤돌
2020-04-05
995
글번호 137559
종목검색
답변완료

문의드립니다

안녕하세요 아래 수식에서 상한가 다음날에만 매수진입 1차 or 2차 or 3차까지 매수가 되어서 청산이 되면 더이상 진입되지않게 수식 변경 부탁드립니다 예를들면 상한가 다음날에 1차 매수후 청산이 되면 더이상 진입금지 input : 금액(10000000); var : vol(0); if MarketPosition == 0 and L > DayHigh*0.82 Then { vol = Floor((금액*0.3)/min(NextBarOpen,DayHigh*0.82)); buy("b1",atlimit,DayHigh*0.82,vol); } if MarketPosition == 1 then { if MaxEntries == 1 and L > DayHigh*0.78 Then { vol = Floor((금액*0.3)/min(NextBarOpen,DayHigh*0.78)); buy("b2",atlimit,DayHigh*0.78,vol); } if MaxEntries == 2 and L > DayHigh*0.75 Then { vol = Floor((금액*0.3)/min(NextBarOpen,DayHigh*0.75)); buy("b3",atlimit,DayHigh*0.75,vol); } if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "bp1" Then Condition1 = true; if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "bp2" Then Condition2= true; if Condition1 == false Then ExitLong("bp1",atlimit,AvgEntryPrice*1.025,"",floor(MaxContracts*0.8),1); if Condition2 == false Then ExitLong("bp2",atlimit,AvgEntryPrice*1.035); if MaxEntries == 3 then ExitLong("bl",AtStop,AvgEntryPrice*0.92); } SetStopEndofday(151000);
프로필 이미지
chun0711
2020-04-05
787
글번호 137558
시스템
답변완료

수식부탁드려요^^

Valuewhen(1, crossup(c,envelopeup(period,percent)),(c+o+o+o)/4)//period=5,percent=1 위의 수식을 예스로 부탁드립니다
프로필 이미지
싱글
2020-04-05
816
글번호 137557
지표
답변완료

국내 주식 청산 수식 기능 추가입니다.

청산 수식 추가 요청건입니다. 분할매수로 매수 하였구요 (max 200) 누적 매수 갯수가 100개까지는 아래 청산 수식을 적용하고요(평균 매수값의 10%수익시 일관청산) 누적 매수 갯수가 100개 넘으면 다음의 청산 수식을 적용하고 싶습니다. 1.매수 평균값을 110% 이상을 유지를 기본 디폴트값 2.이동평균선(40일선)을 하향 돌파시 일괄 매수 청산 --> 만약 110%유지하고 있다가 이동평균선(40)일선을 하향돌파시 110%이하 발생시 청산 X input : n(200),하락퍼센트(0.85); input : 매매수(200),매수갯수(1); input : 전일대비하락률(0.998),청산률(10); var1 = highest(H,n); if C <= var1*하락퍼센트 and C <= C[1]*전일대비하락률 and stime >= 90000 and stime <= 140000 Then { if MarketPosition == 0 or (MarketPosition == 1 and MaxContracts < 매매수) then buy("b",OnClose,def,매수갯수); } if MarketPosition == 1 then { exitlong("일괄10%청산",atlimit,AvgEntryPrice*(1+청산률/100)); }
프로필 이미지
이형지
2020-04-05
759
글번호 137556
시스템
답변완료

분봉차트에서 고점 돌파

안녕하세요.. 항상 감사합니다. 5분봉 차트에서 3일전의 최고점을 돌파하는 수식이 어떻게 되나요..? 그럴경우 종목검색시 검색이 필요한 봉을 최소 몇개로 설정해야 검색이 되나요? 그리고 5분봉차트에서 3일전 최고점에서 시작해서 현재까지 차트에 수평선으로 표시할수 있을까요?
프로필 이미지
디딤돌
2020-04-05
828
글번호 137555
검색
답변완료

지표 질문입니다

당일 고가가 20캔들 천정일 때 현재 캔들 포함 좌측 두번째 양봉 저가를 표시하는 수식 당일 고가가 20캔들 천정일 때 현재 캔들 포함 좌측 세번째 음봉 고가를 표시하는 수식 당일 저가가 20캔들 바닥일 때 현재 캔들 포함 좌측 두번째 양봉 고가를 표시하는 수식 당일 저가가 20캔들 바닥일 때 현재 캔들 포함 좌측 세번째 음봉 저가를 표시하는 수식 감사합니다
프로필 이미지
회원
2020-04-04
782
글번호 137554
지표