커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 요청

부탁드립니다 1. 매수 3분봉의(Data2) MACD Oscillator>0 상태 1분봉의(Data1) MACD 기준값상향 돌파 & 3일선이 10일선 상향 돌파 2. 매도 3분봉의(Data2) MACD Oscillator<0 상태 1분봉의(Data1) MACD 기준값 하향 돌파 & 3일선이 10일선 하향 돌파 3. 청산 매수 후 손절 -10틱 Psar가격 상향 돌파 1차 신호시 손절값: 진입가 Psar가격 상향 돌파 2차 신호시 손절값: Psar 1차 상향돌파 신호값 PSar가격 상향 돌파 3차 신호시 손절값: Psar 2차 상향돌파 신호값 Psar가격 상항 돌파 4차 신호시 손절값: Psar 3차 상향돌파 신호값 30틱 이상 상승시 최고값대비 -5틱 청산 매도후 (매수후 동일 로직) 손절 -10틱 Psar가격 하향 돌파 1차 신호시 손절값: 진입가 Psar가격 하향 돌파 2차 신호시 손절값: Psar 1차 하돌파 신호값 PSar가격 하향 돌파 3차 신호시 손절값: Psar 2차 하향돌파 신호값 Psar가격 하항 돌파 4차 신호시 손절값: Psar 3차 하향돌파 신호값 30틱 이상 상승시 최고값대비 -5틱 청산
프로필 이미지
라떼처럼
2017-04-27
197
글번호 109207
시스템
답변완료

글번호 53050번 재질문

안녕하세요? 글번호 53050번 재질문입니다. 강제청산 조건 SetStopLoss(0.5,PercentStop); SetStopProfittarget(1,PercentStop); SetStopInactivity(1,120,PercentStop); 을 키움에서는 아래와 같이 사용하였습니다. Var : mp(0), HH(0), LL(0); mp = SignalPosition; If mp = 1 Then Begin If mp[1] <> 1 Then Begin HH = H[1]; LL = L[1]; End; If H > HH Then HH = H; If L < LL Then LL = L; ExitLong("매수손절", atstop, entryprice - entryprice * 0.005); ExitLong("매수익절", atlimit, entryprice + entryprice * 0.005); If BarsSinceEntry >= 120 And (HH - EntryPrice) < EntryPrice * 0.01 Then ExitLong("매수 변동미달 청산"); End; If mp = -1 Then Begin If mp[1] <> -1 Then Begin HH = H[1]; LL = L[1]; End; If H > HH Then HH = H; If L < LL Then LL = L; ExitShort("매도손절", atstop, entryprice + entryprice * 0.005); ExitShort("매도익절", atlimit, entryprice - entryprice * 0.005); If BarsSinceEntry >= 120 And (EntryPrice - LL) < EntryPrice * 0.01 Then ExitShort("매도 변동미달 청산"); End; YT에서도 사용할 수 있도록 변환 요청드립니다.
프로필 이미지
통큰베팅
2017-04-27
189
글번호 109203
시스템
답변완료

문의

안녕하세요 세가지수식부탁합니다 1. 장시작후 시가위로5틱상승시매도진입 시가밑으로-5틱하락시매수진입 한번씩만진입하며 첫번째신호에서 손절시는 진입금지 손절20틱 익절20틱 2. 장시작후시가위로10틱상승시매도진입한번만진입함 장시작후시가아래-10틱하락시매수진입 한번만진입 각각따로수식부탁합니다 3. 장시작후 분봉에서 스토캐스틱침체나 과열에서 이탈시진입하는수식 침체이탈시는매수 과열이탈시는매도 장시작후처음나타나는 신호에한번만진입하는수식부탁합니다
프로필 이미지
질갱이
2017-04-27
189
글번호 109202
시스템
답변완료

부탁 드립니다.

Input : shortPeriod(12), longPeriod(26), Period(9); Var : MACDV(0) , MACDS(0),T(0),ii(0); MACDV = MACD(shortPeriod, longPeriod); MACDS = ema(MACDV,Period); if crossup(MACDS,0) Then{ T = 1; ii = 0; var1 = H; } if CrossDown(MACDS,0) Then{ T = -1; ii = 0; var1 = L; } ii = ii+1; if T == 1 and ii <= 3 and H > var1 Then var1 = H; if T == -1 and ii <= 3 and L < var1 Then var1 = L; plot1(var1,"지표",iff(T == 1,CYAN,MAGENTA)); ......................................................................... 상기 수식을 첨부 파일의 그림 처럼 수정해 보려고 애를 써봤지만 제실력으로는 도저히 안나옵니다. 심사숙고 끝에 이렇게 염치 없이 글 올리게 되었습니다. 부탁드립니다. 감사합니다.
프로필 이미지
회원
2017-04-27
268
글번호 109201
지표
답변완료

문의드립니다.

