커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7294
글번호 230811
답변완료
이것저것 문의드립니다.
도와주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
진입 b
시간 09:00~09:30
종가가
타주기 참조 볼린저밴드 상단선(표준편차 2)
상향돌파
청산 b
저가가
타주기 탐조 볼린저밴드 상단선을
하향돌파시 청산 (*만약 저가가 코딩으로 안되면 종가로)
진입c
시간 09:30~13:30
저가가 타주기참조 볼린저밴드 하단선(표준편차 1.8)을 하향돌파시 진입
청산 c
고가가 볼린저밴드 상단선(표준편차 1.8) 상향돌파시 청산
비고
진입b는 진입b조건으로 진입c는 진입c조건으로 청산코딩 부탁드립니다.
2. 시스템
변수:
-설정자금
-설정자금/n에서 n
-오후 13:30분부터 15:15분까지 투입자금(설정자금을 변수n만큼 나눈 금액)만큼 분할매수
-다음날 시가대비 n%상승하거나
-다음날 09:10분이 넘어가면 청산
3. 시스템
-설정금액
-투입금액: 봉갯수만큼 나눠서 매수
-봉 종가마다 매수
-봉 종가가 이전 종가보다 높으면 오른 퍼센테이지만큼 뺀 금액 매수
(예 종가가 1개봉전 종가보다 0.2% 올랐다. => 기존 투입금액의 98.8% 매수)
-다음봉도 이전봉보다 0.2% 올랐다면 98.8%-(98.8%*0.2%) 금액만큼 매수(누적 개념으로)
반대로 봉 종가가 이전 종가보다 낮으면 내린 퍼센테이지만큼 더한 금액 매수
(예 종가가 1개봉전 종가보다 0.2%내렸다. => 현 투입금액*0.2% 더한 금액만큼 매수, 무조건 조건은 이전봉 기준으로, 예를 들어 계속 상승해서 95%투입하다가 다시 오르기 시작하면 95%투입 기준으로 더하기 시작)
청산: 다음날 시가에 청산.
4. 시스템
매수
참조데이터 종가가 참조데이터 당일 고가와 참조데이터 저가 변동폭의 하위 20% 이내에 형성되면 당일 종가에 매수
매도
참조데이터 종가가 참조데이터 당일 고가와 참조데이터 저가 변동폭의 상위 20% 이내에 형성되면 익일 시가에 매도
5. 기타
우선 시초가에 봉완성시 매수된 뒤에 시초가 아래에 있는 봉에서 매수진입을 하려고 했습니다. 위의 선은 시초가 선이고 아래선은 value1선인데요.
아래와 같이 저가가 value선을 하향돌파하면 c2진입이 들어가게 하려고 했는데 함께 실행해보니 시초가부터 c2진입이 들어갑니다. 한번 직접 짜보려고 하니 어렵네요.
시초가에선 무조건 사고
이런 저런 조건들을 하나 둘씩 붙여 나가는 식으로 코딩을 짜려면 어떻게 짜야 할까요? value선은 시초가 - 15틱선입니다. 차트는 연결선물지수 3분 10월 26일자입니다.
input:p(15);
var: value(0);
if sdate != sdate[1] and O > close[1] Then
buy("b");
value = O - (p*PriceScale);
if CrossDown(L,value) then
buy("c2", onclose);
2017-10-30
218
글번호 113730
답변완료
문의드림니다.
내가 만든 지표의 값을 K라 했을때,
첫번째 지표는
K를 내가 원하는 날짜를 변수처럼 입력가능하게 하여
원하는 날짜부터 시작해서 K를 구현하는 일봉수식 1개와
두번째 지표는
K를 내가 원하는 분봉 시간을 변수처럼 입력가능하게 하여
원하는 분봉시간부터 시작해서 K를 구현하는 분봉수식 1개
각각 부탁드림니다.
분봉은 당일은 물론이거니와 몇일전 분봉도 시작할수 있게 부탁드립니다.
마지막으로,(날짜,시간)변수 입력 방식도 설명해주시면 좋겟네요.
미리 감사의 말 전합니다. 수고하세요 ^^
2017-10-29
188
글번호 113729
답변완료
수식부탁드립니다----------------
data2는 콜값이구요
data3는 풋값입니다
아래와같이하니까 콜과풋 값이 교차되는봉의 종가를 "crup(교차라인)"값으로 하는데 이렇게하니 봉의길이가길면 종가의값이 교차된 시점의값과 차이가 많이 납니다 콜,풋이 종가가아닌 교차된값을 "crup(교차라인)"값으로 하고 싶슴니다 부탁드립니다
//--------------------------------------------------------------------------------
Input:LENGTH1(50),비교봉(5),비교봉1(5),양합상승(1.03),양합하락(0.98),표시2(0);
Input:소리2(0),소리22(0),표시위치(0.7),최고저기준(500);
var : sum2(0,data1),sum4(0,data1),sum6(0,data1),TEMA1atm2(0),TEMA1atm4(0),TEMA1atm6(0),ss(0);
var : HH(0,data2),LL(0,data2),ii(0,data2);;
var : crup(0),crdn(0),sum22(0);
sum2 = (data2(c)+data3(c));
sum22 = sum2 - crup ;
if data2(bdate != bdate[1]) Then{
ii = 0;
HH = sum22;
LL = sum22;
}
else
{
ii = ii+1;
if ii < 최고저기준 Then
{
if sum22 > HH Then
HH = sum22;
if sum22 < LL Then
LL = sum22;
}
else{
HH = data2(highest(sum22,최고저기준));
LL = data2(lowest(sum22,최고저기준));
}
}
//plot1(sum2,"양합");
PLOT3(sum22,"수정양합");
plot21(HH,"Data2 H" );
plot22(LL,"Data2 L");
TEMA1atm2 = (3 * Ema(sum2,LENGTH1)) - (3 * Ema(Ema(sum2,LENGTH1),LENGTH1)) +
(Ema(Ema(Ema(sum2,LENGTH1),LENGTH1),LENGTH1));
//plot5(TEMA1atm2,"태마2",iff((TEMA1atm2 )>(TEMA1atm2[1])+00,RED,iff((TEMA1atm2 )<(TEMA1atm2[1] )-00,BLUE,BLACK)));
if 표시2 == 1 then
{
if sum22[비교봉]*양합상승< sum22 Then
{
PLOT11((sum22 ),"매수2");
if 소리2 == 1 then {
PlaySound("C:UsersAdministratorDesktopsoundalert.wav");
}
}
if sum22[비교봉1]*양합하락> sum22 Then {
PLOT12((sum22 ),"매도2");
if 소리22 == 1 then {
PlaySound("C:UsersAdministratorDesktopsound
eject.wav");
}
}
if sum22[비교봉1]*양합하락 == sum22 Then {
PLOT13((sum22 ),"매3");
}
}
plot6(Data2(c),"콜");
plot7(Data3(c),"풋");
if CrossUp ( Data2(c),Data3(c)) Then{
// PLOT8(Data2(c),"상승교차");
crup = Data2(c);
// PlaySound("C:UsersAdministratorDesktop효과Bandi.wav");
}
if CrossDown ( Data2(c) ,Data3(c)) Then{
// PLOT9(Data2(c),"하락교차");
crup = Data2(c);
// PlaySound("C:UsersAdministratorDesktop효과click08.wav");
}
PLOT31(crup,"교차라인");
2017-10-29
217
글번호 113728
매일 님에 의해서 삭제되었습니다.
2017-10-29
1
글번호 113727
답변완료
문의 드립니다.
시스템식에서
아래처럼 매수시에 "매수"라는 문자 앞에 변수에 들어가 있는 문자를 첨가하고 싶은데
방법 좀 부탁드립니다. & 를 써도 안되고 + 를 써도 안되어서.......
if문으로 조건을 걸어서 Txt_1 이나 Txt_2 변수에 문자를 대입한 다음 그 문자 뒤에 "매수"나 "매도"가 같이 출력되도록 하고 싶습니다.
Txt_1 ="선물+";
Txt_2 ="옵션+" ;
BUY( Txt_1&Txt_2&"매수");
2017-10-28
212
글번호 113726
답변완료
문의
시스템 신호 나올때 화살표 색깔을 노란색으로 나타 나게 할수 있나요
2017-10-28
193
글번호 113725
답변완료
행복; 시스템식 작성 바랍니다
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
시스템식 관련입니다
Q&A #55254(주기가 일봉인 시스템식) 에 대한 << 아래 >>의 답변 감사합니다
====================<< 아래 >>=================================
주기; 일봉
var : DayCnt(0),SH(0),SHCnt(0);
var : H1(0),D1(0),H2(0),D2(0),H3(0),D3(0),ED(0);
if sdate != sdate[1] Then
DayCnt = DayCnt+1;
SH = SwingHigh(1, H, 25, 25, 51);
if sdate >= 20160101 Then
{
if SH != -1 then
{
SHcnt = SHcnt+1;
if SHcnt == 1 Then
{
H1 = SH;
D1 = DayCnt;
}
if SHcnt == 2 Then
{
H2 = SH;
D2 = DayCnt;
}
if SHcnt == 3 Then
{
H3 = SH;
D3 = DayCnt;
}
}
if MarketPosition == 0 and H1 > 0 and Daycnt < D1+100 and Daycnt > D1 and crossup(c,H1) Then
buy("b1");
if MarketPosition == 1 and MaxEntries == 1 and H2 > 0 and Daycnt < D2+100 and Daycnt > D2 and crossup(c,H2) Then
buy("b2");
if MarketPosition == 1 and MaxEntries == 2 and H3 > 0 and Daycnt < D3+100 and Daycnt > D3 and crossup(c,H3) Then{
buy("b3");
ED = Daycnt;
}
if MarketPosition == 1 and MaxEntries == 3 and daycnt >= ED+11 Then
ExitLong("bx");
}
=============================================================================
상기의 시스템식을
1-1. 주기가 틱봉(30틱) 이고, 매도는 매수 당일 15시 10분에 매도하게 하려면 어떻게 수정해야 하는지요?
1-2. 주기가 틱봉(200틱) 이고, 날자에 관계없이 계속 보유하다가 조건이 맞을 때 매도하게 하려면 어떻게 수정해야 하는지요?
2-1. 주기가 분봉(5분) 이고, 매도는 매수 당일 15시 10분에 매도하게 하려면 어떻게 수정해야 하는지요?
2-2. 주기가 분봉(60분) 이고, 날자에 관계없이 계속 보유하다가 조건이 맞을 때 매도하게 하려면 어떻게 수정해야 하는지요?
수식 작성 부탁드립니다
수고하십시요^^
2017-10-28
196
글번호 113724
답변완료
부탁 드립니다.
도움 주심에 감사 드립니다.
1)10분 차트에서 60분 지표를 보고 싶습니다.
2)100 틱 차트에서 300틱 지표를 보고 싶습니다.
미리 감사 드립니다.
input : n1(10),n2(20);
var : HH(0),LL(0),CC(0),Pivot(0),cnt(0);
HH = H[n1];
LL = L[n1];
for cnt = n1 to (n1+n2)-1{
if H[cnt] > HH Then
HH = H[cnt];
if L[cnt] < LL Then
LL = L[cnt];
}
CC = C[n1];
Pivot = (HH+LL+CC)/3;
2017-10-29
196
글번호 113723
답변완료
손실 중일 때는 피라미딩 설정 적용 안되는 수식좀 부탁합니다.
피라미딩 모든 진입 신호 허용으로 설정하고 이미 진입된 신호가 이익 중일 때는 같은 방향의 추가 진입을 허용하지만 손실중일 때는 같은 방향의 신호는 진입을 하지 않는 방법이 없을까요?
2017-10-28
194
글번호 113722