커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5505
글번호 230811
부양가족 님에 의해서 삭제되었습니다.
2019-10-01
1
글번호 132437
답변완료
수정부탁드립니다.
안녕하세요? 아래 수식 수정좀 부탁드립니다.
1)날짜와 시간을 삭제해서 구애받지않게 해주세요.
2)하루매매횟수를 외부변수로 정할수있게 부탁드립니다.
2)익절과 손절, 그리고 트레일링 스탑을 외부변수로 조정할수있도록 빼주세요.
감사합니다.
Input : CurDate(20140604), StopTime(151500);
Var : DHigh(0), DLow(0);
If sDate == CurDate AND sTime == 90000 Then {
DHigh = H;
DLow = L;
}
If sDate == CurDate AND sTime >= 90100 Then {
If sTime >= StopTime Then {
ExitShort();
ExitLong();
} Else {
If MarketPosition == 0 Then {
/************ Gab ************/
// 갭상승 후 양봉
If O[0] > C[1] AND C[0] > O[0] Then {
Buy("GabB1", OnClose, C);
}
// 갭하락 후 양봉
If C[1] > O[0] AND C[0] > O[0] Then {
Buy("GabB2", OnClose, C);
}
// 갭상승 후 음봉
If O[0] > C[1] AND C[0] < O[0] Then {
Sell("GabS1", OnClose, C);
}
// 갭하락 후 음봉
If C[1] > O[0] AND C[0] < O[0] Then {
Sell("GabS2", OnClose, C);
}
/************ T1 ************/
// 1T 음봉 후 2T 이상 양봉
If O[1] - C[1] == 0.05 AND C[0] - O[0] >= 0.1 Then {
Buy("TB1", OnClose, C);
}
// 1T 양봉 후 2T 이상 음봉
If C[1] - O[1] == 0.05 AND O[0] - C[0] >= 0.1 Then {
Sell("TS1", OnClose, C);
}
// 2T 이상 양봉 후 1T 양봉
If C[1] - O[1] >= 0.1 AND C[0] - O[0] == 0.05 Then {
Buy("2TB1", OnClose, C);
}
// 2T 이상 양봉 후 1T 음봉
If C[1] - O[1] >= 0.1 AND O[0] - C[0] == 0.05 Then {
Sell("2TS1", OnClose, C);
}
// 2T 이상 음봉 후 1T 양봉
If O[1] - C[1] >= 0.1 AND C[0] - O[0] == 0.05 Then {
Buy("2TB2", OnClose, C);
}
// 2T 이상 음봉 후 1T 음봉
If O[1] - C[1] >= 0.1 AND O[0] - C[0] == 0.05 Then {
Sell("2TS2", OnClose, C);
}
/************ 쌍봉, 쌍바닥 ************/
// 쌍봉
If (H[0] == H[2] OR H[0] == H[1]) AND C[0] < O[0] Then {
Sell("TopS1", OnClose, C);
}
// 쌍바닥
If (L[0] == L[2] OR L[0] == L[1]) AND C[0] > O[0] Then {
Buy("botB1", OnClose, C);
}
}
If (H[1] >= DHigh OR H[2] >= DHigh OR H[3] >= DHigh OR H[4] >= DHigh OR H[5] >= DHigh OR H[6] >= DHigh) AND MarketPosition == 1 Then {
/*********** Gab ***********/
// 갭상승 후 음봉
If O[0] > C[1] AND C[0] < O[0] Then {
Sell("rGabS1", OnClose, C);
}
// 갭하락 후 음봉
If C[1] > O[0] AND C[0] < O[0] Then {
Sell("rGabS2", OnClose, C);
}
/*********** T1 ***********/
// 1T 양봉 후 2T 이상 음봉
If C[1] - O[1] == 0.05 AND O[0] - C[0] >= 0.1 Then {
Sell("rTS1", OnClose, C);
}
// 2T 이상 양봉 후 1T 음봉
If C[1] - O[1] >= 0.1 AND O[0] - C[0] == 0.05 Then {
Sell("r2TS1", OnClose, C);
}
// 2T 이상 음봉 후 1T 음봉
If O[1] - C[1] >= 0.1 AND O[0] - C[0] == 0.05 Then {
Sell("r2TS2", OnClose, C);
}
/************ 쌍봉, 쌍바닥 ************/
// 쌍봉
If (H[0] == H[1] or H[0] == H[2]) AND C[0] < O[0] Then {
Sell("rTopS1", OnClose, C);
}
}
If (L[1] <= DLow OR L[2] <= DLow OR L[3] <= DLow OR L[4] <= DLow OR L[5] <= DLow OR L[6] <= DLow) AND MarketPosition == -1 Then {
/************ Gab ************/
// 갭상승 후 양봉
If O[0] > C[1] AND C[0] > O[0] Then {
Buy("rGabB1", OnClose, C);
}
// 갭하락 후 양봉
If C[1] > O[0] AND C[0] > O[0] Then {
Buy("rGabB2", OnClose, C);
}
/************ T1 ************/
// 1T 음봉 후 2T 이상 양봉
If O[1] - C[1] == 0.05 AND C[0] - O[0] >= 0.1 Then {
Buy("rTB1", OnClose, C);
}
// 2T 이상 양봉 후 1T 양봉
If C[1] - O[1] >= 0.1 AND C[0] - O[0] == 0.05 Then {
Buy("r2TB1", OnClose, C);
}
// 2T 이상 음봉 후 1T 양봉
If O[1] - C[1] >= 0.1 AND C[0] - O[0] == 0.05 Then {
Buy("r2TB2", OnClose, C);
}
// 쌍바닥
If (L[0] == L[1] or L[0] == L[2]) AND C[0] > O[0] Then {
Buy("rbotB1", OnClose, C);
}
}
//MessageLog("DHigh : %.2f, DLow : %.2f", DHigh, DLow);
// 고, 저가 저장
If H > DHigh Then {
DHigh = H;
}
If L < DLow Then {
DLow = L;
}
}
SetStopProfittarget(1.5, PointStop);
SetStopTrailing(0.7, 1.0, PointStop);
SetStopLoss(0.7, PointStop);
}
2019-10-01
225
글번호 132436
답변완료
간단한 수식작성 부탁드립니다.
안녕하세요?
간단한 수식작성 부탁드립니다.
**진입
적삼병(양봉연달아 3개) 또는 흑삼병(음봉 연달아3개) 에 진입.
**청산
1) 진입한 포지션 반대방향으로 신호발생시 청산후 청산방향으로 재진입.
2)익절(외부변수)틱, 손절(외부변수)틱
1번이나 2번중 먼저 발생하는 신호에 청산.
감사합니다.
2019-10-01
195
글번호 132435
답변완료
종목 검색식
A=ma(C,기간1);
B=ma(C,기간2);
valuewhen(1,CrossUp(A,B),A)
기간1 3
기간2 225
종목이 종가에 검색되도록 부탁드립니다
2019-10-01
219
글번호 132434
답변완료
64328 delay time 재문의
아래 수식의 결과가 나오지 않아서 64328로 문의드렸는데요
delay time을 1분으로 적용해보니 결과값이 한달에 10회~ 20회는 나오는군요
delay time을 1분
연결선물 1분차트 적용
시뮬레이션을 해보았습니다.
2019년 1월부터 10월1일까지 시뮬레이션을 하면
첨부파일 1처럼 1월과 2월에만 결과가 나옵니다.
2019년 7월부터 10월1일까지 시뮬레이션 결과는
첨부파일 2처럼 7월,8월,9월,10월 결과가 모두 나옵니다.
시뮬레이션 기간이 길면 안나오고 좁으면 나오는 것을 해결할 방법은 없는지요?
input : 당일최대진입횟수(1);
var : T1(0),entry(0);
var : BuySetup(false),SellSetup(false),Buyprice(0),SellPrice(0),BD(0),BT(0),SD(0),ST(0);
if bdate != Bdate[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
if MarketPosition <= 0 and BuySetup == false and dayindex == 0 and C > O Then
{
BuySetup = true;
Buyprice = C;
BD = sdate;
BT = TimeToMinutes(stime);
}
if MarketPosition >= 0 and BuySetup == false and dayindex == 0 and C < O Then
{
SellSetup = true;
SellPrice = C;
SD = sDate;
ST = TimeToMinutes(stime);
}
if MarketPosition == 1 Then
BuySetup = false;
if MarketPosition == -1 Then
SellSetup = false;
if MarketPosition <= 0 and BuySetup == true and Sdate == BD and TimeToMinutes(stime) >= BT+1 and crossup(c,BuyPrice) and entry < 당일최대진입횟수 Then
buy("b");
if MarketPosition >= 0 and SellSetup == true and Sdate == SD and TimeToMinutes(stime) >= ST+1 and CrossDown(c,SellPrice) and entry < 당일최대진입횟수 Then
sell("s");
2019-11-01
259
글번호 132433
답변완료
문의 드립니다.
키움수식인데요...
예스로 변환좀 부탁드립니다.
수식2
t1=tema(c,period1);
x=valuewhen(1,crossdown(c,t1),
highestsince(1,crossup(c,t1),t1));
수식3
t1=tema(c,period1);
y=valuewhen(1,crossup(c,,t1),
lowestsince(1,crossdown(c,t1),t1));
수식4
t1=tema(c,period1);
x=valuewhen(1,crossdown(c,t1),
highestsince(1,crossup(c,t1),t1));
수식5
t1=tema(c,period1);
y=valuewhen(1,crossup(c,,t1),
lowestsince(1,crossdown(c,t1),t1));
지표조건
period1 20
period2 10
p1 5
period3 3
이수식을 지표식으로 변환 부탁드립니다..
해당지표의 신호식도 같이좀 부탁드립니다.
매번 감사드립니다.
2019-10-01
268
글번호 132432
답변완료
문의
일봉에서 몸통보다 윗꼬리 크기가 더 크게 발생한 날들의 고가를 찾아서 사용하려면..
예를 들어 4일전에 윗꼬리가 몸통보다 크게 발생하였고 그날 고가를 오늘 현재가가 돌파하는 종목을 찾을 수 있는 수식 부탁드립니다
2019-10-01
220
글번호 132429
답변완료
부탁좀 드리겠습니다.
수고하십니다
일전의 답변을 받았으나 제가 찾는 수식이 아닌듯 하여 기존의 질룸을 좀더 다듬어 다시 부탁드립니다.
input : Atime을 이용한 수식이었으면 합니다
var :
Array :
부탁드립니다.
=========================================================================
1. 오픈챠트 : 200틱 60일(고가,종가,저가) 이동평균선 챠트가 열려있습니다
여기에
2. 500틱 120일(고가,종가,저가) 이동평균선
3. 5분봉의 5일(고가,종가,저가) 이동이평선
4. 30분봉의 20일(고가,종가,저가) 이평선을 가져올 수식구현이 가능한지요?
즉 열려있는 200틱 챠트의 60일선과 / 500틱 120일선 / 5분 5일선 / 30분 20일선
(각항공통 고가, 저가, 종가) 라인 구현을 하고자 합니다)
가능하다면
- 선두께 변경가능
- 분&틱 기간 변경가능
- 이평선 주기 변경가능
- 소수점 자릿수(Y측 좌표값)
*최대치 또는 근소값이 라도 부탁드립니다.
2019-10-01
230
글번호 132407
답변완료
질문드립니다.
1. data1에서 켈트너채널 하단 하향돌파하고 data2 켈트너채널에서 하단 하향돌파하면 페인트바 신호 부탁드립니다.
2. 월봉100이평을 종가가 크로스업하면 찾는 검색식 부탁드립니다.
2019-10-01
201
글번호 132404