커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

청산시 계약 수 관련 문의드립니다

안녕하세요, 시스템 자동 진입 후 청산 관련 문의드리려구요. 1. A 조건시 "AA" 라는 명칭으로 '5개' 매수하도록 수식을 작성 2. B 조건시 "AA" 로 진입한 '5개' 청산하도록 수식 작성 3. A 조건 충족하였으나 실제로 매수한 수량은 2개임 B조건 발생시 5개 청산하도록 되어있으나 실제 매수한 수량은 2개인 경우 어떻게 처리될까요? 1) 2개만 청산되고 끝 2) 5개가 아니므로 에러 치고, 청산 없음 감사합니다.
프로필 이미지
edan
2020-05-28
2601
글번호 139333
시스템
답변완료

67696 질문의 매도진입 버전요망합니다.

var : T(0),BuyEntry(false),ii(0); var1 = ma(C,5); var2 = ma(C,10); if var1 > var1[1] Then T = 1; if var1 < var1[1] Then T = -1; #상향반전 if T == 1 and T != T[1] Then { BuyEntry = true; ii = index; } #상향반전후 10봉 이내 if BuyEntry == true and index < ii+10 Then { if NextBarOpen <= var2 Then buy("b1",AtStop,var2); Else buy("b2",Atlimit,var2); } 이수식의 매도진입 버전을 하려고 아래 수식으로 해봤는데 원하는 매매가 안되는데요... 매도진입버전 수정체크부탁드려요~~~ * 원하는 수식 매도 진입 (1) 5봉이평 우하향 (10봉이내에만 진입) (2) 5봉이평 우햐향 조건에서 2일 이평 터치시 매도진입 매도 청산 (1) tr도달시 tr하락할때 청산 또는 터치익절(익절실현) 터치 손절(손절실현) * 5봉이평이 유지되는 상태에서 1회 진입 청산시 재진입하지 않기 input : tr수익(250),tr하락(200); input : 터치익절(375),즉시손절(100); var : T(0),SellEntry(0),ii(0); var1 = ma(C,5); var2 = ma(C,2); if var1 > var1[1] Then T = 1; if var1 < var1[1] Then T = -1; #상향반전 요기만 "T== -1"로 바꾸면 되나요? if T == -1 and T != T[1] Then { SellEntry = true; ii = index; } #상향반전후 10봉 이내 if SellEntry == true and index < ii+10 Then { if NextBarOpen > var2 Then sell("b1",AtStop,var2); Else sell("b2",Atlimit,var2); } if MarketPosition == -1 then { Sellentry = false; if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*tr수익 Then ExitShort("str",AtStop, Lowest(L,BarsSinceEntry)+PriceScale*tr하락); } SetStopProfittarget( PriceScale*터치익절 , PointStop); SetStopLoss( PriceScale*즉시손절 , PointStop);
프로필 이미지
이형지
2020-05-29
2535
글번호 139332
시스템
답변완료

청산후 재진입가 조정

