커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문위드립니다

1,,당일시가를 선으로 표시 2,, 당일시가 기준으로 +100틱을 선으로 표시 3,,당일시가 기준으로 -100틱을 선으로 표시 부탁드립니다
프로필 이미지
이공주7
2021-01-04
551
글번호 145098
지표
답변완료

지그재그 번호설정

안녕하세요 관리자님 우선 감사의 말씀 드립니다. 아래 지그재그 식에 제가 원하는 지그재그 hi나 lo를 1번으로 지정해서 표시 되면서 시스템에서도 몇번에서는 매수 몇번에서는 매도 주문이 들어 가게 만들고 싶은데요 가능 한지 가능하면 어떻게 해야 되는지 부탁 드립니다. 감사 합니다. Input:chngRate(0.1); Var:j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); For j = 0 To 9 { barArr[j] = barArr[j] + 1; } Condition1 = Min(valArr[1],valArr[2]) * (1 + (chngRate/100)) < H and lastHiVal < H; Condition2 = Max(valArr[1],valArr[2]) * (1 - (chngRate/100)) > L and (lastLoVal > L || lastLoVal == 0); If Condition1 Then { lastHiVal = H; lastLoVal = 0; } If Condition2 Then { lastLoVal = L; lastHiVal = 0; } turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; If turnPntBit <> "" Then { If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H,L); barArr[1] = 0; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } If turnPntBit <> turnPntArr[1] Then { for j = 8 downto 1 { valArr[j+1] = valArr[j]; barArr[j+1] = barArr[j]; turnPntArr[j+1] = turnPntArr[j]; } } If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H) or (turnPntBit == "Lo" and valArr[1] > L))) Then { valArr[1] = IFF(turnPntBit == "Hi",H,L); barArr[1] = 0; turnPntArr[1] = turnPntBit; If turnPntArr[1][1] <> turnPntArr[1][0] Then { TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]); if turnPntArr[1][0]=="Hi" Then{ buy(); } if turnPntArr[1][0] =="Lo" Then{ sell(); } } Else TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); } } TL_SetSize(TL1,1); if turnPntArr[1][0] == "Hi" Then TL_SetColor(TL1,RED); Else TL_SetColor(TL1,BLUE);
프로필 이미지
blueo
2021-01-04
700
글번호 145097
지표
답변완료

시스템 수정

안녕하세요 동일한 시스템으로 자주 질문드려 죄송합니다. 수식에 대한 이해도가 떨어지다보니 정확히 어떤부분에 문제가 있어서 제가 의도한 대로 동작하지 않는지 찾아내기가 쉽지 않네요 매수 4,5,6 매수신호 이후에 제가 원하는 위치에서 매수 4,5,6이 나오지 않아서,, 아마 매수 4,5,6 신호 이후에는 더 하락해야 매수가 되도록 설정되어 있는것이 아닌가 싶은데요,,, 그것이 맞다면 변경부탁드릴게요 감사합니다. INPUT : 매수(0), 매도조건(1); var : cond(False),LP(0); var1 = ma(C,3); var2 = ma(C,5); var3 = ma(C,10); var4 = ma(C,60); value1 = 0; if value1 == 0 and C < Var4 and CrossDown(c,var3) and cond == False Then { if MarketPosition == 0 or (MarketPosition == 1 and C < LP and Condition1 == False) Then { value1 = 1; Buy("매수3"); } } if value1 == 0 and C < var4 and CrossDown(c,var2) and cond == False Then { if MarketPosition == 0 or (MarketPosition == 1 and C < LP and Condition1 == False) Then { value1 = 1; Buy("매수2"); } } if value1 == 0 and C < Var4 and CrossDown(c,var1) and cond == False Then { if MarketPosition == 0 or (MarketPosition == 1 and C < LP and Condition1 == False) Then { value1 = 1; Buy("매수1"); } } if MarketPosition == 1 Then { if 매수 == 1 Then Cond = true; if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "매수1" Then { LP = LatestEntryPrice(0); Condition1 = true; } if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "매수2" Then { LP = LatestEntryPrice(0); Condition2 = true; } if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "매수3" Then { LP = LatestEntryPrice(0); Condition3 = true; } if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "매수4" Then { LP = LatestEntryPrice(0); Condition4 = true; } if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "매수5" Then { LP = LatestEntryPrice(0); Condition5 = true; } if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "매수6" Then { LP = LatestEntryPrice(0); Condition6 = true; } if Condition3 == true Then { if Condition4 == False Then Buy("매수4",AtLimit,LP*0.97); if Condition4 == true and Condition5 == False Then Buy("매수5",AtLimit,LP*0.95); if Condition4 == true and Condition5 == true and Condition6 == False Then Buy("매수6",AtLimit,LP*0.90); } if 매도조건 == 1 Then { ExitLong("bx1",AtLimit,AvgEntryPrice*1.05,"",Floor(MaxContracts*0.2),1); ExitLong("bx2",AtLimit,AvgEntryPrice*1.08,"",Floor(MaxContracts*0.5),1); ExitLong("bx3",AtLimit,AvgEntryPrice*1.10); } if 매도조건 == 2 Then { ExitLong("bx",AtLimit,AvgEntryPrice*1.15); } } Else { Condition1 = False; Condition2 = False; Condition3 = False; }
프로필 이미지
쭈니오빠
2021-01-04
743
글번호 145096
시스템
답변완료

문의드립니다.

