커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

종가매매 수식 수정 부탁드립니다.

1번 수식 매수포지션의 경우 두번째 진입부터는 평단가보다 낮은 음봉종가에 매수진입 2번 수식 매도포지션의 경우 두번째 진입부터는 평단가보다 높은 양봉종가에 매도진입 으로 수정 부탁드립니다. - 아 래 - 1. input : V1(100),X1(100); if stime == 151000 then { if C < O and MaxEntries < 10 Then buy("b",OnClose,def,V1); if MarketPosition == 1 and C > O and C >= AvgEntryPrice*1.03 Then ExitLong("bx",OnClose,def,"",X1,2); } 2 input : V1(100),X1(100); if stime == 151000 then { if C > O Then sell("s",OnClose,def,V1); if MarketPosition == -1 and C < O and C <= AvgEntryPrice*0.97 Then ExitShort("sx",OnClose,def,"",X1,2); }
프로필 이미지
승부사1
2018-08-31
150
글번호 121767
시스템
답변완료

59172대한 추가 질문입니다

수식 정말 고맙습니다 공부가 많이 되고 있습니다 궁금한건 장대 봉이 발생하여 3계약이 전부 청산되었는데 다시 장대 봉 발생한(청산이 이루어진 캔들에서) 곳에서 바로 매수주문이 다시 들어갔는데 전부 청산된 뒤에는 다음 봉에서 조건이 이루어졌을때만 진입이 되게 하려면 어떻게 해야될까요? 물론 청산이 이루어진 봉 다음 봉에 조건이 안맞으면 진입이 안되야되겠죠~ 수식 부탁합니다. 미리 감사드려요 안녕하세요 예스스탁입니다. Var : p1(20),p2(150); Var : sto1(20),sto2(5),sto3(5); var : ma1(0),ma2(0),stok(0),stod(0); ma1 = ma(C,P1); ma2 = ma(C,P2); stok = StochasticsK(sto1,sto2); stod = StochasticsD(sto1,sto2,sto3); condition1 = ma1 > ma2 and stok > stod; condition2 = ma1 < ma2 and stok < stod; if stime >= 100000 or stime <050000 then { if condition1 == true and condition1[1] == false then { if MarketPosition == 0 or (MarketPosition == -1 and (C > dayopen or C >= EntryPrice+PriceScale*20)) then buy("매수",OnClose,def,3); } if condition2 == true and condition2[1] == false then { if MarketPosition == 0 or (MarketPosition == 1 and (C < dayopen or C <= EntryPrice-PriceScale*20)) then sell("매도",OnClose,def,3); } } if MarketPosition == 1 then { ExitLong("bp1",atlimit,EntryPrice+PriceScale*20,"",1,1); ExitLong("bp2",atlimit,EntryPrice+PriceScale*40,"",1,1); ExitLong("bp3",atlimit,EntryPrice+PriceScale*60,"",1,1); if CurrentContracts == MaxContracts Then ExitLong("bl1",AtStop,EntryPrice-PriceScale*20); else ExitLong("bl2",AtStop,EntryPrice+PriceScale*5); } if MarketPosition == -1 then { ExitShort("sp1",atlimit,EntryPrice-PriceScale*20,"",1,1); ExitShort("sp2",atlimit,EntryPrice-PriceScale*40,"",1,1); ExitShort("sp3",atlimit,EntryPrice-PriceScale*60,"",1,1); if CurrentContracts == MaxContracts Then ExitShort("sl1",AtStop,EntryPrice+PriceScale*20); else ExitShort("sl2",AtStop,EntryPrice-PriceScale*5); } if stime == 050000 then { exitlong(); exitshort(); } 즐거운 하루되세요 > 초짜79 님이 쓴 글입니다. > 제목 : 59140 질문 다시 부탁합니다! > 대입을 해도 잘 안되서 다시 문의 합니다 현재 쓰고 있는 수식입니다 여기에 아래내용을 같이 적용을 시키려면 어떻게 해야될까요? 예를들어 아래수식대로 시가위에서 매수진입신호(condition1)가 나온 뒤에 매도진입신호(condition2)가 나오는 조건이 되어도 진입가격보다 가격이 낮지 않거나 시가보다 가격이 작지 않을경우는 매도 신호는 안나왔으면 좋겠구요 매도신호가 나오려면 시가보다 가격이 작아졌졌거나 진입가격보다 20틱아래있을때 매도조건(cindition2)이 충족되면 매도 신호(손절및 매도진입)가 나왔으면 좋겠습니다 (*진입한 계약이 없을경우에는 시가 밑에서도 매수신호가 나오고 시가 위에서도 매도신호가 나오도록 해주세요) 진입할때 3계약진입하고 20틱에서 1계약청산 40틱에서 1계약청산 60틱에서 1계약청산하고 1계약도 청산이 안됐을때 진입가격에서 20틱이하로 내려가면 손절하고 1계약이라도 청산된 뒤 남은은계약이 있을때는 진입가격보다 5틱위에서 전부청산되는 수식부탁합니다. 그리고 추가해서 20일선이 150일선을 상향크로스하고 스토캐스틱이 기준선 20을 상향돌파하거나 기준선 80을 상향돌파할때 "매수" 그 반대일땐 "매도" 아래수식에 대입해서 부탁합니다 Var : p1(20),p2(150); Var : sto1(20),sto2(5),sto3(5); condition1 = ma1 > ma2 and stok > stod condition2 = ma1 < ma2 and stok < stod if stime >= 100000 or stime <050000 then{ if condition1 == true and condition1[1] == false then buy("매수"); if condition2 == true and condition2[1] == false then sell("매도"); } if stime == 050000 then{ exitlong(); exitshort(); }
프로필 이미지
초짜79
2018-08-30
145
글번호 121766
시스템
답변완료

