커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7696
글번호 230811
황토가마 님에 의해서 삭제되었습니다.
2011-11-08
113
글번호 44556
답변완료
수식부탁드립니다!!
열개봉이 선물지수 1%범위내에서 움직이고 c가 그중 하위10%에 있을때 그범위를 벗어나지않고 음봉일때매수, 상위10%에 있을때 그범위를 벗어나지않고 양봉일때 매도 식!!
부탁드려요!!감사,또감사합니다!
2011-11-08
368
글번호 44555
답변완료
수식문의 드립니다.
항상 수고 많으십니다.
(당일기준으로 다음날에 되면 다시 0으로 세팅)
1.당일기준 누적 거래량
2.당일기준 누적 미결제약정
의 수식을 부탁드립니다.
2011-11-08
397
글번호 44554
답변완료
질문드려요
if dayindex() == 0 then{# 첫봉에서
pp = (DayHigh(1)+DayLow(1)+DayClose(1))/3;#(전일고가+전일저가+전일종가)/3을 피봇포인트 값으로 저장
pr1 = 2*pp-daylow(1); #PP의 두배값에서 전일저가를 뺀값을 저항1값으로 저장
ps11 = ((pp+pr1)/2);
}
if c < pp and c < ps11 and c > ps1 and bids > asks and EntriesToday(date) < 1 then buy("1매수");
하늘선과 빨강선 사이에서 매수를 하고싶은대요 위에 식 아닌가여 빨강선 위에서 매수가 뜨네요
질문 2추가합니다
각 진입명마다 스탑로스를 따로 지정할수잇나여
위처럼 "1매수"가 이름이라고할대 모 조건마다 진입명이다르면 "2매수", "1매도","2매도" 마다 스탑로스 를 따로지정할수있나요?
2011-11-08
386
글번호 44553
답변완료
시스템식 문의드립니다
안녕하세요
변수선언이 이해가 안가서 다시 글을 씁니다.
내장함수 99까지는 이해는 되는데 그 이상일때 변수선언을 어떻게 해야
되는지 아래와 같은 식에 적용좀 해주시면 고맙겠습니다.
Condition1 = ma(C,3) > ma(C,5);
Condition2 = ma(C,3) > ma(C,5);
if Condition1 or Condition2 Then buy();
Condition99 = c - o < -0.60;
Condition100 = CrossDown(C,ma(C,20)) and c - o < -0.15;
if Condition99 or Condition100 Then ExitLong();
감사합니다.
2011-11-08
408
글번호 44548
답변완료
수식문의
5분봉차트에서
value1 = MACD(shortPeriod, longPeriod);
value2 = ema(value1,Period);
으로 설정할때
매수진입 이후에 0선아래에서 value1이 value2를 골든크로스 한 후
value1이 value2를 데드크로스 하면 매수청산 하는 수식부탁
(단,데드크로스 시점의 5분봉 종가가 골든크로스 시점의 5분봉 종가보다 작을것)
2011-11-08
393
글번호 44547
답변완료
문의드려욤
#highestsince (1,CrossUp(avg(c,5),avg(c,10)),avg(c,10))
var : highestsince(0),lowestsince(0);
var1 = ma(C,5);
var2 = ma(c,10);
if Crossup(var1,var2) Then
highestsince = var1;
if var1 > highestsince Then
highestsince = var1;
#lowestsince (1,Crossdown(avg(c,5),avg(c,10)),avg(c,10));
if CrossDown(var1,var2) Then
lowestsince = var1;
if var1 < lowestsince Then
lowestsince = var1;
plot1(highestsince);
plot2(lowestsince);
plot3(var1);
안녕하세여
오랜만에 옵니다
다름이 아니오라 이지표를 크로스지점 5 10 상승 클로스 랑 데드클로스랑
색깔이 변하게 해주셨음 합니다
미리감사드립니다
2011-11-08
333
글번호 44538
답변완료
수식문의 드림니다
지난번 답변해주식 좀더 궁금한점이 있어 추가 문의 드림니다
문1)
아래수식의
if Condition1 == true and CrossDown(var1,var2) Then{
value1 = var1;
위 부분에서 크로스다운시점의 봉의종가를 의미 할려면
value1 = C;
이런식으로 작성햐야 되는 것이 아닌지요?
value1 = var1; 이렇게 작성하면 5 이평을 나나낸것이 아닌지요?
문2)
아래답변 수식에서 5이평과 20이평 간의 크로스가 아닌
value11 = MACD(shortPeriod, longPeriod);
value12 = ema(value1,Period);
위처럼 var1 에 value11값 var2에 value12값을 사용할경우
if Condition1 == true and CrossDown(value11,varlue12) Then{
value1 = var1;
value2 = value1[1];
value3 = value3+1;
위 부분을 어떻게 수정해야 할까요?
즉 value1 = value11; 처럼 작성 하면 되는지요?
------------------------ 지난번 답변수식 ---------------------------------
if MarketPosition == 0 and crossup(c,dayopen+1) Then
buy();
var1 = ma(C,5);
var2 = ma(c,20);
if MarketPosition == 1 Then{
if highest(H,BarsSinceEntry) >= EntryPrice+1 Then
Condition1 = true;
if Condition1 == true and CrossDown(var1,var2) Then{
value1 = var1;
value2 = value1[1];
value3 = value3+1;
if value3 == 2 and value1 < value2 Then
exitlong();
}
}
Else{
Condition1 = false;
value3 = 0;
}
2011-11-08
400
글번호 44537
답변완료
문의 드립니다.
수고가 많으십니다.
1~50이평선에서 상승이평선수의 수를 구하고 싶은데 아래 식은 답이 틀린 것 같습니다.
var : cnt(0), count(0);
count = 0;
for cnt = 1 to 50 {
if ma(c, cnt) > ma(c, cnt)[1] then
count = count +1;
}
plot1(count);
상기의 식은 아래의 수식 결과와 다른 값이 나옵니다.
감사합니다.
안녕하세요
예스스탁입니다.
var : cnt(0),count(0);
Array : mav[51](0);
for cnt = 1 to 50{
mav[cnt] = ma(C,cnt);
}
count = 0;
for cnt = 1 to 50{
if mav[cnt] > mav[cnt][1] then
count = count+1;
}
plot1(count);
즐거운 하루되세요
2011-11-08
393
글번호 44536