커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수정 부탁드립니다.

안녕하세요? 답변해주신 아래의 내용에서 수정할 부분이 있어 도움요청드립다. 1. #포지션이 변경되어 새로운 진입포지션 발생시마다 1씩 증가 이 부분을 삭제하고 싶습니다. 2. 교차매매없이 정해진 익절손절에만 청산후, 새로운신호에 진입하고 싶습니다. 1씩증가 저부분을 삭제도 해보았지만 잘 안되네요. 수정부탁드립니다. 감사합니다. input : 매수음봉틱수(5),매수양봉틱수(5); input : 매도양봉틱수(5),매도음봉틱수(5); input : 진입횟수(5); input : 익절틱수(50),손절틱수(50); var : entry(0); #영업일 변경 if bdate != bdate[1] Then entry = 0; #포지션이 변경되어 새로운 진입포지션 발생시마다 1씩 증가 if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; if entry < 진입횟수 and #진입횟수가 지정한 값 이하 MarketPosition >= 0 and #매수나 무포지션 상태 C[1] >= O[1]+매도양봉틱수*PriceScale and #1봉전종가가 1봉전시가+매도양봉틱수 이상 C[0] <= O[0]-매도음봉틱수*PriceScale Then #현재봉 종가가 1봉전시가-매도음봉틱수 이하 sell("s"); if entry < 진입횟수 and #진입횟수가 지정한 값 이하 MarketPosition <= 0 and #매도나 무포지션 상태 C[1] <= O[1]-매수음봉틱수*PriceScale and #1봉전종가가 1봉전시가-매수음봉틱수 이하 C[0] >= O[0]+매수양봉틱수*PriceScale Then #현재봉 종가가 1봉전시가+매수양봉틱수 이상 buy("b"); #목표수익 설정 SetStopProfittarget(PriceScale*익절틱수,PointStop); #손절매 설정 SetStopLoss(PriceScale*손절틱수,PointStop);
프로필 이미지
대구어린울프
2020-02-27
422
글번호 136417
시스템
답변완료

부탁좀 드립니다

수고가 많으십니다 신호발생 캔들에 종가라인이 우측으로 그려지면서 수치를 나타내는 수식을 기존의 수식에 추가하고자 합니다. 다음신호가 나올때 까지 유지되었으면 합니다.
프로필 이미지
회원
2020-02-27
419
글번호 136404
시스템
답변완료

강조

var : month(0); month = int(date/100)-int(date/10000)*100; if month != month[1] and month == 1 Then PlotPaintBar(o,c,"강조",WHITE); 2017년 부터 년초가 제공되않아요
프로필 이미지
회원
2020-02-27
455
글번호 136403
강조
답변완료

강조

힝 매주 목요일 금요일아니고 3월 6월 9월 12월 두&#51760;주 목요일 셋&#51760;주 금요일 안되냐용1 1 var : count(0); var : month(0); month = int(date/100)-int(date/10000)*100; if month != month[1] Then { count = 0; if month%3 == 0 Then Condition1 = true; Else Condition1 = false; } if bdate != bdate[1] and DayOfWeek(bdate) == 4 Then { count = count+1; PlotPaintBar(H,L,"강조",MAGENTA); } 2 var : count(0); var : month(0); month = int(date/100)-int(date/10000)*100; if month != month[1] Then { count = 0; if month%3 == 0 Then Condition1 = true; Else Condition1 = false; } if bdate != bdate[1] and DayOfWeek(bdate) == 5 Then { count = count+1; PlotPaintBar(H,L,"강조",MAGENTA); }
프로필 이미지
회원
2020-02-27
572
글번호 136402
강조
답변완료

안녕하세요

//Variable: //cp = 2 (default) if high[cp] >= highest[2*cp+1](high) then LH = 1 else LH=0 endif if low[cp] <= lowest[2*cp+1](low) then LL= -1 else LL=0 endif if LH=1 then hil = high[cp] endif if LL = -1 then LOL=low[cp] endif return lol coloured(255,0,0) as "LF",hil coloured(0,255,0) as "HF" 수식 변환 문의드립니다. 감사합니다
프로필 이미지
물고기
2020-02-27
537
글번호 136398
지표
답변완료

수식문의드립니다

crossup(rsi(perood1),40) period1 10 ============================ 종목검색이 가능하게 수식문의드립니다.
프로필 이미지
나호이다
2020-02-27
519
글번호 136392
종목검색
답변완료

피라미딩 분할 익절

input : up익절1(150),up익절2(200); if MarketPosition == 1 and EntryPrice+PriceScale*up익절1 Then exitlong("bx1",AtLimit,def,"",Floor(MaxContracts*0.50),1); if MarketPosition == 1 and EntryPrice+PriceScale*up익절2 Then exitlong("bx2",AtLimit); input : dn익절1(150),dn익절2(200); if MarketPosition == -1 and EntryPrice-pricescale*dn익절1 Then exitshort("sx1",AtLimit,def,"",Floor(MaxContracts*0.50),1); if MarketPosition == -1 and EntryPrice-pricescale*dn익절2 Then exitshort("sx2",AtLimit); 1.피라미딩 2개 되었을 때 분할익절 수식입니다. 맞는지요? 2.맥스계약비율을 맥스계약수량으로 변경하는 수식도 요청합니다.
프로필 이미지
좌오비우오비
2020-02-27
547
글번호 136391
시스템
답변완료