안녕하세요. 키움수식입니다. 시스템수식으로 변환을 부탁드립니다. 시스템수식이 안된다면 지표식이나 검색식으로도 괸찬습니다. 1번수식 매수진입 c(1)<o(1) and //소문자 오(o) 입니다. c(1)>l(1) and // 소문자엘(l) 입니다. o(0)>l(0) and c(1)==o(0) and l(1)==l(0) and c(0) > o (0) 매도진입 c(1)>o(1) and //소문자 오(o) 입니다. c(1)<h(1) and // 소문자 (h) 입니다. o(0)<h(0) and c(1)==o(0) and h(1)==h(0) and c(0) < o (0) 2번수식 매수진입 a = dayhigh(); a > a(1) 매수청산 b = daylow(); b < b(1) 감사합니다.
프로필 이미지
천년의사랑
2017-04-27
208
글번호 109200
지표
답변완료

부탁 합니다

Input : Period(12), sigPeriod(9); Input : short(12), long(26), Sig(9); value1 = TRIX(Period); value2 = ema(value1, sigPeriod); //전략 트릭스가 0을 상향돌파하면 매수 0을 햐향돌파 하면 매도 //청산 20틱 수익이면 청산 스탑로스 30틱 --------------------------------- 청산수식에서 첫번째 진입은 기존대로 진행하고 두번째 진입부터는 진입후 손절을 매수진입후 20개봉 고점대비 5틱 위에서 손절 매도진입후 20개봉 저점대비 5틱 밑에서 손절하고 싶습니다 수식 부탁 드릴께요
프로필 이미지
마도로스77
2017-04-26
173
글번호 109199
시스템
답변완료

문의드림니다

수고하십니다 문의드림니다 1틱차트에서 상승형거래건수가 일어나면 상승형거래가일어난 봉의 종가를 Var1저장하고 Var2 상승형거래건수을 저장하고요 var3상승형거래량를저장합니다 1틱차트에서 하락형거래건수가 일어나면 봉의 종가를 Var4저장하고 Var5하락형거래건수을 저장하고요 var6하락형거래량을저장합니다 그리고 Var1에있는 종가값을 기준으로 이전1천개까지 종가가 같은값을찾아 종가가 같은봉에서 거래된 var2의 값들을전부더하고요 var3 값들도다 더하고요 하락형도 같은방식으로부탁드림니다 Var7= var2 나누기 var3하여 Var8= var5 나누기 var6하여 Var7값과 var8값을 일봉또는분봉에서 지표화하고십습니다 각호가별로 거래된 상승형하락형 거래량들을 시각화하고십습니다 부탁드립니다 감사합니다
프로필 이미지
파파리리
2017-04-26
201
글번호 109198
지표
답변완료

상대 3호가

현물주식에서 상대3호가 매수로 설정하면 상대3호가 현재가에서(싼가격쪽으로 3호가에 주문들어가나요) 주문신호후 3호가 아래로 10주 20주 30주 이런식으로 주문 넣는게 가능한가요. 가능하다면 수식 부탁드립니다. 매번 너무너무 감사드립니다.
프로필 이미지
김정주
2017-04-26
176
글번호 109197
시스템
답변완료

텍스트 출력

안녕하세요 1번과 2번 수식에 각 출력된 지표 우측 상단 위에 해당 숫자값이 출력되게 하고 싶습니다.. 가령 1번 수식의 경우 당일 고점이 선으로 출력된 지점 우측 상단에 당일 고점이 출력되도록 하고 싶습니다 늘 감사합니다 1 input : N(0); Plot1(dayOpen(N), "시가"); Plot2(dayHigh(N), "고가"); Plot3(dayLow(N), "저가"); 2 Input:barCnt(5); Var:j(0),turnPntBit(""),TL1(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); For j = 0 To 9 { barArr[j] = barArr[j] + 1; } Condition1 = Highest(H,barCnt)[barCnt+1] <= H[barCnt] and H[barCnt] > Highest(H,barCnt); Condition2 = Lowest(L,barCnt)[barCnt+1] >= L[barCnt] and L[barCnt] < Lowest(L,barCnt); turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H[barCnt] and Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H[barCnt] Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "Lo"; Else If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else If turnPntArr[1] == "Lo" Then turnPntBit = "Hi"; } 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[barCnt],L[barCnt]); barArr[1] = barCnt; 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[barCnt]) or (turnPntBit == "Lo" and valArr[1] > L[barCnt]))) Then { valArr[1] = IFF(turnPntBit == "Hi",H[barCnt],L[barCnt]); barArr[1] = barCnt; 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]); Else TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); } } TL_SetSize(TL1,1); TL_SetColor(TL1,CYAN); var : TL11(0),TL12(0); if turnPntArr[1][0] == "Hi" Then{ TL_Delete(TL11); TL11 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1],sDate[barArr[1]],sTime[barArr[1]],valArr[1]); TL_SetExtRight(TL11,true); TL_SetColor(TL11,GREEN); TL_SetSize(TL11,1); } if turnPntArr[1][0] == "Lo" Then{ TL_Delete(TL12); TL12 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[1],sDate[barArr[1]],sTime[barArr[1]],valArr[1]); TL_SetExtRight(TL12,true); TL_SetColor(TL12,YELLOW); TL_SetSize(TL12,1); }
프로필 이미지
지오다노
2017-04-26
198
글번호 109196
지표