선물차트 기준으로 문의드립니다. 1. < 티론중간선 25선, 티론중간선 40선, 단순이평 50선, 단순이평 80선 > 사이를 색채우기하고자 합니다. 수식을 어떻게 작성해야 하는지요? (각 지표의 기간값은 수정가능하게 부탁드립니다.? 2. <티론중간선 25선, 티론중간선 40선, 티론중간선 80선, 단순이평 100선, 단순이평 120선> 사이를 색채우기 하고자 합니다. 수식을 부탁드립니다.(각 지표의 기간값은 수정가능하게 부탁드립니다.) 항상 감사드립니다. 수고하세요!!!
프로필 이미지
해암
2021-01-04
724
글번호 145095
지표
답변완료

시스템수식 변환부탁드립니다.

아래 수식을 2가지 조건으로 변환부탁드립니다. 1. 빨강추세선이 아래(black) 검정저항선에 터치한 다음 다음봉 시초가 진입 파랑추세선이 위(magenta) 저항선에 터치한 다음 다음봉 시초가 진입 빨강추세선이 위(magenta) 저항선에 터치할때 청산 파랑추세선이 아래(black) 검정저항선에 터치할때 청산 2. 봉 기준으로 진입은 아래(black)는 매수, 위(magenta)는 매도 터치시 다음봉 시초가 진입 청산은 반대방향으로 위(magenta) 터치시 매도, 아래(black) 터치시 매수로 바로 청산 input : left(15), right(10), Period(100); var : swing_low(0),swing_high(0),Dir(0); swing_low = SwingLow(1, Low, left, right, Left+Right+1); swing_high = SwingHigh(1, High, left, right,Left+Right+1); if (Dir >= 0 and swing_low != -1 ) Then { Dir = -1; var11 = sdate[right]; var12 = STime[right]; var13 = Low[right]; var21 = var11[1]; var22 = var12[1]; var23 = var13[1]; var31 = var21[1]; var32 = var22[1]; var33 = var23[1]; if var23 > 0 Then { TL_SetExtRight(value1,False); Value1 = TL_New(var21,var22,var23,var11,var12,var13);#최근 저점-저점 추세선 TL_SetExtRight(value1,true); TL_SetColor(value1,BLACK); TL_SetSize(value1,2); } if var53 > 0 Then { value5 = TL_New(var51,var52,var53,var11,var12,var13);#고점-저점 추세선 TL_SetColor(value5,BLUE); TL_SetSize(value5,3); } } if (Dir <= 0 and swing_high != -1 ) Then{ Dir = 1; var51 = sdate[right]; var52 = STime[right]; var53 = high[right]; var61 = var51[1]; var62 = var52[1]; var63 = var53[1]; var71 = var61[1]; var72 = var62[1]; var73 = var63[1]; if var63 > 0 Then { TL_SetExtRight(value3,False); value3 = TL_New(var61,var62,var63,var51,var52,var53);#최근 고점-고점 추세선 TL_SetExtRight(value3,true); TL_SetColor(value3,MAGENTA); TL_SetSize(value3,2); } if var53 > 0 Then { value5 = TL_New(var11,var12,var13,var51,var52,var53);#저점-고점 추세선 TL_SetColor(value5,RED); TL_SetSize(value5,3); } } if MarketPosition <= 0 and C > TL_GetValue(value1,sDate,sTime) and C[1] < TL_GetValue(value1,sDate[1],sTime[1]) Then Buy(); if MarketPosition >= 0 and C < TL_GetValue(value3,sDate,sTime) and C[1] > TL_GetValue(value3,sDate[1],sTime[1]) Then Sell();
프로필 이미지
미완
2021-01-04
727
글번호 145094
시스템
답변완료

전략의 결과가 다른데 확인 부탁합니다.

안녕하세요. 아래 첨부파일의 코드에서 data2의 지표를 주석으로 적용할때와 안할때의 결과값이 다릅니다. 아마도 data1(나스닥)과 data2(US_Dollar)의 index값이 달라서 AccumN의 값이 달라져서 그런거 같은데, 로고를 찍어보면 주석처리 하지 않을때, 같은시간의 봉이 2번 찍히면서 이런 현상이 일어납니다. value3과 value4를 주석처리하지 않고 data1의 봉이 생길때마다, 즉 같은시간에 2번찍히지 않게 하는 방법을 알고싶습니다. 미리 감사합니다^^
프로필 이미지
왕왕
2021-01-05
747
글번호 145093
시스템
답변완료

수식전환

다음 수식을 예스로 전환부탁드립니다. <1>M10=TEMA(C,P10); M20=TEMA(C,P20); A1=P10*(P20-5)*TEMA(C,P20-5)-P20*(P10-5)*TEMA(C,P10-5); A1/(P20-P10) P10 10 P20 20 <2> atan(ma(C,Period) - ma(C(1),Period))*180/pie Period 5 pie 3
프로필 이미지
이대표
2021-01-04
556
글번호 145092
지표

러블리 님에 의해서 삭제되었습니다.

프로필 이미지
러블리
2021-01-04
160
글번호 145081
시스템
답변완료

수식문의

당일 음봉이면 오늘 종가청산 if NextBarSdate != sdate and C < dayopen Then ExitLong("Lx2"); 선물종가청산 주문이 안나갑니다. 어떻게 설정해야 하나요?
프로필 이미지
무사시
2021-01-04
537
글번호 145079
시스템