문의 드립니다

if stime == 055500 then Buy("b",AtMarket); // 위 식은 5분봉에서 시가진입입니다. 그런데. 아래 당일청산 로직을 적용하니 전략이 동작하지 않습니다 해외선물이구요. 오늘아침 시가에 매수하여. 한국시간 다음날 새벽 055500에 청산할수 있도록 수정 부탁드립니다. SetStopEndofday(055600);
프로필 이미지
하늘북
2018-08-30
143
글번호 121764
시스템

하늘북 님에 의해서 삭제되었습니다.

프로필 이미지
하늘북
2018-08-30
4
글번호 121761
시스템
답변완료

고점연결 저점연결 추세선부탁드려요

찾아서 하려고 했는데 잘 안되네요! 고점연결 저점연결 추세선부탁드려요 고점은 직전 첫번째와 2번째연결 직전 첫번째와 3번째연결(이때 직전 2번째 고점이 걸리면 안됨) 저점은 직전 첫번째와 2번째연결 직전 첫번째와 3번째연결(이때 직전 2번째 저점이 걸리면 안됨) 을 부탁드리겠읍니다.
프로필 이미지
이지화
2018-08-30
258
글번호 121760
지표
답변완료

수정 부탁드립니다

작성해 주신건데요 "글자가 왼쪽에 표시" 되도록 수정 부탁드려요 TL_Delete(var1); TL_Delete(var2); TL_Delete(var3); TL_Delete(var4); TL_Delete(var5); TL_Delete(var6); TL_Delete(var7); TL_Delete(var8); var1 = TL_New(sdate[1],stime[1],Dayopen(1),sdate,stime,DayOpen(1)); var2 = TL_New(sdate[1],stime[1],DayHigh(1),sdate,stime,DayHigh(1)); var3 = TL_New(sdate[1],stime[1],Daylow(1),sdate,stime,DayLow(1)); var4 = TL_New(sdate[1],stime[1],DayClose(1),sdate,stime,DayClose(1)); var5 = TL_New(sdate[1],stime[1],Dayopen(0),sdate,stime,DayOpen(0)); var6 = TL_New(sdate[1],stime[1],DayHigh(0),sdate,stime,DayHigh(0)); var7 = TL_New(sdate[1],stime[1],Daylow(0),sdate,stime,DayLow(0)); var8 = TL_New(sdate[1],stime[1],(DayHigh(0)+DayLow(0))/2,sdate,stime,(DayHigh(0)+DayLow(0))/2); TL_SetExtLeft(var1,true); TL_SetExtLeft(var2,true); TL_SetExtLeft(var3,true); TL_SetExtLeft(var4,true); TL_SetExtLeft(var5,true); TL_SetExtLeft(var6,true); TL_SetExtLeft(var7,true); TL_SetExtLeft(var8,true); TL_SetExtRight(var1,true); TL_SetExtRight(var2,true); TL_SetExtRight(var3,true); TL_SetExtRight(var4,true); TL_SetExtRight(var5,true); TL_SetExtRight(var6,true); TL_SetExtRight(var7,true); TL_SetExtRight(var8,true); Text_Delete(value1); Text_Delete(value2); Text_Delete(value3); Text_Delete(value4); Text_Delete(value5); Text_Delete(value6); Text_Delete(value7); Text_Delete(value8); value1 = Text_New(sdate,stime,dayopen(1),"전일시가 : "+ NumToStr(dayopen(1),2)); value2 = Text_New(sdate,stime,DayHigh(1),"전일고가 : "+ NumToStr(DayHigh(1),2)); value3 = Text_New(sdate,stime,DayLow(1),"전일저가 : "+ NumToStr(DayLow(1),2)); value4 = Text_New(sdate,stime,DayClose(1),"전일종가 : "+ NumToStr(DayClose(1),2)); value5 = Text_New(sdate,stime,dayopen(0),"당일시가 : "+ NumToStr(dayopen(0),2)); value6 = Text_New(sdate,stime,DayHigh(0),"당일고가 : "+ NumToStr(DayHigh(0),2)); value7 = Text_New(sdate,stime,DayLow(0),"당일저가 : "+ NumToStr(DayLow(0),2)); value8 = Text_New(sdate,stime,(DayHigh(0)+DayLow(0))/2,"당일중심 : "+ NumToStr((DayHigh(0)+DayLow(0))/2,2));
프로필 이미지
정상에서야
2018-08-30
151
글번호 121759
지표
답변완료

