커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8207
글번호 230811
답변완료
수식문의
주문수량은 주문함수에 수량을 지정하지 않으면
설정창의 설정한 수량이 적용되는 것으로 알고 있습니다.
그리고 주문함수에 수량을 직접 지정하면 설정창의 수량은 적용되지 않고......
그런데 궁금한 것은...
한 시스템 식 내에서
매수방식 1에서는 수량을 아래와 같이 지정하고
# 매수조건1 만족시 3계약 매수
if 매수조건1 then
buy("b",onclose,def,3);
매수방식 2에서는 수량을 아래와 같이 지정하지 않으면....
# 매수조건2 만족시 매수
if 매수조건2 then
buy("b",onclose);
이 때에는 매매설정창에서 지정한 (예;1개로 지정) 수량이 매매되는 것인가요?
아니면 모두 동일하게 매수조건1에서 지정한 수량 3개가 적용되나요?
만약 다르게 적용된다면(매수조건1에서는 3개, 매수조건2에서는 1개)
exitlong처럼 청산식에서는 진입방식에 따라 청산수량도 달리 지정해주어야 하나요?
궁금합니다.
2013-12-29
197
글번호 70887
답변완료
오류인가요.?
자동매매 사용자입니다...
자동매매로 진입체결이 된 후 수동으로 청산주문 후 청산취소주문을 넣었습니다..
다음 신호에 청산과 진입이 동시에 이루어져야 하나, 청산주문은 실행이 되었으나,
진입주문은 실행이 되지 않았습니다..
무엇이 오류인가요.?
아님..자동매매로 진입체결이 된 후
1. 수동으로 청산주문을 넣으면 다음 신호에 진입이 안되나여.?
2. 수동으로 청산취소주문시 다음신호에 진입이 안되나여.?
2013-12-29
193
글번호 70886
답변완료
호가잔량당일표시
안녕하세요
1. 호가잔량 당일 표시부탁드립니다.
2. 호가잔량 주별 표시부탁드립니다.
3. 호가잔량 월별 표시부탁드립니다.
Input : Period(14);
Var : value(0);
value = ma(bids,period)-ma(asks,period);
If value > value[1] Then
{
Plot1(value, "매수총잔량 우위");
Plot2(0, "매도총잔량 우위");
}
If value < value[1] Then {
Plot1(0, "매수총잔량 우위");
Plot2(value, "매도총잔량 우위");
}
2013-12-29
250
글번호 70885
답변완료
시스템식의 Data2 참조식 구현
수고하십니다.
예스랭귀지에있는 아래 "시스템식(A)"를 "Data2 참조식(B)"으로 사용하고자 작성했으나 신호가 잘못되고있어, Data2 참조식(B)"의 오류여부를 확인하시어 수정 부탁드립니다.
(A)
Inputs: VtyPercent(0.75),ATRperiod(5);
If MarketPosition() <> 1 Then
Buy ("b", AtStop, Close + (VtyPercent * ATR(ATRperiod)));
If MarketPosition() <> -1 Then
Sell ("s", AtStop, Close - (VtyPercent * ATR(ATRperiod)));
(B)
Inputs: VtyPercent(0.75),ATRperiod(5);
If MarketPosition() <> 1 Then
Buy ("b", AtStop,Data2(Close) + (Data2(VtyPercent) * Data2(ATR(ATRperiod))));
If MarketPosition() <> -1 Then
Sell ("s", AtStop, Data2(Close) - (Data2(VtyPercent) * Data2(ATR(ATRperiod)))); <끝>
2013-12-29
198
글번호 70884
답변완료
수식구현 부탁드립니다.
'당일에 한해'
1. 5분봉에서 전봉과 현재봉의 미결차이가 1000 이상나고 양봉일때
다음봉들이 미결차 발생한 양봉의 종가보다 위에 종가가 있으면 매수,
그러다 그 양봉의 고가저가의 1/2 아래 종가가 생기면 매도,
2. 5분봉에서 전봉과 현재봉의 미결차이가 1000 이상나고 음봉일때
다음봉들이 미결차 발생한 음봉의 종가보다 아래에 종가가 있으면 매도,
그러다 그 음봉의 고가저가의 1/2 위에 종가가 생기면 매수
이렇게 시스템식 부탁드립니다.
만약 당일에 전봉과 현재봉의 미결차가 1000이상 차이나는 봉이 없으면
그날은 신호가 발생하지 않게 말입니다.
3. 혹시.. 미결차 발생한 봉의 고가저가의 1/2 수치를 글씨로 차트에 나타나게 할수는없을까요?
부탁드립니다 (__)
2013-12-30
195
글번호 70883
로렌스 님에 의해서 삭제되었습니다.
2013-12-29
0
글번호 70882
로렌스 님에 의해서 삭제되었습니다.
2013-12-29
0
글번호 70881
답변완료
수식 문의 드립니다.
5분봉에서
1) Linear Regression Line
Period (14) / signal (7)
Period 값이 > signal 값보다 크고
2) CCI가 -50 이하 이면서
3) 스토캐스틱 슬로우(10,6,6) 슬로우K값이 40 이하일 때 매수신호를 표현하고 싶습니다.
위 조건이 모두 부합할 때만 매수조건 입니다.(and조건)
==================================================================================
반대로
1) Linear Regression Line
Period (14) / signal (7)
Period 값이 < signal 값보다 작고
2) CCI가 +50 이상 이면서
3) 스토캐스틱 슬로우(10,6,6) 슬로우K값이 60 이상일 때 매도신호를 표현하고 싶습니다.
위 조건이 모두 부합할 때만 매도조건 입니다.(and조건)
==================================================================================
청산 전략은 필요없고, 위 매수-매도 조건으로 시스템 수식을 만들고자 합니다.
수식 부탁드립니다.
참고로 아래는 사용하는 LRL 지표 수식입니다.
위에 1번 조건에 필요할까 해서 적어둡니다.
-------------------------------------------
Input : Period(14),signal(7);
Plot1(LRL(C,Period), "LRS");
Plot2(ma(plot1,signal), "signal");
-------------------------------------------
수고하세요.
2013-12-29
194
글번호 70880
답변완료
문의드립니다.
예스랭귀지로 편집할려고하는데 좀 힘이 들어서..부탁드립니다 ^^
pds:=Input("EMA periods",1,252,21);
pdsBak:=Input("lookback periods",1,252,42);
x:=Input("use: Open=1, High=2, Low=3, Close=4, WClose=5",1,5,4);
plot:=Input("[1]AutoEnvelope, [2]Long signals, [3]All signals",1,3,1);
delay:=Input("Entry/Exit signals delay",0,5,0);
x:=If(x=1,O,If(x=2,H,If(x=3,L,If(x=5,WC(),C))));
Avg:=Mov(x,pds,E);
hiAvg:=HHV(H,pdsBak);
loAvg:=LLV(L,pdsBak);
shift:=
Mov(If(hiAvg>Avg,hiAvg-Avg,Avg-loAvg),pds,E);
UpperBand:=Avg+shift;
LowerBand:=Avg-shift;
In:=Cross(x,LowerBand);
Out:=Cross(x,UpperBand);
Init:=Cum(In+Out>-1)=1;
InInit:=Cum(In)=1;
flag:=BarsSince(Init OR In)
<BarsSince(Init OR Out)+InInit;
signals:=Ref((InInit AND Alert(InInit=0,2)
OR flag AND Alert(flag=0,2))
-(flag=0 AND Alert(flag,2)),-delay);
If(plot=1,UpperBand,If(plot=2,signals,In-Out));
If(plot=1,Avg,If(plot=2,0,0));
If(plot=1,LowerBand,If(plot=2,signals,In-Out))
2013-12-29
194
글번호 70879