커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

이격도 조건 제대로 작동하지 않는 것 같습니다.

이격도 조건을 추가했는데 수식이 잘못 됐는지 잘 작동하지 않는 것 같습니다. 한번 봐주시면 감사하겠습니다. input : P1(3),P2(5),P3(10),P4(20); var1 = Disparity(P1); var2 = Disparity(P2); var3 = Disparity(P3); var4 = Disparity(P4); Condition1 = M >= 5000000000; Condition2 = h[1] > h; Condition3 = O < C; Condition4 = 1.2*C[1] >= C; Condition5 = C <= 20000; if 102.5 <= var1 and var1 <= 107.5 then Condition6 = True; if 102.5 <= var2 and var2 <= 107.5 then Condition7 = True; if 102.5 <= var3 and var3 <= 107.5 then Condition8 = True; if 102.5 <= var4 and var4 <= 107.5 then Condition9 = True; if Condition1 and Condition2 and Condition3 and Condition4 and Condition5 and (Condition6 or Condition7 or Condition8 or Condition9) Then find(1);
프로필 이미지
끌레어주
2019-03-18
360
글번호 127136
종목검색
답변완료

식 문의드립니다.

안녕하세요 , 식 문의 드립니다. 앞전 문의드린 내용이 잘 적용이 되지 않아 재 문의드립니다. a. 분봉상 적용하며 장시작(09:00)때의 가격이 시작가 99~81원 사이면 작동 시작가 80~0원 사이면 작동을 하지 않고 b. 작동하는 가격범위(99~81원)사이에서 시작할시 특정가격 100원 설정시 100원에 닫는순간 바로 시장가 주문 c. 청산가격 110원 설정시 닫는순간 시장가 주문 손절가격 90원 설정시 닫는순간 시장가 주문 하루에 한번만 진입과 청산(손절)이 발생하도록 부탁드립니다. d.진입수량 설정 ------------------------------------------------------------ 앞전에 문의드린것에 추가하고자 합니다. 1. a번에 장 시작 가격이 특정가격보다 아래에서 시작할것이라 하였는데 아래로 내려가는 가격범위를 설정하고 싶습니다. 특정가격 100원 시작가 99원~81원 작동 시작가 80원~0원 미작동 2. b번을 %설정이 아닌 가격입력설정으로 부탁드립니다. 3. d번 적용은 삭제 부탁드립니다. 감사합니다 ------------------------------------------------------ 1. 시스템식 주식으로 진행하려하며 a. 특정가격(설정할수있게 부탁드립니다)을 돌파할때(당일 시가(09:00)가 특정가격보다 아래에서 시작할것, 특정가격 위에서 시작하거나 내려온 후 돌파는 진입하지 않음) 시장가 매수 주문 b. 특정가격에서 5%(설정) 상승시 시장가 매도 특정가격에서 10%(설정) 하락시 시장가 손절 c. 진입수량(설정) d. 일자에 관계없이 매수와 매도는 1번만 발생 1 input : Price(100),loss(5),Profit(10),vol(1); if bdate != bdate[1] Then { Condition1 = false; } if Condition1 == false and dayopen < Price and C > price Then { Condition1 = true; buy("b",OnClose,def,vol); } if MarketPosition == 1 then { ExitLong("bx1",AtStop,price*(1+Profit/100)); ExitLong("bx2",AtStop,price*(1-loss/100)); }
프로필 이미지
스누피독
2019-03-17
342
글번호 127135
시스템
답변완료

당일 KOSPI200 선물 변동함수

안녕하세요? data에 KOSPI200 선물데이타를 넣지 않고, 예를들어 코스닥 선물에서 전일대비 당일 KOSPI200 선물변동폭을 구할수 있는 함수를 작성할수 있나요? 예를 들어 1% 이상 상승 1 1%이상 하락 -1 아니면 0 을 리턴하는 함수식을 구할수 있나요?
프로필 이미지
대가들의매매
2019-03-17
353
글번호 127134
사용자 함수

