커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

심홍 님에 의해서 삭제되었습니다.

프로필 이미지
심홍
2014-10-23
0
글번호 79674
지표
답변완료

질문드립니다.

다음 문장을 코딩해 주셔요. "수익이 난 청산 후에는 신규 매수 금지"
프로필 이미지
미카엘
2014-10-22
154
글번호 79673
시스템
답변완료

문의

1.올려주신 식이 제대로 작동하지 않는것 같습니다. 점검한번 부탁드리고 주석을 달아주시면 제가 참고하겠습니다. 2.그리고 현재 신호의 상태가 10틱 이상 수익이고 5이평과 20이평이 반대가 되었을때 반대포지션진입될 수 있게 부탁드립니다. 즉 매수로 10틱 이상 수익 중 5이평 < 20이평 이면 매도 ================================== 안녕하세요 예스스탁입니다. if PositionProfit(1) <= 0 and PositionProfit(2) <= 0 and EntryDate(2) > 0 Then //EntryDate가 왜 필요한가요?? Condition3 = True; Else Condition3 = False; if 매수조건 Then{ if MarketPosition == 0 and Condition1 == false then //제 시스템은 항상 포지션이 있으므로 필요없는 라인..... buy(); if MarketPosition == 0 and Condition1 == true and (c >= ExitPrice(1)+PriceScale*3 or C <= ExitPrice(1)-PriceScale*3) then buy(); if MarketPosition == -1 and !(C >= EntryPrice and PositionProfit(1) <= 0 and EntryDate(1) > 0) then // 111 Sell(); // <== Buy(); 가 맞는거죠? if MarketPosition == -1 and C >= EntryPrice and PositionProfit(1) <= 0 and EntryDate(1) > 0 then // 222 111과 222의 차이점을 알려주세요 ExitShort(); //저는 청산이 없고 항상 포지션을 가지고 있어야합니다. 그럼 여기도 Buy(); 인거죠? } if 매도조건 Then{ if MarketPosition >= 0 and Condition1 == false then Sell(); if MarketPosition == 0 and Condition1 == true and (c >= ExitPrice(1)+PriceScale*3 or C <= ExitPrice(1)-PriceScale*3) then sell(); if MarketPosition == 1 and !(C <= EntryPrice and PositionProfit(1) <= 0 and EntryDate(1) > 0) then Sell(); if MarketPosition == 1 and C <= EntryPrice and PositionProfit(1) <= 0 and EntryDate(1) > 0 then ExitLong(); } 즐거운 하루되세요 > hjkang철인 님이 쓴 글입니다. > 제목 : 문의 > 앞전 매매 손실이 2회발생 시 손실로 마감된 가격을 저장하고.. 다음 신호의 가격이 손실로 마감된 가격의 +3틱 -3틱 이내의 가격에서는 진입되지 않도록 수식수정 부탁드립니다. (저는 매수, 매도, 매수, 매도.. 항상 포지션을 유지하고 있습니다.) if OpenPositionProfit<=0 Then //현재 진행 중인 거래가 손실이면 var8=c; //손실 마감 가격 저장 //기존 거래 손실이 2회 이면... if PositionProfit(1) <= 0 and PositionProfit(2) <= 0 Then Condition3 = True; Else Condition3 = False; if Condition3==True and MarketPosition==1 Then if abs(var8) >= abs(var8[1])+PriceScale*3 then Sell("S"); if Condition3==True and MarketPosition==-1 Then if abs(var8) >= abs(var8[1])+PriceScale*3 Then Buy("B");
프로필 이미지
hjkang철인
2014-10-23
219
글번호 79672
시스템

미수예스 님에 의해서 삭제되었습니다.

프로필 이미지
미수예스
2014-10-22
0
글번호 79671
시스템
답변완료

보유종목의 일부만 이익청산

