커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 가능하면 부탁드립니다.

1분봉차트에 일봉의 5,20,60 일 이동평균선 1분봉차트에 일봉의 (2,20) 볼밴 메뉴얼 예제 보고 만들어봤는데, 아래 두개로 분리되서 보이게 말고, 제일 위의 차트에 겹쳐지게 가능한지 궁금합니다.
프로필 이미지
캣피쉬
2021-03-04
1064
글번호 146761
지표
답변완료

질문드립니다

var : Tcond(false); if (sdate != sdate[1] and stime >= 101500) or (sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) Then Tcond = true; if (sdate != sdate[1] and stime >= 170000) or (sdate == sdate[1] and stime >= 170000 and stime[1] < 170000) Then{ Tcond = false; if MarketPosition == 1 Then ExitLong(); if MarketPosition == -1 Then ExitShort(); } 안녕하세요 위에 식을 사용하는중입니다 그런데 17시 이후는 신호가 나오고 있습니다 나오지 않게 부탁합니다 또 첫신호는 10시15분 이후에 나오게 부탁합니다
프로필 이미지
kjdkdh
2021-03-03
1040
글번호 146760
시스템
답변완료

수식 좀 가르쳐 주세요ㅠㅠ

60일 신고가 이면서 후행스팬이 볼린저 밴드(20.2) 상단 돌파 수식이 알고 싶습니다!!! 부탁 드려요~~~
프로필 이미지
별을쏘다
2021-03-03
937
글번호 146759
검색
답변완료

함수변환 요청

안녕하세요? 아래 전략은 시그널메이커로 작성된 스크립트입니다. NH증권에서 사용할 수 있도록 함수 변환 요청드립니다. 감사합니다. ---------------------------------------------------------------------------------------- //매수: 당일의 시가가 상승 출발하면 (1분봉 완성 후 2분봉 시가 진입) If DayClose(1) < DayOpen(0) Then Buy("B", AtMarket); //매도: 당일의 시가가 하락 출발하면 (1분봉 완성 후 2분봉 시가 진입) If DayClose(1) > DayOpen(0) Then Sell("S", AtMarket); //목표치 청산: 전일의 시가와 당일의 시가를 차이만큼 수익실현 (장중 목표치값이 완성되고 익봉 시가 청산) var : oPrice(0), cnt(0); cnt = DayOpen(0) - DayClose(1); oPrice = Abs(cnt); SetStopProfitTarget(oPrice, PointStop); //시간청산: 당일 종가 청산 SetStopEndOfday(153000);
프로필 이미지
흰둥이아빠
2021-03-03
1054
글번호 146756
시스템
답변완료

문의드립니다.

주식 거래 시 특정 조건 만족 시 미리 매수/매도를 걸어놓는 형태로 매매를 하려고 하는데 수식 부탁드려 봅니다. 감사합니다. 예) 1분봉 거래 시 시가에서 가격이 하락하다가 9시 30분에 5500원까지 하락할 때, 5000원 및 4500원에 분할로 미리 매수를 걸어 놓는 방법. (조건 만족 시점에는 매수 가격에 도달하지 않고 미래 시점(10시에 5000원, 10시 30분에 4500원 등) 도달한다고 가정)
프로필 이미지
깜피
2021-03-03
885
글번호 146749
시스템
답변완료

alert 정수형 출력

alert("%.2f ",C); C=102.24 일때 102로 출력되게 하려면 어떻게 하면 되나요 ? 수고하세요
프로필 이미지
thrupass
2021-03-03
772
글번호 146746
지표
답변완료

수정부탁드립니다

안녕하세요. 아래식에서 파동의시작을 국내선물 장시작시간부터 계산되고 종료후에는 초기화되어 익일장은 또 새롭게 계산되는식으로 수정하면 좋겠습니다, 도움 부탁드립니다. input : af(0.02), maxAF(0.2),크기(0); input : 텍스트출력(1); var : T(0),HH(0),LL(0),HD(0),HT(0),LD(0),LT(0),TL1(0),TL2(0),cnt(0),count(0); var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0),DarkGray(0); var : ni(0),nP(0),nN(0),tx1(0),tx2(0),hi(0),li(0); var1 = CSar(af,maxAF); if crossup(c,var1) Then { T = 1; HH = H; HD = sdate; HT = stime; Hi = Index; HH1 = HH[1]; HD1 = HD[1]; HT1 = HT[1]; if LL > 0 Then { ni = Hi-Li+1; nP = CountIf(C>O,ni); nN = CountIf(C<O,ni); if 텍스트출력 == 1 then { Tx1 = Text_New(HD,HT,HH,NumToStr(ni,0)+"("+NumToStr(nP,0)+","+NumToStr(nN,0)+")"); Text_SetStyle(tx1,2,1); Text_SetColor(tx1,MAGENTA); Text_SetSize(tx1,크기); } } } if CrossDown(c,var1) Then { T = -1; LL = L; LD = sdate; LT = stime; Li = Index; LL1 = LL[1]; LD1 = LD[1]; LT1 = LT[1]; if HH > 0 Then { ni = Li-Hi+1; nP = CountIf(C>O,ni); nN = CountIf(C<O,ni); if 텍스트출력 == 1 then { Tx2 = Text_New(LD,LT,LL,NumToStr(ni,0)+"("+NumToStr(nP,0)+","+NumToStr(nN,0)+")"); Text_SetStyle(tx2,2,0); Text_SetColor(tx2,BLUE); Text_SetSize(tx2,크기); } } } if T == 1 then { if H > HH Then { HH = H; HD = sdate; HT = stime; HI = Index; ni = Hi-Li+1; nP = CountIf(C>O,ni); nN = CountIf(C<O,ni); if 텍스트출력 == 1 then { Text_Delete(tx1); Tx1 = Text_New(HD,HT,HH,NumToStr(ni,0)+"("+NumToStr(nP,0)+","+NumToStr(nN,0)+")"); Text_SetStyle(tx1,2,1); Text_SetColor(tx1,MAGENTA); Text_SetSize(tx1,크기); } } } if T == -1 then { if L < LL Then { LL = L; LD = sdate; LT = stime; Li = Index; ni = Li-Hi+1; nP = CountIf(C>O,ni); nN = CountIf(C<O,ni); if 텍스트출력 == 1 then { Text_Delete(tx2); Tx2 = Text_New(LD,LT,LL,NumToStr(ni,0)+"("+NumToStr(nP,0)+","+NumToStr(nN,0)+")"); Text_SetStyle(tx2,2,0); Text_SetColor(tx2,BLUE); Text_SetSize(tx2,크기); } } }
프로필 이미지
크라켄
2021-03-03
803
글번호 146744
지표
답변완료