질문은 크게 두가지 입니다 1. 재 진입시 진입가격 정정 매수/매도 포지션 보유 중 청산조건에 부합하여 청산한 뒤에 재진입할 경우 진입가를 정정하고 싶습니다 기초 진입은 L1~L3, S1~S3 하되 청산조건에 부합하여 청산하면 NL1 ~ NL3, NS1~ NS3 로 진입가를 정정하고 싶습니다 그리고 NL1 ~ NL3 진입가 수식은 NL1 = 매수포지션 보유중에 청산조건에 부합하여 마지막으로 청산된 가격에서 + LTR NL2 = NL1 + LTR * 0.5 NL3 = NL1 + LTR NS1 ~ NS3 진입가 수식은 NS1 = 매도포지션 보유중에 청산조건에 부합하여 마지막으로 청산된 가격에서 - STR NS2 = NS1 - STR * 0.5 NS3 = NS1 - STR 2. 재 진입 이후 청산조건 - 재 진입을 하고 나서 청산조건을 새로 작성해야되는지 궁금합니다! # ENTRY L1 = DAYOPEN + LTR ; L2 = L1 + (LTR * 0.5); L3 = L1 + LTR; S1 = DAYOPEN - STR; S2 = S1 - (STR * 0.5); S3 = S1 - STR; IF MarketPosition == 0 AND BDATE != EXITDATE(1) Then { IF H < L1 AND NEXTBARSDATE == SDATE Then BUY("L1",ATSTOP,L1); IF L > S1 AND NextBarSdate == SDATE THEN SELL("S1",ATSTOP,S1); } # 매수 피라미딩 IF MarketPosition == 1 AND STIME <153000 THEN { if highest(h,BarsSinceEntry) < L2 Then buy("L2",ATSTOP,L2); if highest(h,BarsSinceEntry) < L1 + LTR Then buy("L3",ATSTOP, L3); } # 매수청산 IF MarketPosition == 1 then { if NextBarSdate == SDATE Then ExitLong("LS",AtStop,LatestEntryPrice - LTR); NL1 = LatestEntryPrice(1); NL2 = NL1 + LTR * 0.5; NL3 = NL1 + LTR; IF NextBarSdate != SDATE Then ExitLong("EL",ATMARKET); } # 매도 피라미딩 IF MarketPosition == -1 AND STIME < 153000 THEN { IF Lowest(L,BarsSinceEntry) > S2 Then SELL("S2",AtStop,S2); IF Lowest(L,BarsSinceEntry) > S1 - STR Then SELL("S3",AtStop,S3); } # 매도청산 IF MarketPosition == -1 then { IF NextBarSdate == SDATE Then EXITSHORT("SS",AtStop,LatestEntryPrice + STR); NS1 = LatestEntryPrice(1); NS2 = NS1 - STR * 0.5; NS3 = NS1 - Str; SetStopEndofday(); } ELSE SetStopEndofday(0); #해제 # 재진입 IF MARKETPOSITION == 0 AND BDATE == EXITDATE(1) THEN { IF LatestExitName(1) == "LS" AND H < NL1 AND NextBarSdate == sDate THEN BUY("NL1",ATSTOP,NL1); IF LatestExitName(1) == "SS" AND L > NS1 AND NextBarSdate == sDate THEN SELL("SN1", ATSTOP,NS1); } # 재진입 피라미딩 IF BDATE == EXITDATE(1) THEN { IF LatestEntryName == "NL1" AND Highest(H,BarsSinceEntry) < NL2 THEN BUY("NL2",ATSTOP,NL2); IF LatestEntryName == "NL2" AND Highest(H,BarsSinceEntry) < NL3 THEN BUY("NL3",ATSTOP,NL3); IF LatestEntryName == "NS1" AND Lowest(L,BarsSinceEntry) > NS2 THEN SELL("NS2",ATSTOP,NS2); IF LatestEntryName == "NS2" AND Lowest(L,BarsSinceEntry) > NS3 THEN SELL("NS3",ATSTOP,NS2); }
프로필 이미지
엠씨용가
2020-05-28
2545
글번호 139331
시스템
답변완료

수식부탁해요

1.일봉기준 주가이평선이 5>20>60 2.일봉기준 Band%B(20.2)가 상승중 3.일봉기준 1일전 5일 이평선이 상승중 1 and 2 and 3 이면 mfi(14)하단기준선30이하 일때 현재봉이 2봉전 기준선보다 크다면 매수
프로필 이미지
상큼한아침
2020-05-28
2521
글번호 139330
시스템
답변완료

부탁드립니다

