커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8101
글번호 230811
답변완료
키움신호인데변환바랍니다
A1 = MACD(short, long); A2 = eavg(A1, signal); B1 = sar(0.02, 0.2); D1 = wavg(C,5); D2 = wavg(C,10); D3 = wavg(C,20); R1 = A1 >A2; R2 = C >B1; R3 = D1 >D2 &&D2 >D3; R4 = (D3 - D3(1)) >(D3(1) - D3(2)); R1 &&R2 &&R3 &&R4
A1 = MACD(short, long); A2 = eavg(A1, signal); B1 = sar(0.02, 0.2); D1 = wavg(C,5); D2 = wavg(C,10); D3 = wavg(C,20); R1 = A1 <A2; R2 = C <B1; R3 = D1 <D2 &&D2 <D3; R4 = (D3 - D3(1)) <(D3(1) - D3(2)); R1 &&R2 &&R3 &&R4
2018-09-08
331
글번호 121899
답변완료
주석요청
안녕하세요?
바쁘시겠지만 답변주신 아래 스크립트 주석을 요청드립니다.
var :T(0),Year(0);
Year = Floor(sDate / 10000);
Value2 = 15 - dayofweek((10000 * Year) + (100 * 3) + 1); // 3월 두번째 일요일 날짜
value4 = 8 - dayofweek((10000 * Year) + (100 * 11) + 1); // 11월 첫번째 일요일 날짜
If date > (10000 * Year) + (100 * 3) + value2
And date < (10000 * Year) + (100 * 11) + value4 Then
T = 1;
Else
T = 0;
if T == 1 Then
{
if stime == 223000 Then
{
var1 = o;
if C > O Then
buy("b1",AtMarket);
if C < O Then
sell("s1",AtMarket);
}
if stime == 223600 Then
{
if MarketPosition == 1 and C > var1 Then
buy("b2",AtMarket);
if MarketPosition == 1 and C < var1 Then
exitlong("bx");
if MarketPosition == -1 and C < var1 Then
sell("s2",AtMarket);
if MarketPosition == -1 and C > var1 Then
ExitShort("sx");
}
if MarketPosition != 0 and stime == 033000 Then
{
exitlong("bx1");
ExitShort("sx1");
}
}
else
{
if stime == 233000 Then
{
var1 = o;
if C > O Then
buy("b1.",AtMarket);
if C < O Then
sell("s1.",AtMarket);
}
if stime == 233600 Then
{
if MarketPosition == 1 and C > var1 Then
buy("b2.",AtMarket);
if MarketPosition == 1 and C < var1 Then
exitlong("bx.");
if MarketPosition == -1 and C < var1 Then
sell("s2.",AtMarket);
if MarketPosition == -1 and C > var1 Then
ExitShort("sx.");
}
if MarketPosition != 0 and stime == 043000 Then
{
exitlong("bx1.");
ExitShort("sx1.");
}
}
SetStopProfittarget(1,PointStop);
SetStopLoss(1,PointStop);
2018-09-07
243
글번호 121898
답변완료
추세추종 시스템문의
params : Leng(14) ;
Variables : StoreADX(0) , PlusDI(0), MinusDI(0) ;
StoreADX = ADX(Leng);
PlusDI = PDI(Leng);
MinusDI = MDI(Leng);
Cond1 = StoreADX >= StoreADX(1) and StoreADX[1] >= StoreADX[2] and StoreADX[2] >= StoreADX[3];
Cond2 = Crosses_Above(PlusDI, MinusDI) ;
Cond3 = Crosses_Below(PlusDI, MinusDI) ;
if Cond1 and Cond2 Then
Buy("B1", OnClose,0,10);
if Cond1 and Cond3 Then
Sell("S1", OnClose,0,10);
Con4 = StoreADX <= StoreADX[1] and StoreADX[1] <= StoreADX[2] and StoreADX[2] <= StoreADX[3];
if Cond4 and Con3 Then
ExitLong("LX1", OnClose);
if Cond4 and Cond2 Then
ExitShort("SX1", OnClose);
SetStopPosition;
SetDollarTrailing(1);
SetExitOnClose;
다른 곳에 올려진걸 제가 적어본건데 시스템 검증을 해보니 오류가 많이떠서 오류를 고쳐서 될수 있게 해주세요,,
2018-09-07
300
글번호 121897
답변완료
변수 설정부탁드립니다.
해외 선물 거래시
변수 함수식을 부탁드립니다..
1. 시가 + (틱수) 돌파시매수 (틱수가 변수)
시가 - (틱수) 하향시 매도 (틱수가 변수)
(틱수)를 변수로 지정하여, 조정하며 테스트하고자 하는데
유로, 오일이 각각 PriceScale이 달라서 어떻게 수식을 만들어야는지요.../
ver1 = dayopen() , (틱수를 변수로하는 수식);
if crossup(c,ver1 + 변수) Then
buy("b",OnClose,def,2);
2.지표로는 어떻게 하는지도 궁금합니다..
시가 보다 5틱(변수) 위에 선이 그려지게 할때 5틱이 변수로 조정가능하게 좀해주세요..
ver1 = dayopen() + 변수(틱)
2018-09-07
235
글번호 121895
답변완료
수식 문의
please check attaschment.
always thank you
2018-09-10
290
글번호 121881
답변완료
식 문의드립니다.
안녕하세요, 식문의드립니다.
주식으로 제가 값을 설정해서 진행할수있게 부탁드립니다.
*설정 : 매수가, 매수량, 청산가
*손절
(모두 시장가)
a
1~15번까지 설정을 진행할수있게 하여 해당 매수가에 도달시 매수
(1번매수가550원 2번매수가500원 3번매수가450원 4번...., 금액을입력안하면 진입없는것)
지정한일자 이후로만 진행되며
각 번호별로 한번씩만 매수되며
설정중 시초가 갭 발생등으로 정해놓은 번호를 넘어도 순서대로 매수가 아님으로
해당 번호매수가에 설정이 발생됨
진입은 아래서든 위에서든 설정가격에 만족하면 바로 진입
갭 발생으로 닫지않으면 진입하지않음
시초가 때만 설정한 매수가의 플러스 마이너스 0.5% 범위내의 경우
근처 설정한 매수가 진입
b
진입후 청산은 각 진입에서 설정한 청산가격에도달시
여러번 진입시 마지막 설정한 청산값에서 지금까지 진입한 모든수량 청산
(3번,4번,5번 진입후 5번에 만족하는 청산값 도달시
3,4,5,에서 매수한 전량 청산
c
손절값에 도달하면 지금까지 진입한 전량손절
(1,2,3,4번에서 진입한 수량 전량손절)
d.청산값은 1,2,3번 진입시 3번에서 설정한 값으로 진입하는데
3번진입후라도 청산값을 수정하면 수정한 청산값으로 할수있게 부탁드립니다.
손절값이나 청산값이 시초가 갭발생시 그아래거나 그위면
가격에 닫지 않아도 바로 손절,청산 진행.
식 부탁드립니다.
감사합니다.
2018-09-09
262
글번호 121879
답변완료
함수요청
안녕하세요?
함수요청드립니다.
전략은 다음과 같습니다.
1. 써머타임 적용시
1-1. 31분봉(22:30:00~22:30:59) == 양봉이면 32분에 매수 진입
가. 36분봉(22:30:00~22:35:59) == 양봉이면 37분에 추가매수
나. 36분봉(22:30:00~22:35:59) == 음봉이면 37분에 매수청산
1-2. 31분봉(22:30:00~22:30:59) == 음봉이면 32분에 매도 진입
가. 36분봉(22:30:00~22:35:59) == 양봉이면 37분에 매도청산
나. 36분봉(22:30:00~22:35:59) == 음봉이면 37분에 추가매수
1-3. 강제청산:오전 3시 31분 시가봉
2. 써머타임 해제시
2-1. 31분봉(23:30:00~23:30:59) == 양봉이면 32분에 매수 진입
가. 36분봉(23:30:00~23:35:59) == 양봉이면 37분에 추가매수
나. 36분봉(23:30:00~23:35:59) == 음봉이면 37분에 매수청산
2-2. 31분봉(23:30:00~23:30:59) == 음봉이면 32분에 매도 진입
가. 36분봉(23:30:00~23:35:59) == 양봉이면 37분에 매도청산
나. 36분봉(23:30:00~23:35:59) == 음봉이면 37분에 추가매수
2-3. 강제청산: 오전 4시 31분 시가봉
3. 손절: 진입가 - 1달러
4. 익절: 진입가 + 1달러
**손익이 1달러가 아닌 유가 가격이 1달러입니다.
EntryPrice+-PriceScale*100 으로 하니 원하는 신호가 아닙니다.
즉 60달러에 매수 진입시 61달러에 익절, 59달러에 손절하고자합니다.
가격으로 부탁드립니다.
2018-09-07
262
글번호 121876
답변완료
수식문의
안녕하세요
하기 조건으로 수식 부탁드립니다.
1.
조건
1.볼린져 밴드의 폭이 3봉이상 같거나 작아지고 있습니다.
2. ADX 라인에서 DP/DI가 모두 ADX 라인 아래에 있습니다.
3. 가격이 볼린져 상단에 닿을때 볼린져 이평은 3봉이상 연속 낮아지고 있습니다.
가격이 볼린져 하단에 닿을때 볼린져 이평은 3봉이상 연속 높아지고 있습니다.
상기 상황에서
무포인경우 가격이 볼린져 밴드 상단에 닿으면 매도진입
매수상황인 경우 매도 스윗칭 부탁드립니다.
무포인경우 가격이 볼린져 밴으 하단에 닿으면 매수진입
매도상황인 경우 매수 스위칭 부탁드립니다.
2.
한개의 봉이 50틱이상 나타나고, 종가가 볼린져 밴드 상단 밖에서 종가가 된 상태에
MACD oscillator 가 음에서 양이 되면 매도 진입 부탁드립니다
반대로 매수도 진행부탁드립니다.
한개의 봉이 50틱이상 나타나고, 종가가 볼린져 밴드 하단 밖에서 종가가 된 상태에
MACD oscillator 가 양에서 음이 되면 매수 진입 부탁드립니다.
청산 조건은 매수 진입후 음봉이 발생하면 청산 합니다.
매도 진입후 양봉이 발생하면 청산합니다.
감사합니다.
2018-09-07
194
글번호 121875
답변완료
질문드립니다.
data4 1분봉에서
오후 10시 30분이 되면 페인트바.
//
2. 여러가지 이평이 있는데 로직이 길어져서 간단히 정리하고 싶은데요.
if 시가를 크로스다운하고, 5이평, 20이평, 50이평, 100이평 충 하나라도 크로스 다운하면,
페인트바 이렇게 가능할까요
감사합니다.
2018-09-06
213
글번호 121874