봉완성 전에 exit 할수 있을까요?

한시간 봉에서 30분쯤에 시장가격으로 exit 할수 있을까요 매도 함수 메뉴얼을 읽어 보고 아래 같이 해봐도 Sell("") 이후에 아래 두개를 해봐도 모두 다음 봉에서 exit이 되더라구요. 전 전 하이 보다 가격이 올라가버리면 바로 exit 하고 싶은데요. exitShort("" , AtStop, High[1] ); exitShort("") 조언 부탁 드립니다. 늘 감사합니다!!
프로필 이미지
초딩트레이더
2020-02-27
526
글번호 136390
시스템
답변완료

수식 부탁드립니다

첫봉 시가기준으로 첫봉부터 진입하여 첫봉 c>o면 매수, 첫봉 c<o면 매도 이후는 첫봉시가기준 cross업 다운 수식입니다 1번 2번 사진에서 보시는거와 같이 잘되다가 중간중간 3번 그림처럼 첫봉에 진입을 안하네요 나스닥 1분봉입니다 수정 부탁드려요~ //써머타임 변수 var : Summer(False),Year(0); var : V1(0),V2(0),V3(0),V4(0); var: Tcond(False); //써머타임 변수 var: fo(0),fc(0); // 써머타임 if sdate != sdate[1] Then { Year = Floor(sdate/10000); V1 = (10000 * Year) + (100 * 3) + 1; V2 = 15 - dayofweek(v1); // 3월 두번째 일요일 날짜 v3 = (10000 * Year) + (100 * 11) + 1; v4 = 8 - dayofweek(v3); // 11월 첫번째 일요일 날짜 Summer = (sdate > (10000 * Year) + (100 * 3) + v2) And (sdate < (10000 * Year) + (100 * 11) + v4); } // 써머타임 // 써머타임 3월~11월 if Summer == true then { if sdate == 20190419 then //써머 휴일청산 { if (sdate != sdate[1] and stime >= 054500) or (sdate == sdate[1] and stime >= 054500 and stime[1] < 054500) then { Tcond = false; if MarketPosition == 1 Then ExitLong("써머휴일매수청"); if MarketPosition == -1 Then ExitShort("써머휴일매도청"); } } else if sdate == 20190528 or sdate == 20190704 or sdate == 20190705 or sdate == 20190903 then //써머 조기장 { if (sdate != sdate[1] and stime >= 014500) or (sdate == sdate[1] and stime >= 014500 and stime[1] < 014500) then { Tcond = false; if MarketPosition == 1 Then ExitLong("써머조기장매수청"); if MarketPosition == -1 Then ExitShort("써머조기장매도청"); } } else { if (sdate != sdate[1] and stime >= 054500 ) or (sdate == sdate[1] and stime >= 054500 and stime[1] < 054500 ) then { Tcond = false; if MarketPosition == 1 Then ExitLong("써머매수청"); if MarketPosition == -1 Then ExitShort("써머매도청"); } } if (sdate != sdate[1] and stime >= 070000) or (sdate == sdate[1] and stime >= 070000 and stime[1] < 070000) then { fo=O; //당일첫봉의시가 fc=C; //당일첫봉의종가 Tcond = true; } } Else //11월~3월까지 { if sdate == 20190101 or sdate == 20200101 then //노써머 휴일청산 { if (sdate != sdate[1] and stime >= 064500) or (sdate == sdate[1] and stime >= 064500 and stime[1] < 064500) then { Tcond = false; if MarketPosition == 1 Then ExitLong("노써머휴일매수청"); if MarketPosition == -1 Then ExitShort("노써머휴일매도청"); } } else if sdate == 20190122 or sdate == 20190219 or sdate == 20191129 or sdate == 20191130 or sdate == 20191225 or sdate == 20200121 or sdate == 20200218 then //노써머 조기장 { if (sdate != sdate[1] and stime >= 024500) or (sdate == sdate[1] and stime >= 024500 and stime[1] < 024500) then { Tcond = false; if MarketPosition == 1 Then ExitLong("노써머조기장매수청"); if MarketPosition == -1 Then ExitShort("노써머조기장매도청"); } } else { if (sdate != sdate[1] and stime >= 064500 ) or (sdate == sdate[1] and stime >= 064500 and stime[1] < 064500 ) then { Tcond = false; if MarketPosition == 1 Then ExitLong("노써머매수청"); if MarketPosition == -1 Then ExitShort("노써머매도청"); } } if (sdate != sdate[1] and stime >= 080000) or (sdate == sdate[1] and stime >= 080000 and stime[1] < 080000) then { fo=O; //당일첫봉의시가 fc=C; //당일첫봉의종가 Tcond = true; } } // 써머타임 //--------- 진입 로직 ---------// If Tcond == true Then { if CrossUp(c,fo) Then buy(); if Crossdown(c,fo) Then sell(); }
프로필 이미지
추우세추우종
2020-02-27
522
글번호 136389
시스템