대가들의매매 님에 의해서 삭제되었습니다.

프로필 이미지
대가들의매매
2019-03-17
9
글번호 127133
지표
답변완료

수식 수정 의뢰 합니다!

안녕하세요! 부탁드릴 수식변경은 고점과 저점에 대한 라인입니다! 주가가 자동으로 생성된 직전 고점라인을 돌파하면 매수 신호가 나오게 수정을 부탁드립니다! 매도 신호도 위와 동일 합니다! input:length(6); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL12(0),TL13(0),TL14(0),TL15(0),T(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(0==1,C,H); LL = IFF(0==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { T = 1; 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 1 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 0, 1); Text_SetColor(Text1,BLACK); } TL_SetSize(TL1,1); TL_SetColor(TL1,gray); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 1 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 1 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 0, 0); Text_SetColor(Text1,BLACK); } TL_SetSize(TL1,1); TL_SetColor(TL1,gray); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 1 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } } 최종꼭지점 = "저점"; } if T == -1 and T[1] != -1 Then{ TL2 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]); TL_Delete(TL3); TL3 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]); TL_SetExtRight(TL3,true); TL_SetSize(TL2,3); TL_SetColor(TL2,RED); TL_SetSize(TL3,3); TL_SetColor(TL3,RED); TL12 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]); TL_Delete(TL13); TL13 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]); TL_SetExtRight(TL13,true); TL_SetSize(TL12,1); TL_SetColor(TL12,RED); TL_SetSize(TL13,1); TL_SetColor(TL13,RED); } if T == 1 and T[1] != 1 Then{ TL4= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]); TL_Delete(TL5); TL5= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]); TL_SetExtRight(TL5,true); TL_SetSize(TL4,3); TL_SetColor(TL4,blue); TL_SetSize(TL5,3); TL_SetColor(TL5,blue); TL14= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]); TL_Delete(TL15); TL15= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]); TL_SetExtRight(TL15,true); TL_SetSize(TL14,1); TL_SetColor(TL14,blue); TL_SetSize(TL15,1); TL_SetColor(TL15,blue); } ----------------------------------------------------------------------- 야간장의 최고가와 최저가를 당일 주간장에 선으로 표시하고 싶습니다! 수식을 알려주시면 매매에 도움이 되겠습니다! 감사합니다!
프로필 이미지
qha71
2019-03-18
369
글번호 127132
시스템
답변완료

수식 부탁드립니다

안녕하세요 아래 수식 변환 부탁드려요 수식1 (dayhigh()+daylow())/2 수식2 (dayhigh()+daylow())/1.992 수식3 (dayhigh()+daylow())/1.995 수식4 (dayhigh()+daylow())/2.008 수식5 (dayhigh()+daylow())/2.004 변수는 따로 고칠 수 있게 해주세요 감사합니다^^
프로필 이미지
트라반
2019-03-17
363
글번호 127131
지표
답변완료

수식 부탁드립니다

안녕하세요 키움 수식 변환 부탁드립니다. 수식 1 valuewhen(1,avg(c,period)>avg(c,period,1),avg(c,period)) 수식 2 valuewhen(1,avg(c,period)<avg(c,period,1),avg(c,period)) 지표조건 period : 20 감사합니다.
프로필 이미지
트라반
2019-03-17
361
글번호 127130
지표
답변완료

문의

print 기능이 정상작동하는지 알고싶습니다. print("d:₩data.txt","%.2f",C); 구문을 실행해도 파일이 기록되지 않습니다. 프로그램이 정상인데 이런 현상이 생기면 주로 어떤 문제인지 알려주시면 감사하겠습니다.
프로필 이미지
gagamel
2019-03-16
336
글번호 127129
지표
답변완료

수식요청 드립니다.

