커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7788
글번호 230811
백스톰 님에 의해서 삭제되었습니다.
2008-10-16
36
글번호 17559
답변완료
메일로 문의 드렷습니다
즐거운하루되세요
2008-10-16
697
글번호 17558
답변완료
stime 질문
수고가 많으세요.
아래식에서 stime>=93000 만 추가하면 적용이 안되네요. 무슨 문제인지요.
if (h-l)>=h[var1]-l[var1] and color>0 and var1<1 and stime>=93000 then{
buy();
var1 = 1;
}
9시 30분 이후에만 신호가 나오도록 하고 싶어요
감사합니다.
2008-10-16
773
글번호 17553
답변완료
스토캐스틱 돌파전략을짤때질문입니다
전에 자유게시판에도 올린질문인데요
스토캐스틱 크로스업다운전략을 사용할때 어쩔때는 크로스된게 완벽하게 보이지만
어떨때는 거의 보이지안습니다 시각매매할때는 그럴때임의로 다음봉에서 사면되
지만 시스템식은 그럴수없고단순히 돌파했느냐 안했느냐만따지니까 전략에 차이가
납니다 특히 제전략은 이거에 만은 제약을받고요 이걸 완벽하게 해소시킬수는업나요?
예를들어 크로스업일때 %k선이 %d을 2이상돌파(만약 d선이 수치50이라면k는52인식으로)하면 매수등으로바꿔 필터링할수없을까요 신호가 애매하게 나는것들은 보니까 거의 두선이 짧게 붙어있는식으로 되어있어서 구별이 힘들더라구요 말로는 조금어려운데 전에 올린 캡쳐도 함께올립니다 사진은 크게보시면 자세하게 보실수있습니다 그리고 이게 아니라도 다른 좋은방법이있다면 부탁드립니다
저한텐 저부분이 정말중요해서요 이해가 안되신다면 안되시는부분을 알려주시면 더자세하게 얘기하겠습니다 그럼이만..
2008-10-16
957
글번호 17552
답변완료
아.. 도저히 감이안오네요..
TS 로 로직을 짠것인데.
이것을 YS로 바꿀려고 하는데..
감이안옵니다.
염치없지만 조금 힌트를 좀 주십시옹~
아래는 TS 로직을 바꿀려 노력한 것입니다
//spring
input: N(11),Strength(5),ClosePercentage(25),RangePercentage(150),EntryPercentofRange(50);
Var: PivotLow(0),Length(0),ATRLengthLimit(20),MinLength(3),EnterPrice(0),PriceToExit(0),Spring(False);
Condition10 = SwingLow(1,Low,Strength,Strength+1,N)<>-1
If Condition10 Then
Pivotlow = Low[strength];
Length = Strength;
If Length<AtrLengthLimit Then
Length = Length+1
Else
Spring = False;
Condition1 = Low < PivotLow;
Condition2 = Close > PivotLow;
Condition3 = Close >= High-(Range*(ClosePercentage/100));
Condition4 = Range >= AvgTrueRange(MaxList(Length,MinLength))*RangePercentage/100;
IF Condition1 AND Condition2 AND condition3 AND Condition4 Then {
Spring = True;
EnterPrice = Open of tomorrow + (Range*(EntryPercentofRange/100));
PriceToExit = PivotLow - 1point;
}
If Spring Then {
Buy next bar at EnterPeice Stop;
}
If MarketPosition == 1 Then {
Spring = False;
ExitLong("Risk") next bar at PriceToExit Stop;
}
{Commentary(condition10, condition1,Condition2,Condition4,Newline);
Commentary(Spring, EnterPrice,PricetoExit,newline);}
2008-10-15
1070
글번호 17551
답변완료
MRO란게 어떤건가요... ?
stochastics 상승형 다이버젼스의 저점비교식에서...
MRO(condtion1,15,1) 이런식으로 나와 있는데, MRO의 뜻을 알수가 없네요....
어떤경우에 어떤식으로 쓸수 있는지 알고싶어요...
미리 감사드립니다...
var : sindex1(0), sindex2(0), Lindex1(0), Lindex2(0);
value1 = stochasticsD(12,5,5);
Condition1 = value1 > value1[1] and value1[1] <= value1[2];
Condition2 = L > L[1] and L[1] <= L[2];
sindex1 = MRO(Condition1,15,1); // stochasticsD의 최근 저점이 발생한 시점의 현재로부터 index
sindex2 = MRO(Condition1,15,2); // stochasticsD의 직전 저점이 발생한 시점의 현재로부터 index
Lindex1 = MRO(Condition2,15,1); // 저가의 최근 저점이발생한 index
Lindex2 = MRO(Condition2,15,2); // 저가의 직전 저점이 발생한 index
if
value1[sindex1+1] > value1[sindex2+1] and //stochastics의 최근저점값이 직전저점값보다크고
L[Lindex1+1] < L[Lindex2+1] and //저가의 최근저점저점값이 직전저점값보다 작고
Condition1 and //저가의 상승반전이 발생했고
lowest(L,5) == lowest(L,15) //최근 5개봉의 최저가가 최근 15개 봉의 최저가이면
then
var1 = 1;
else
var1 = 0;
plot1(var1);
2008-10-15
1089
글번호 17548
답변완료
print 함수
아직 완전 초보라서 허접한 질문 하나 드립니다.
print 함수로 엑셀로 자료 좀 받아서 볼려고 하는데요.
시고저종이랑 MACD 엑셀로 다운 받는 법 좀 알려주세요.
감사합니다.
2008-10-15
1058
글번호 17543
답변완료
질문입니다
매번 친절한 답변주셔서 감사합니다.
<질문>
전일 오후 동시호가때 갭 하락으로 인하여 macd가 데드크로스가 발생한 상태에서
오늘 오전 시가도 갭 하락하여 시작하면
어제 발생한 데드크로스 신호때문에 , 장 시작직후 첫번째 봉 마감직후
시스템에서 매도신호가 발생하는데, 이경우는 어떻게 하면 매도신호가 발생하지 않게
할수있을까요? 부탁드립니다
2008-10-15
898
글번호 17542
답변완료
시스템식도 부탁드립니다.
input:단위호가(5),P1(20),P2(60);
var:j(0),벽돌크기(0),방향(0),상승(1),하락(-1),cnt(0),count(0),sum1(0),sum2(0),mav1(0),mav2(0);
array:고[10](0),저[10](0),이평[70](0);
if index == 0 then {
벽돌크기 = PriceScale * 단위호가; //_TickValue()는 사용자 함수
고[0] = C;
저[0] = C;
}
if 방향 == 0 then {
if 저[0] - 벽돌크기 >= C then {
저[0] = 저[0] - int((저[0]-C)/벽돌크기)*벽돌크기;
방향 = 하락;
}
else if 고[0] + 벽돌크기 <= C then {
고[0] = 고[0] + int((C-고[0])/벽돌크기)*벽돌크기;
방향 = 상승;
}
}
else if 방향 == 하락 then {
if 저[0] - 벽돌크기 >= C then
저[0] = 저[0] - int((저[0]-C)/벽돌크기)*벽돌크기;
if 저[0] + 2*벽돌크기 <= C then {
for j = 8 downto 0 {
고[j+1] = 고[j];
}
방향 = 상승;
고[0] = 저[0] + int((C-저[0])/벽돌크기)*벽돌크기;
}
}
else if 방향 == 상승 then {
if 고[0] + 벽돌크기 <= C then
고[0] = 고[0] + int((C-고[0])/벽돌크기)*벽돌크기;
if 고[0] - 2*벽돌크기 >= C then {
for j = 8 downto 0 {
저[j+1] = 저[j];
}
방향 = 하락;
저[0] = 고[0] - int((고[0]-C)/벽돌크기)*벽돌크기;
}
}
if 방향[1]==하락 and 방향==상승 then{
이평[0] = 저[0];
for cnt = 1 to 60{
이평[cnt] = 이평[cnt-1][1];
}
}
if 방향[1]==상승 and 방향==하락 then{
이평[0] = 고[0];
for cnt = 1 to 60{
이평[cnt] = 이평[cnt-1][1];
}
}
sum1 = 0;
sum2 = 0;
for count = 0 to P2{
if count < P1 Then
sum1 = sum1+이평[count];
if count < P2 Then
sum2 = sum2+이평[count];
}
mav1 = sum1/P1;
mav2 = sum2/P2;
if 방향[1]==하락 and 방향==상승 then{
plot1(저[0],"렌코차트",Blue);
plot2(mav1,"이평20",Blue);
plot3(mav2,"이평60",Blue);
}
if 방향[1]==상승 and 방향==하락 then{
plot1(고[0],"렌코차트",RED);
plot2(mav1,"이평20",RED);
plot3(mav2,"이평60",RED);
}
지표식은 잘 돌아가네요. 렌코 20일선과 60일선 크로스 매수매도 시스템 식도 부탁드립니다.
감사합니다.
2008-10-15
884
글번호 17541