커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7439
글번호 230811
답변완료
글번호 45401번 재질문
안녕하세요?
글번호 45401번 재질문드립니다.
답변주신 함수로 시스템을 돌려보면 매도신호가 나오지 않습니다.
원함수와 신호체계가 다른 듯합니다.
답변주신 함수의 논리(시스템검증)는 맞습니다만
원함수의 매매신호 포착 의도와 수정해주신 함수의 매매신호 포착 의도가 맞는지
검수 부탁드립니다.
감사합니다.
2015-12-09
150
글번호 93255
답변완료
문의드립니다.
Input : Period(14), LPercent(30), SPercent(70);
Var : value(0);
value = RSI(Period);
# 매수/매도청산
If CrossUP(value, LPercent) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value, SPercent) Then
{
Sell();
}
...............................................................................
상기 시스템식에서 매수신호 발생시 해당봉의 저가에 빨간색 선을 수평으로 그어주세요
마찬가지로 매도신호 발생시 그 해당봉의 고가에 파란색 선을 수평으로 그어 주세요
감사합니다.
2015-12-09
156
글번호 93254
답변완료
질문합니당 ..
처음에 진입은
10시 종가에 +0.50에 매수
-0.50에 매도진입합니다.
매수 진입후에 0.50p 단위로
0.50p단위로 이익실현할때는 계속 매수포지션 이고
한번 손절하면 그만하고 ( 예를 들어 240.00에 매수 진입하여 240.50에 한번
이익실현 하고 241.00에 또 한번 이익실현한후 240.50에 다시 손절 하면 그만 합니다 .)
마찬가지로
매도 진입후에 0.50p단위로
0.50단위로 이익실현할때는 계속매도포지션 입니다.
한번 손절하면 그만 합니다 .
청산시간은 3시입니다
2015-12-10
150
글번호 93253
답변완료
수정 부탁드립니다.
매번 성실한 답변 감사합니다.
개인적으로 큰 도움이 되고있습니다.
지표식 수정과 검색식으로 변경 문의입니다.
#### 분봉 기준입니다.
1.지표식 수정
### index 에서 1) 또는 2) 조건에 만족한 후에 검색된봉 바로 다음봉에
음봉이 발생되면 지표로 표시하려고합니다.
수정 부탁드리겠습니다.
2.아래 지표식을 아래와같이 검색식으로 변경해주시고 지표식도 부탁드립니다.
1) 당일로 되어있는데 n봉전부터 전일까지로 ### main 검색식을 변경
2) 1)번 검색이후에 전일까지는 검색된 주가보다 높은적이 없음
3) ### index는 당일에 1)번 검색된 주가보다 높을경우 검색
각 검색은 첫번째만 해당되게 부탁드립니다.(현재 지표식은 그렇게 되어있음)
**검색된 봉의 종가를 횡으로 선긋는 방법도 부탁드립니다.
감사합니다.
var : count(0),count1(0),Price1(0),price2(0),idx(0),idx1(0);
var1 = ma(c,24);
var2 = ma(c,48);
var4 = BollBandup(20,2);
var5 = BollBandup(80,2);
var6 = BollBandup(240,2);
var7 = ma(c,3);
var8 = ma(c,6);
var9 = ma(c,12);
if date != date[1] Then{
condition4 = false;
}
Condition3 = (c[1] < var5[1] or c[1] < var6[1]) and (h >= var5*0.99 or h[1] >= var5[1]*0.99) and
((crossup(c,var6*0.975) or (c > var6*0.975)) and h > var6*0.985);
condition5 = (var7 > var8 and var8 > var9 and var9 > var1 and var1 > var2);
### main
if condition4 == false and Condition3 == true and c > o and
(var4[1] < var6[1]*1.05 or var5[1] < var6[1]*1.05) and
dayopen < dayclose(1)*1.045 and
(c > dayclose(1)*1.015 or c > o[3]*1.015 or c > l*1.015) and
Condition5 == true and countif(Condition5[1] == False,24) then{
Condition4 = true;
Price1 = c;
price2 = o;
count = 0;
idx = 0;
}
### Index
idx = idx+1;
#### 1) 검색봉 다음봉돌파
if idx == 2 and c > price1 Then{
count = count+1;
count1 = count1+1;
plot1(c);
}
### 2) 검색봉 다음봉 이후돌파
if idx > 2 and c >= c[1] and h >= var5*0.99 and Upvol >= DownVol*1.1 and c > dayclose(1)*1.02 then{
count = count+1;
count1 = count1+1;
if count == 1 Then{
plot2(h);
}
}
### 3) 1) or 2) 발생후 바로 다음봉 음봉발생
???????????
2015-12-09
190
글번호 93249
답변완료
수식 부탁 드립니다.
시장가에서 +0.5 ,+1.0 ,+1.5 이렇게 차례로 터치할때 매수로 +0.5(1계약),+1.0(2계약),+1.5(3계약) 계약수를 늘리는걸 표현 할 수 있나요?
2015-12-09
150
글번호 93248
답변완료
스윙하이 문의드립니다.
SwingHigh(Nth,대상값,좌측봉수,우측봉수,대상봉수)
전에 스윙하이 파워포인트로 설명해준것도 찾아봤는데
이해가 되지 않아 질문드립니다.
1번의 Nth는 숫자가 들어가는게 맞는지요.
또한 들어간다면 어떤 숫자인지요(숫자가 의미하는바가 어떤것인지..).
대상값은 수치값이라고 나와있는데 어떤 수치값인지요.
대상 봉수는 스윙하이를 찾고자하는 기간이라고 나와있는데
스윙하이를 포함한 양쪽으로 동일한 기간인지 궁금합니다.
괜찮으시면 답변 기다리겠습니다.
또한 스윙 로우를 이용한 매도식은
대략적으로 어떻게 형성되는지 알려주시면 감사하겠습니다.
2015-12-09
206
글번호 93247
답변완료
질문 드려요~
아래에 있는 시스템수식 주석좀 상세하게 달아주세요~ 부탁드립니다
---------------
Input : EmaLen(280), macd1(40), macd2(90), macd3(80), Mult(4), stopPer(0.8);
var : emaV(0), MacdV(0), MacdS(0), MacdOsc(0);
var : LemaV(0), LmacdV(0), LmacdS(0), LmacdOsc(0);
# intermediate timeframe
emaV = ema(C,EmaLen);
MacdV = macd(macd1,macd2);
MacdS = ema(MacdV,macd3);
MacdOsc = MacdV-MacdS;
# intermediate timeframe * 5
LemaV = ema(C,EmaLen*Mult);
LmacdV = macd(macd1*Mult,macd2*Mult);
LmacdS = ema(MacdV*Mult,macd3*Mult);
LmacdOsc = (LmacdV-LmacdS)*Mult;
# 매수진입
If LemaV > LemaV[1] and LmacdOsc > LmacdOsc[1] then {
if CrossUp(C, emaV) Then
buy();
}
# 매도진입
If LemaV < LemaV[1] and LmacdOsc < LmacdOsc[1] then {
if Crossdown(C, emaV) Then
sell();
}
SetStopLoss(stopPer);
SetStopEndofday(150000);
2015-12-10
177
글번호 93246
답변완료
부탁합니다.
input : Period(18),r(12), s(26), SMTHLEN(3);
var : TSF(0),TSIv(0),TSIS(0),T1(0),T2(0);
TSF = LRL(C,Period)+LRS(C,Period);
Value1 = 100 * Ema(Ema(c-c[1], r), s) ;
Value2 = Ema(Ema(abs(c-c[1]), r), s) ;
TSIv = Value1 / Value2;
TSIS = Ema(TSIv, SMTHLEN);
if TSF > TSF[1] Then
T1 = 1;
if TSF < TSF[1] Then
T1 = -1;
if TSIS > TSIS[1] Then
T2 = 1;
if TSIS < TSIS[1] Then
T2 = -1;
if T1 == 1 and T1[1] != 1 Then
var1 = index;
if T2 == 1 and T2[1] != 1 Then
var2 = index;
if T1 == -1 and T1[1] != -1 Then
var3 = index;
if T2 == -1 and T2[1] != -1 Then
var4 = index;
if var2 > var1 Then
Condition1 = true;
Else
Condition1 = false;
if var4 > var3 Then
Condition2 = true;
Else
Condition2 = false;
If Condition1 == true and TSIS > TSIS[1] and TSF > TSF[1] Then
Buy();
If Condition2 == false and TSIS < TSIS[1] and TSF < TSF[1] Then
Buy();
*****************
Condition2 에 있는 Buy 는 Sell 로 변경했읍니다.
**************
1. 상기와같이 수식작성을해서 적용을 해봤는데... 역시 지표랑은 차이가 나는 부분이 꽤 있네요. 검토부탁합니다.
2. 여기에 and로 연결된 이평조건을 추가하고싶은데...기존 수식과의 영향은 없는지요?
( Condition 이 T2 에만 영향을 주는건지 아님 다른 지표에도 영향이 있는지 궁금하네요)
3. 매수를 예로들면
포지션이 있는경우 청산이 되지않은상태에서 매수조건이 다시 발생이 된다면
추가 1계약을 진입할수있도록 부탁드립니다. ( 청산은 일괄청산되도록 부탁드립니다.)
2015-12-09
162
글번호 93245
답변완료
주석 좀 상세하게 부탁드립니다.
Input : Period1(5), Period2(8),Period3(8),N(10);
var : Stok(0),StoD(0);
StoK = StochasticsK(Period1,Period2);
StoD = StochasticsD(Period1,Period2,Period3);
if crossup(stok,80) Then
var1 = 0;
if stok >= 80 Then
var1 = var1+1;
if CrossDown(stok,80) and var1 <= N Then
Buy("강력매수");
if CrossDown(stok,20) Then
var2 = 0;
if stok <= 20 Then
var2 = var2+1;
if CrossUp(stok,20) and var2 <= N Then
sell("강력매도");
2015-12-09
145
글번호 93244