* 항상 많은 도움에 정말 고맙습니다. * 아래 수식중 청산 로직 좀 수정 요청 드립니다. (질문 4건) var1= ma(c,5); var2= ma(c,20); if CrossUp(var1,var2) then buy(); if CrossDown(var1,var2) Then sell(); ################# 청산 로직 질문 사항 입니다.################################### Input : 익절틱수(20),손절틱수(20); if Crossup(ma(c,3),ma(c,7)) Then { value1 = C; } if Crossup(ma(c,10),ma(c,20)) Then { value2 = C; } if CrossDown(ma(c,10),ma(c,20)) Then { value3 = C; } if CrossDown(ma(c,10),ma(c,30)) Then { value4 = C; } ## 문의사항: 매매(매수,매도)후 청산 질문1번: if MarketPosition == 1 일경우 현재가격이 매수가격 보다 20틱 크고(이익) 현재가 가격이 이평선(ma(c,30)) 보다 크면 10일선이 30일선 다운되면서 청산(최대수익) <공부용> if MarketPosition == 1 and c>Entryprice*익절틱수 and c>ma(c,30) Then { ExitLong("매수익절", crossdown(c,value4) } ◀ 이부분 수정 요청 좀 드립니다. 질문 2번: if MarketPosition == 1 일경우 현재가격이 매수가격 보다 10틱 작고(손실) 현재가 가격이 이평선(ma(c,30)) 보다 작으면 3일선이 7일선 다운되면 청산(최소손실) <공부용> if MarketPosition == 1 and c<Entryprice*10 and c<ma(c,30) Then { ExitLong("매수손절", crossdown(c,value1) } ◀ 수정 요청 드립니다. ## 재매수 부분 Input : 익절틱수(20),손절틱수(20); if Crossup(ma(c,3),ma(c,7)) Then { value1 = C; } if Crossup(ma(c,10),ma(c,20)) Then { value2 = C; } if CrossDown(ma(c,10),ma(c,20)) Then { value3 = C; } if CrossDown(ma(c,10),ma(c,30)) Then { value4 = C; } if MarketPosition == 1 and c<Entryprice*5 and c<value4 Then { ExitLong("매수익절",atlimit, EntryPrice + PriceScale*익절틱수); ## 5틱이상손실이고 이평선이 하락하면 청산 ExitLong("매수손절",AtStop , EntryPrice - PriceScale*손절틱수); ## 5틱이상손실이고 이평선이 상승하면 청산 } if MarketPosition== -1 and c>Entryprice*5 and c<value4 Then { ExitShort("매도익절",atlimit, EntryPrice - PriceScale*익절틱수); #20틱 수익이면 즉시 청산 ExitShort("매도손절",AtStop , EntryPrice + PriceScale*손절틱수); #20틱 손실이면 즉시 청산 } 질문3번: 아래 로직에서 청산후 재매매(매수, 매도) 할려고 하는데 매매가 안됨니다. 뭐를 잘못 했나요?? .의미: 청산후 "매수익절" 했으면 매도로 스위칭 "매수손절" 했으면 매수로 스위칭 할려고 합니다. if MarketPosition == 0 Then { if IsEntryName("매수익절") == true Then { if c<value2 Then sell("재매도"); }} if MarketPosition == 0 Then { if IsEntryName("매수손절") == true Then { if c<value2 Then buy("재매수"); }} 질문 4번: 명칭에 따른 수익 청산 명령어가 안되는데 수식좀 봐주십시요. .의미: 재매수 한것은 10틱 수익후 무조건 청산 입니다. if MarketPosition == 1 and IsEntryName("재매도") == true then {ExitShort("sx1",AtStop,EntryPrice+PriceScale*10);} if MarketPosition == 1 and IsEntryName("재매수") == true then {ExitLong("sx2",AtStop,EntryPrice+PriceScale*10);} * 수고하십시요.
프로필 이미지
요타
2019-03-18
342
글번호 127128
시스템