커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7565
글번호 230811
답변완료
문의드립니다.
Var: aa(0), bb(0);
If Open>Close Then
begin
If var1<var3 Then
begin
aa = Low[1];
End
Else
if aa <> 0 then
End;
위의식에서 Else이후에 aa에 할당되는 값이 Low[1]인가요?
아니면 그냥 0 인것인가요?
0으로 할당되는것 같은데.. 제가 생각하는 것이 맞는것인지 확인부탁드립니다.
수고하세요
2013-05-10
203
글번호 63022
답변완료
시스템식 부탁드립니다.
1. 봉이 양봉이고 and
몇봉이 떨어져있건 관계없이 직전최근 음봉만 골라서 7개,
그 직전최근 7개음봉중 종가가 가장 낮은 음봉의 고가보다 종가가 클 때
매도청산하고 그 종가를 기억.
다음봉에서건 그다음봉이건 기억된 종가이하에 즉시 매수.
봉이 음봉이고 and
몇봉이 떨어져있건 관계없이 직전최근 양봉만 골라서 7개,
그 직전최근 7개음봉중 종가가 가장 높은 양봉의 저가보다 종가가 작을 때
매수청산하고 그 종가를 기억.
다음봉에서건 그 다음봉이건 기억된 종가이상에 즉시 매도.
(일봉의 경우까지 감안한 식입니다.)
2. 아래내용에 대해 혼자서 만들어봐ㅆ는데요.
검증은 통과하는데 신호는 전혀 안 뜨네요.
분틱당일매매용(3시15분 강제청산)
매수 : 첫매매 : 종가>데이시가
두번째부터 : 직전(매수) : 현재데이중간값>데이시가 AND
최근 15봉중에 종가가 (데이저가+현재당일폭의 35%)를
넘어간 일이 있고,AND
종가가 그 15봉의 최고가를 2틱이상 뚫을 때
직전(매도) : 현재데이중간값>데이시가 AND
저가<(현재데이저가+현재당일폭의 45%) AND
저가>(현재데이저가+현재당일폭의 35%)일 때
매도 : 첫매매 : 종가<데이시가
두번째부터 : 직전(매도) : 현재데이중간값<데이시가 AND
최근15봉중에 종가가 (데이저가+현재당일폭의 65%)밑으로
간 사실이 있고 AND
종가가 그 15봉의 최저가를 2틱이상 밑돌 때
직전(매수) : 현재데이중간값<데이시가 AND
고가>(현재데이저가+현재당일폭의 55%) AND
고가<(현재데이저가+현재당일폭의 65%)일 때
매수청산 : (현재데이중간값>데이시가 AND
최근15봉중에 종가<(데이저가+현재당일폭의35%)인 일이 있고 AND
종가<그15봉의 최저가 일 때)
OR
(현재데이중간값<데이시가 AND 고가>(데이저가+현재당일폭의48%)일 때)
OR
(현재당일폭>4P일 때)
매도청산 : (현재데이중간값<데이시가 AND
최근15봉중에 종가>(데이저가+현재당일폭의65%)인 일이 있고 AND
종가>그 15봉의 최고가 일 때)
OR
(현재데이중간값>데이시가 AND 저가<(데이저가+현재당일폭의52%)일 때)
OR
(현재당일폭>4P일 때)
var:cnt(0),count(0);
count=0;
fot count=0 to 20{
if sdare==Entrydate(cnt) Then
count=counr+1
}
If (count==0 and c>dayopen)
or
(count>=1 and NarketPosition(1)==1 and (dayhigh+daylow)/2>dayopen and
countif(crossup(c,daylow+(dayhigh-daylow)*0.35),15)>=1 and
c>Highest(H,15)[1]+0.10)
or
(count>=1 and Matketposition(1)==-1 and (dayhigh+daylow)/2>dayopen and
c<daylow+(dayhigh-daylow)*0.45 and c>daylow+(dayhigh-daylow)*0.35) Then{
Buy("");
}
If ((dayhigh+dayopen)/2>dayopen and
countif(crossdown(c,daylow+(dayhigh-daylow)*0.35),15)>=1 and
c<Lowest(L,15)[1])
or
((dayhigh+daylow)/2<dayopen and c>daylow+(dayhigh-daylow)*0.48)
or
dayhigh-daylow>4 Then{
Exitlong("");
}
If (count==0 and c<dayopen)
or
(count>=1 and MarketPosition(1)==-1 and (dayhigh+daylow)/2<dayopen and
countif(crossdown(c,daylow+(fayhigh-daylow)*0.65),15)>=1 and
c<Lowest(L,15)[1])
or
(count>=1 and MarketPosition(1)==1 and dayhigh+daylow)/2<dayopen and
c>daylow+(dayhigh-daylow)*0.55 and c<daylow+(dayhigh-daylow)*0.65) Then{
Sell("");
}
If ((dayhigh+daylow/2<dayopen and
countif(crossup(c,daylow+(daylow-dayhigh)*0.65))>=1 and
c>Highest(H,15)[1])
or
(dayhigh+daylow)/2>dayopen and c<daylow+(dayhigh-daylow)*0.52)
or
dayhigh-daylow>4) Then{
Exitshort("");
}
틱을 몰라 그냥 숫자로 표시했는데 틱으로 고쳐써주시구요
(dayhigh+daylow)/2나 (dayhigh-daylow)처럼 반복되는 말을 치환하는 방법도 좀...
그리고 var와 value는 어떻게 다르고 어느때 사용하는지 간단한 설명도 부탁드립니다.
2013-05-10
259
글번호 63021
답변완료
수식 검토 부탁드립니다.
안녕하세요
언제나 빠르고 친절한답변에 다시한번더 감사드립니다.
진입을 시간별로 다르게 했을때
저의 의도는 특정한 시간동안에 진입한 포지션에서 아래의 청산수식이
나왔으면 하는데요
제의도와는 다르게
아침 9시경에 진입한 포지션에서도 청산수식이 발동됩니다.
어떻게 하면 될까요?
예를 들면
이문장은 다음 진입수식에서만 적용됩니다.
라는 것과 비슷한 뭐가 있으면 좋겠습니다.
도와주세요.
if MarketPosition == 1 Then{
if TimeToMinutes(stime) < TimeToMinutes(EntryTime)+50 Then
exitlong("bx1",atlimit,EntryPrice+1);
if TimeToMinutes(stime) >= TimeToMinutes(EntryTime)+50 and countif(C>O,3) == 3 Then
exitlong("bx2");
}
if MarketPosition == -1 Then{
if TimeToMinutes(stime) < TimeToMinutes(EntryTime)+50 Then
ExitShort("sx1",atlimit,EntryPrice-1);
if TimeToMinutes(stime) >= TimeToMinutes(EntryTime)+50 and countif(C<O,3) == 3 Then
ExitShort("sx2");
수고하세요.
2013-05-09
189
글번호 63020
답변완료
STO재질문
아래답에대한 질문 우리트레이더 스토케스틱 지표에 기준선50.을 넣고 싶어요 감사해요
안녕하세요
예스스탁입니다.
input : Period1(10),Period2(5),Period3(5);
var1 = AccumN(C-lowest(L,Period1),Period2)/
AccumN((highest(H,Period1)-lowest(L,Period1)),Period2)*100;
var2 = ema(var1,Period3);
plot1(var1);
plot2(var2);
PlotBaseLine1(50);
즐거운 하루되세요
> WT_p60298 님이 쓴 글입니다.
> 제목 : sto
> sto에서 기준선 50을 잡고싶어요 !!!! 그리고 제가 자주 보았던 키움 스토케스틱 지표와 조금 달라요 같은 모양으로 만들어 주실수 있는지요!!!!!!감사해요 수고하십시요!!!!
2013-05-09
232
글번호 63019
묘선낭자 님에 의해서 삭제되었습니다.
2013-05-09
0
글번호 63018
답변완료
문의 (Normal)
1. 아래와 같은 수식이 있을 경우, 매 봉이 만들어질때마다 한줄한줄 체크하는것으로 아는데 변수로 선언된 부분도 초기화가 되나요? 아니면 변수부분은 Reset 시켜주는 식이 없을 경우 시스템 종료시까지 유지가 되는지요? 후자가 맞다면 날짜가 변경되는 시점에
if date <> date[1] then
CheckUpSRXMA5 = FALSE;
위와같이 초기화되는 부분이 있는것이 좋은지요? 아직 예스의 구동메카니즘을 정확히 이해하지 못하고 있기에 설명부탁드리겠습니다.
VARS: SRXBars(20, Data2);
VARS: CheckUpSRXMA5(FALSE, Data2), SRXMA5Ready(FALSE, Data2);
if ( (Data2(CrossUp(MAvTK, MAv5)))
&& (Data2(Countif(MAvTK > MAv5, SRXBars) >= SRXBars))
) then
{
CheckUpSRXMA5 = TRUE;
}
2.
2013-05-10
219
글번호 63017
답변완료
~한 적이 있다. ~한 적이 없다.
안녕하세요~
다음 YT 수식 부탁드립니다.
1) dayindex == 5 봉에서 매수진입("B1") 또는 매도진입("S1") 신호가 발생한 적이 있다
2) 상기 내용과 동일 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 없다
그럼 즐거운 주말되시기를 바라며,
감사합니다 !!!
2013-05-10
222
글번호 63016
답변완료
n개 이전의 이동평균의 값을 구할때 수식 질문
수식 작성방법에 대한 문의입니다.
제가 프로그래밍 기초가 없다보니 쉬운 부분도 헷갈리는 것이 있어서 뻔한것도 질문하게 되니 양해 바랍니다.^^
n개 이전의 봉의 이동평균선 값이라고 할때
ma(C[n],20) 이게 맞나요
ma(C,20)[n] 이게 맞나요?
처음에는 전자가 맞는줄 알고 썼는데
매뉴얼 보다보니 후자가 맞는것 같아서 확인 부탁드립니다.
2013-05-09
230
글번호 63015
러블리 님에 의해서 삭제되었습니다.
2013-05-10
2
글번호 63014