수고하십니다 *아래수식을 적용해 보니 봉에 별표시가 안보이네요 수식부탁드립니다 input : 기간1(12),기간2(26),기간3(9); var : MM(0),MS(0),조건(false),MV(0),비교(false),tx(0); MM=MACD(기간1,기간2); Ms=ema(MM,기간3); 조건=MM>MM[1]&&MM[1]<MM[2]&&MM<Ms; if 조건 Then Mv = L[1]; 비교=M<Ms&&MM[1]<Ms[1]&& MM[2]<Ms[2]&& MM[3]<Ms[3]&& MM[4]<Ms[4]&& MM[5]<Ms[5]&& MM[6]<Ms[6]&& MM[7]<Ms[7]&& MM[8]<Ms[8]&& MM[9]<Ms[9]; if CrossDOWN(C,Mv)&&비교 Then{ tx = text_new(sdate,stime,H+PriceScale*5,"★"); #Text_SetStyle(tx,2,1); Text_SetColor(tx,BLACK); Text_SetBold(tx,4);}
프로필 이미지
파생돌이
2020-05-28
2506
글번호 139329
지표
답변완료

수식 좀 부탁드립니다

과거 봉은 종가를 사용하고 현재 봉은 시가를 사용하는 이평선을 만들려고 아래처럼 해보니 되기는 되는데 단순이평선 형태로만 되고 지수이평선이나 가중이평선은 되지를 않습니다. Var : Sma1(0), Sma2(0); Sma1 = (C[4]+C[3]+C[2]+C[1]+O)/5; Sma2 = (C[19]+C[18]+C[17]+C[16]+C[15]+C[14]+C[13]+C[12]+C[11]+C[10]+C[9]+C[8]+C[7]+C[6]+C[5]+C[4]+C[3]+C[2]+C[1]+O)/20; Plot1(Sma1, "5"); Plot2(Sma2, "20"); 이런 무식한 방법 말고 지수이평이나 가중이평도 현재 봉만 시가를 적용하여 나타내는 수식을 가르쳐 주시면 감사하겠습니다.
프로필 이미지
차트연구
2020-05-28
2504
글번호 139325
지표
답변완료

문의드립니다.

안녕하세요? 한 계좌내에 여러전략을 동시운영시 궁금증 질문드립니다. 가정 1.코스피200선물 2.계좌는 1개 3.전략은 a,b적용 4.매수/매도진입 1계약씩 만약 장시작 후, a라는 전략에서 매수싸인이 나와서 1계약 매수진입. 그런데 조금지나고 b라는 전략에서 매도싸인이 나온다고 가정했을때, 1. a에서 진입한 매수1계약이 매도되고 알짜 포지션이 0 2. a에서 진입한 매수1계약 포지션 청산후 매도1진입, 즉 알짜포지션은 매도1계약 3. a에서 매수한 계약은 유지되고, 매도1 새롭게 진입 (이건 불가능할거같습니다..) 위 3가지 케이스 중에 어떤것이 맞나요? 위에서 1,2가 맞다면 한계좌에 여러 시스템을 적용한다면 각 시스템은 독립적으로 운용되더라도 다른 시스템의 포지션에 영향을 주는 구조인가요? 감사합니다.
프로필 이미지
dragongo
2020-05-28
2346
글번호 139308
시스템
답변완료

문의 드립니다.

시가 위에 주가가 있고 MACD 12 26 9가 0선을 아래에서 위로 골든크로스 신호 발생시 매수 진입 청산은 MACD 12 26 9가 0선을 위에서 아래로 데드크로스 신호 발생시 매도 청산완료 시가 아래에 주가가 있고 MACD 12 26 9가 0선을 위에서 아래로 데드크로스 신호 발생시 매도 진입 청산은 MACD 12 26 9가 0선을 아래에서 위로 골드크로스 신호 발생시 매수 청산완료 부탁드립니다
프로필 이미지
선물대장
2020-05-28
2252
글번호 139307
시스템
답변완료

부탁드립니다

수고하십니다 *아래 키움 화살표 신호수식을 예스수식으로 부탁드립니다 M=MACD(기간1,기간2); Ms=eavg(M,기간3); 조건=M>M(1)&&M(1)<M(2)&&M<Ms; Mv=Valuewhen(1,조건,L(1)); 비교= M<Ms&&M(1)<Ms(1)&& M(2)<Ms(2)&& M(3)<Ms(3)&& M(4)<Ms(4)&& M(5)<Ms(5)&& M(6)<Ms(6)&& M(7)<Ms(7)&& M(8)<Ms(8)&& M(9)<Ms(9); CrossDOWN(C,Mv)&&비교
프로필 이미지
파생돌이
2020-05-28
2296
글번호 139303
지표