커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4644
글번호 230811
답변완료
함수 문의?
if date != date[1] Then
Condition1 = false;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
Condition1 = true;
if Condition1 == false and stime < 150000 Then{
if NextBarOpen >= dayopen Then
buy("b",AtStop,daylow+1);
if NextBarOpen <= dayopen Then
sell("s",AtStop,dayhigh-1);
}
위수식은 장시작후 저가비 1포인트 상승하면 매수
고가비 1포인트 하락하면 매도 하는 수식입니다.(하루 한번만 매매)
위 수식에서 5,7번째 줄의 함수 AtStop 가 있는데요. 이걸 Atlimit 로
변경하면 성능보고서에서 수익이 틀려지는데요.
AtStop 함수와 Atlimit 함수의 차이점이 무엇인가요?
수고하세요.
2016-04-19
103
글번호 97222
답변완료
수식부탁드려요^^
일목의 전환선을 계단식으로 표현하는 수식을 알고 싶습니다
2016-04-19
115
글번호 97221
답변완료
함수수정요청(251)
안녕하세요?
아래의 함수 수정요청드립니다.
1. 직전거래가 3번연속 손실이 발생되면 4번째 거래를 그만하고자 합니다. (날짜와 무관)
2. 직전거래 3번 연속 손실이 발생되면 당일 거래를 그만하고자 합니다.
1번과 2번식을 각각 부탁드립니다.
input : starttime(70000), xtime(60000);
var : tcond(false),cond1(false),cond2(false);
if stime == starttime or (stime > starttime and stime[1] < starttime) Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
}
if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{
Tcond = false;
}
var1 = ma(c,5);
var2 = ma(c,20);
cond1 = C > var1 and var1 > var2;
cond2 = C < var1 and var1 < var2;
if cond1 == true and cond1[1] == false then
Condition1 = true;
if cond2 == true and cond2[1] == false then
Condition2 = true;
if Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] Then
buy();
if Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] Then
sell();
2016-04-19
98
글번호 97218
매의눈 님에 의해서 삭제되었습니다.
2016-04-19
9
글번호 97217
답변완료
이평선
해외선물에서
3분봉 차트에 30분봉 이평선(5,20,60, 이평선)을 구현하고 싶습니다.
항상 감사 드리며..
2016-04-19
133
글번호 97216
답변완료
수식부탁드립니다.
1.
dayhigh 와 daylow 처럼 특정지표의 당일 최고값과
당일 최저값을 돌파할 때를 표시하려고 합니다.
여기서는 trix(12,9)를 예로 넣어 놓았는데요
trix(12) 값이 당일의 최고값을 돌파 할 때와 당일의 최저값을 돌파 할 때를
표시하는 수식을 부탁드립니다.
2.
9시10분까지는
9시1분 = 거래량
9시2분 = 9시1분 거래량 + 거래량
9시3분 = 9시1분 거래량 + 9시2분 거래량 + 거래량
....
9시11분 부터는
9시 2분거래량부터 9시 11분 까지의 누적 거래량
요약하면
매 10분마다 누적거래량을 보려고 합니다.
단, 장 시작후 10분이 되지 않을 때는 9시10분까지 매 분의 누적거래량을 구합니다.
3.
매 5분마다 입력된 가격 아래에 있을 경우
매도신호를 발생하려 합니다.
예) 12000 << 입력값
매 5분마다 12000원 아래면 매도신호 발생
감사합니다 (_ _)
2016-04-19
168
글번호 97215
답변완료
함수수정요청(251, 진입제어)
함수요청드립니다.
매수 : 주가 > 5 이동평균선 > 20 이동평균선 골든크로스 완성 시점 익봉 시가에 진입
매도 : 주가 < 5 이동평균선 < 20 이동평균선 데드크로스 완성 시점 익봉 시가에 진입
당일 골든크로스나 데드크로스 발생시 진입하되,
1. 매수신호는 기존에 20일이평선이 상승중일 때(직전 5개째봉과 비교 5개봉 연속으로 상승 중), 매도신호는 기존에 20일 이평선이 하향이동중일 때(직전 5개째봉과 비교 5개봉 연속으로 하락 중)는 그때만 신호를 없애고 싶습니다.
2. 매수신호는 기존에 5일이평선과 20일이평선이 동시에 상승중일 때(직전 5개째봉과 비교 5개봉 연속으로 상승 중), 매도신호는 기존에5일이평선과 20일이평선이 동시에 하향이동중일 때
(직전 5개째봉과 비교 5개봉 연속으로 하락 중)는 그때만 신호를 없애고 싶습니다.
단, 아래 글번호 47292번처럼 그때의 주문만 제거하여 나머지의 기존의 신호에는 영향을 받지 않게 하고자 합니다.
1번과 2번 식을 따로 부탁드립니다.
input : starttime(70000), xtime(60000);
var : tcond(false),cond1(false),cond2(false);
if stime == starttime or (stime > starttime and stime[1] < starttime) Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
}
if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{
Tcond = false;
}
var1 = ma(c,5);
var2 = ma(c,20);
cond1 = C > var1 and var1 > var2;
cond2 = C < var1 and var1 < var2;
if cond1 == true and cond1[1] == false then
Condition1 = true;
if cond2 == true and cond2[1] == false then
Condition2 = true;
if Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] Then
buy();
if Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] Then
sell();
2016-04-19
99
글번호 97214
답변완료
글번호47186번 재질문
안녕하세요?
글번호 47186번 재질문입니다.
답변 주신 아래의 스크립트에서 첫진입때
"if TT-T1 == 0 and var3 < 102"와 "if TT-T1 == 0 and var3 > 98" 일 때만 진입을 제거하고 싶습니다.
기존에 작성해주신 식으로는 나중에 나오는 신호까지 바뀌어 버립니다.
첫진입의 수량을 0으로 하여 나중에 나오는 신호에 대해서는 신호가 왜곡되지 않게 하고 싶습니다.
수량으로 컨트롤이 되지 않는다면 체결이 되지 않는 지정가 가격으로 주문을 생성하면 될 것 같습니다. (가령 유로화를 사자는 0.1달로로, 팔자는 10달러로)
input : starttime(70000), xtime(60000);
var : tcond(false),cond1(false),cond2(false),TT(0),T1(0);
if stime == starttime or (stime > starttime and stime[1] < starttime) Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
}
if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{
Tcond = false;
}
var1 = ma(c,5);
var2 = ma(c,20);
var3 = Disparity(20);
cond1 = C > var1 and var1 > var2;
cond2 = C < var1 and var1 < var2;
if MarketPosition == 0 Then
TT = TotalTrades;
Else
TT = TotalTrades+1;
if crossup(var1,var2) or CrossDown(var1,var2) Then
T1 = TT;
if cond1 == true and cond1[1] == false then
Condition1 = true;
if cond2 == true and cond2[1] == false then
Condition2 = true;
if Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] Then{
if TT-T1 == 0 and var3 < 102 Then
buy();
#첫진입이 아닐때
if TT-T1 > 0 Then
buy();
}
if Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] Then{
if TT-T1 == 0 and var3 > 98 Then
sell();
if TT-TT == 0 Then
sell();
}
2016-04-19
104
글번호 97213
답변완료
글번호47287번 "글번호47269번 재질문" 재질문
안녕하세요?
글번호 47287번 재질문입니다.
주문내용을 파일(텍스트파일)에 기록하고 싶습니다.
그런데 주문내용을 하나의 파일이 아닌
주문내역마다 건건이 다른 파일로 저장하고 싶습니다.
print("signal.csv",",매도,종목코드,%s,날짜,%.f,시간,%.f,익봉시가,%.2f",SymbolCode,sdate,stime,NextBarOpen);
2016-04-18
95
글번호 97212