문의

리버스거래 수식이며 피라미딩은 max 3개입니다. 문의1) b1-b2-b3-s1-s2-s3-b1-b2-b3...이런 패턴을 예상했으나 이러한 패턴을 포함하여 b1-b2-b3-s2-s3-s3-b3-b1-b2...처럼 뒤집을 때 s1보다 s2가 먼저 진입하며 피라미딩도 s2-s3-s3 처럼 s3가 중복되는 진입도 있으며 피라미딩 순서도 b3-b1-b2 처럼 순차적이 아닌 경우도 있습니다. 요청내용 첫째, 포지션을 뒤집을 때는 b1이나 s1부터 시작되고 둘째, s2-s3-s3 에서 s3 가 두번 들어가는데 동일 진입명은 피라미딩에서 제외하고 셋째, b1-b2-b3나 s1-s2-s3 처럼 순차적으로 피라미딩이 되게 수식을 수정하여 주십시요. ************************************************************************************ input:이평1(35),이평2(105),이평3(75),이평4(95); input:이평5(15),이평6(10),이평7(70),이평8(10); input:이평9(5),이평10(10),이평11(55),이평12(30); var : v1(0,data2),v2(0,data2); var : v3(0,data3),v4(0,data3); var : v5(0,data2),v6(0,data2); var : v7(0,data3),v8(0,data3); var : v9(0,data2),v10(0,data2); var : v11(0,data3),v12(0,data3); v1 = data2(ma(C,이평1)); v2 = data2(ma(C,이평2)); v3 = data3(ma(C,이평3)); v4 = data3(ma(C,이평4)); v5 = data2(ma(C,이평5)); v6 = data2(ma(C,이평6)); v7 = data3(ma(C,이평7)); v8 = data3(ma(C,이평8)); v9 = data2(ma(C,이평9)); v10 = data2(ma(C,이평10)); v11 = data3(ma(C,이평11)); v12 = data3(ma(C,이평12)); if MarketPosition <= 0 and CrossUp(v1,v2) or CrossUp(v3,v4) Then BuY("b1"); if MarketPosition == 1 and MaxEntries == 1 and CrossUp(v5,v6) or CrossUp(v7,v8) Then BuY("b2"); if MarketPosition == 1 and MaxEntries == 2 and CrossUp(v9,v10) or CrossUp(v11,v12) Then buy("b3"); if MarketPosition >= 0 and CrossDown(v1,v2) or CrossDown(v3,v4) Then Sell("s1"); if MarketPosition == -1 and MaxEntries == 1 and CrossDown(v5,v6) or CrossDown(v7,v8) Then Sell("s2"); if MarketPosition == -1 and MaxEntries == 2 and CrossDown(v9,v10) or CrossDown(v11,v12) Then Sell("s3");
프로필 이미지
목마와숙녀
2021-03-03
792
글번호 146743
시스템
답변완료

청산식 설명좀 부탁합니다

안녕하세요 아래는 제가 쓰는 매수청산식중에 하나인데요 얼마전에 "익일 3시15분이후까지 청산이 안되면 그이후 강제청산"식을 추가해 달라고했더니 if sDate > EntryDate and sTime >= 151500 Then ExitLong("bx"); 이렇게 넣어주셨더라고요 혹시 식 설명좀 부탁드려도될까요? 왜 저식이 매수당일이 아닌 익일 3시 15분까지 청산이 안되면 강제청산이 되는 식인지요 if MarketPosition == 0 and 진입조건 Then { Buy("A1.3"); #진입과 동시에 셋팅되서 진입봉 다음봉만 익절/손절감시해 신호 발생 ExitLong("A1.3.11",AtLimit,C*1.16,"A1.3"); ExitLong("A1.3.31",AtStop,C*0.99,"A1.3"); } if MarketPosition == 1 Then { #A1.3진입 if CurrentContrActs > CurrentContrActs[1] And LAtestEntryNAme(0) == "A1.3" Then { A1.3Price = LAtestEntryPrice(0); A1.3high = H; } if A1.3high > 0 And H > A1.3high Then A1.3high = H; if A1.3Price > 0 Then { ExitLong("A1.3.1",AtLimit,A1.3Price*1.16,"A1.3"); if A1.3high >= A1.3Price*1.01 Then ExitLong("A1.3.2",AtStop,A1.3high*0.93,"A1.3"); ExitLong("A1.3.3",AtStop,A1.3Price*0.99,"A1.3"); } if sDate > EntryDate and sTime >= 151500 Then ExitLong("bx"); }
프로필 이미지
말라
2021-03-03
736
글번호 146742
시스템