안녕하십니까. 조금 수정하고 싶은 내용이 있습니다. 아래식은 목표이익 도달시 모두청산한후 다시 들어가도록 되어있습니다. 바꾸고 싶은 내용은, 목표이익 도달시 투자금액만큼의 수량을 남기고 청산하는 것입니다. 즉 목표익이 도달한 순간 최초금액(1000000)을 남기고 청산하고 이때의 가격이 최초진입된것으로 재설정되어 이후 재진입이 다시 시작되게 하는 것입니다. 손절금액에 도달시도 마찬가지로 최초금액(1000000)의 수량을 남기고 청산하고 이때의 가격이 최초진입된것으로 재설정되어 이후 재진입이 다시 시작되게 합니다. 요약하면, 시스템이 적용되면 최초진입후 항상 최초금액이상으로 진입되어있는 상태입니다. 감사합니다. ======================================================================= 1.고정금액 input : RateUp(0.5),RateDn(1.5),투자금액(1000000),Per(2.5),첫진입시각(90000),Profit(5),Loss(30); var : Vol1(0),vol2(0),vol3(0),Upval(0),Dnval(0); if CodeCategoryEx == 11 and BasePrice < 50000 Then{//주식 vol1 = int(int((투자금액)/C)/10)*10; vol2 = int(int((투자금액*RateUp)/C)/10)*10; vol3 = int(int((투자금액*RateDn)/C)/10)*10; } Else{ vol1 = int((투자금액)/C);//ETF vol2 = int((투자금액*RateUp)/C); vol3 = int((투자금액*RateDn)/C); } if MarketPosition == 0 and stime == 첫진입시각 Then{ buy("b",OnClose,def,vol1); UpVal = c; DnVal = c; } if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "UpB" Then{ UpVal = LatestEntryPrice(0); } if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "DnB" Then{ DnVal = LatestEntryPrice(0); } buy("UpB",AtStop,UpVal*(1+(Per)/100),Vol2); buy("DnB",atlimit,DnVal*(1-(Per)/100),Vol3); ExitLong("BP",atlimit,AvgEntryPrice*(1+Profit/100)); ExitLong("BL",atlimit,AvgEntryPrice*(1+Loss/100)); } 2. 누적금액 input : 투자금액(2000000),Mult(0.5),Per(2.5),첫진입시각(90000),Profit(6),Loss(30); var : Mny1(0),Mny2(0),Mny3(0),Vol1(0),Vol2(0),Vol3(0),Upval(0),Dnval(0),UPcnt(0),Dncnt(0); if MarketPosition == 0 and stime == 첫진입시각 Then{ Mny3 = 투자금액+투자금액*Mult; if CodeCategoryEx == 11 and BasePrice < 50000 Then{ vol1 = int(int((투자금액)/C)/10)*10; vol2 = int(int((투자금액-투자금액*Mult)/C)/10)*10; vol3 = int(int((Mny3)/C)/10)*10; } Else{ vol1 = int((투자금액)/C); vol2 = int((투자금액-투자금액*Mult)/C); vol3 = int((Mny3)/C); } UpVal = c; DnVal = c; buy("b",OnClose,def,vol1); } if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "UpB" Then{ UpVal = LatestEntryPrice(0); UPCnt = upcnt+1; if CodeCategoryEx == 11 and BasePrice < 50000 Then{ vol2 = int(int((투자금액-투자금액*Mult)/C)/10)*10; } Else{ vol2 = int((투자금액-투자금액*Mult)/C); } } if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "DnB" Then{ DnVal = LatestEntryPrice(0); DnCnt = Dncnt+1; Mny3 = Mny3+투자금액*Mult; if CodeCategoryEx == 11 and BasePrice < 50000 Then{ vol3 = int(int((Mny3)/C)/10)*10; } Else{ vol3 = int((Mny3)/C); } } buy("UpB",AtStop,UpVal*(1+(Per)/100),Vol2); buy("DnB",atlimit,DnVal*(1-(Per)/100),Vol3); ExitLong("BP",atlimit,AvgEntryPrice*(1+Profit/100)); ExitLong("BL",atlimit,AvgEntryPrice*(1+Loss/100)); } if MarketPosition != 0 Then{ Upcnt = 0; Dncnt = 0; }
프로필 이미지
미수예스
2014-10-22
226
글번호 79670
시스템
답변완료

안녕하세요 지표식 문의 드립니다

안녕하세요 일목균형표의 지표식 문의 드립니다 예를 들면 전환선,기준선,후행스팬,(선행스팬1,선행스팬2) 의 5개항 중에서 , 2개항(선행스팬1,선행스팬2)을 아래의 <<< 선행스팬1 = (전환선+기준선)/2 선행스팬2 = (highest(c,52)+lowest(c,52))/2 >>> 공식을 사용하지 않고 2개항을 독립변수로 (선행스팬1(30),선행스팬2(60)),를 구현(표현)하는 지표식을 부탁드립니다 (((선행스팬1,선행스팬2 는 변수로,))) 다시 말씀드리면 5개항모두 변수로 된 지표식을 부탁드립니다 감사합니다 수고하세요
프로필 이미지
금보
2014-10-22
186
글번호 79669
지표
답변완료

이거 어떤뜻이죠?

If Crossup(value1,value3) Then { If C==C[1] Then Value2 = 0.001; Else Value2 = (C-C[1])/C[1]*100; } Else value2 = 0; Find(value2); 검색식 찾을때 그냥 만들어져잇는부분 뜯어와서 붙인건데 if 수식 다음부터 무슨뜻인지 설명좀 부탁드릴게요.
프로필 이미지
고망고망
2014-10-22
182
글번호 79668
검색
답변완료

안녕하세요***

안녕하세요.미안합니다 obv Oscillator (지수이동평균사용)지표식을 부탁합니다 감사합니다
프로필 이미지
회원
2016-12-24
188
글번호 79667
지표
답변완료

문의드립니다.

아래의 지표를 Data2에 적용가능하도록 부탁드립니다. 항상 감사드립니다. input : Ntime(120),P(20),Dv(2);#120분봉 var : cnt(0),count(0),sum(0),mav(0),MiBBup(0),MiBBdn(0),Avgv(0); var : SumSqrt(0),Counter(0),Stdv(0),TF(0); Array : CC[120](0); if date != date[1] Then var1 = TimeToMinutes(stime); TF = (TimeToMinutes(stime)-var1)%Ntime; if dayindex() == 0 or (TF < TF[1] and stime > stime[1]) Then{ for cnt = 1 to P-1{ CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; sum = 0; for count = 0 to P-1{ sum = sum+CC[count]; } mav = sum/P; If CC[P-1] != 0 Then{ Avgv = mav; SumSqrt = 0; For Counter = 0 To P - 1 { SumSqrt = SumSqrt + (CC[Counter] - Avgv) * (CC[Counter] - Avgv); } Stdv = SquareRoot(SumSqrt / P); } Else Stdv = 0; MiBBup = mav + (Dv * Stdv); MiBBdn = mav - (Dv * Stdv); plot1(MiBBup); plot2(mav); plot3(MiBBdn);
프로필 이미지
예스매니아
2014-10-22
173
글번호 79666
지표