문의드립니다

피라미딩 시스템 문의드립니다 감사합니다 매수진입 손절 목표청산이 없었고 양봉이면 ㄱ 개씩 진입 (최대 포지션 갯수 ㅂ개) 매수청산 매수포지션이 있고 음봉이면 ㄴ개씩 청산 매도진입 손절 목표청산이 없었고 음봉이면 ㄷ 개씩 진입 (최대 포지션 갯수 ㅂ개) 매도청산 매도포지션이 있고 양봉이면 ㄹ개씩 청산 목표청산 ㅁ 포인트 수익나면 강제청산 손절 ㅁ 포인트 손실나면 강제청산
프로필 이미지
회원
2018-08-30
163
글번호 121751
시스템
답변완료

5분봉챠트에 30분봉20이평선 넣기작업

1.5분봉챠트상에 30분봉의 20일 이평선을 넣을러구 합니다 2.수식을 부탁드립니다 3.키움증권 챠트상에 ---수식관리자로 들어가서-->새로만들기를 해서 --->지표겹치기로 챠트에 설정할려구 합니다
프로필 이미지
정밀타격수
2018-08-30
196
글번호 121748
지표
답변완료

수식 변환

안녕하세요. 하기 수식을 예스랭귀지에 맞게 변환하고자 합니다. 지표에서는 shift 대신에 차트 표시 탭의 수평에서 처리해주면 되는데 시스템에서는 달리 해야 할 거 같아 문의드립니다. A = ma(C, 5); B = shift(A, 5); CrossUp(A, B)
프로필 이미지
gap
2018-08-30
159
글번호 121746
시스템