커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7086
글번호 230811
타이탄 님에 의해서 삭제되었습니다.
2021-06-10
0
글번호 149848
답변완료
자동시스템 타주기 조건추가
항상 감사드립니다
아래 자동추세선 시스템을 아래조건으로 수정하고 싶습니다
1.본챠트 (10틱) 신호가 매수이면 t2= 1
본챠트 (10틱) 신호가 매도이면 t2= -1
2.타주기챠트 (1분) 신호가 매수이면t3= 1
타주기챠트 (1분) 신호가 매도이면t3= -1
3.본챠트 1발생시점과 타주기챠트 2발생시점의 가격차이가 10틱이내이면 t4= 1
본챠트 1발생시점과 타주기챠트 2발생시점의 가격차이가 10틱이상이면 t4= -1
4.본챠트 1발생시점과 타주기챠트 2발생시점의 시간차이가 10분이내이면 t5= 1
본챠트 1발생시점과 타주기챠트 2발생시점의 가격차이가 10분이상이면 t5= -1
5.본챠트가 t2=1 and t3= 1 and t4=1 and t5=1 이면 매수신호(b_1) 발생
본챠트가 t2= -1 and t3= -1 and t4= 1 and t5= 1 이면 매도신호(s_1) 발생
**********************************************************************************
***가중이평 스토케스틱***
Input : Period(100), Period1(28), Period2(13);
var : fk(0),StoK(0),StoD(0);
var : t1(0);
fk = (c-lowest(L,Period))/(highest(H,Period)-lowest(L,period))*100;
StoK = wma(fk,Period1);
StoD = wma(stok,Period2);
if crossup(stok,stod) Then
t1 = 1 ;
if crossdown(stok ,stod) Then
t1 = -1;
*** 자동추세선 시스템 ***
input : 비교고저점기준(10);
var : cnt(0),BTL(0),STL(0);
Array : HH[20](0),HD[20](0),HT[20](0);
Array : LL[20](0),LD[20](0),LT[20](0);
if SwingHigh(1,H,비교고저점기준,비교고저점기준,비교고저점기준*2+1) != -1 Then{
HH[0] = H[비교고저점기준];
HD[0] = sdate[비교고저점기준];
HT[0] = sTime[비교고저점기준];
Condition1 = false;
for cnt = 1 to 19{
HH[cnt] = HH[cnt-1][1];
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
if Condition1 == false and HH[cnt] > HH[0] and HH[cnt] > 0 Then{
Condition1 = true;
TL_Delete(BTL);
BTL = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetExtRight(BTL,true);
TL_SetColor(BTL,RED);
}
}
}
if SwingLow(1,L,비교고저점기준,비교고저점기준,비교고저점기준*2+1) != -1 Then{
LL[0] = L[비교고저점기준];
LD[0] = sdate[비교고저점기준];
LT[0] = sTime[비교고저점기준];
Condition2 = false;
for cnt = 1 to 19{
LL[cnt] = LL[cnt-1][1];
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
if Condition2 == false and LL[cnt] < LL[0] and LL[cnt] > 0 Then{
Condition2 = true;
TL_Delete(STL);
STL = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetExtRight(STL,true);
TL_SetColor(STL,blue);
}
}
}
if TL_GetValue(BTL,sdate,stime) > TL_GetValue(STL,sdate,stime) Then
{
if C > TL_GetValue(BTL,sdate,stime) and C[1] < TL_GetValue(BTL,sdate[1],stime[1]) and t1==1 Then{
buy("b_1");
}
if C < TL_GetValue(STL,sdate,stime) and C[1] > TL_GetValue(STL,sdate[1],stime[1]) and t1==-1 Then{
sell("s_1");
}
}
2021-06-10
1540
글번호 149846
답변완료
문의드립니다
수고 많으십니다.
계속 오류가 나서
아래 수식 좀 부탁드립니다.
1. 선물 만기일 후 x일 동안을 제외한 날만 매도 진입
2. setstopprofittarget 청산 목표수익값에
아래 조건 반영
조건: ㄱ. 5이평이 10이평 위일 때
ㄴ. 미결제 약정이 3봉 연속으로 커질 때
ㄷ. 참조지표(5분봉) data3 개인순매수수량이 전일 동시간대보다 15% 많을 때
목표수익값:
위 조건들 중 하나라도 충족할 때는 10분봉 차트에서 참조 data2 5분봉의 종가와 현재 진입가격과의 차이.
위 조건 모두 불충족시 목표수익값은 1 포인트.
제가 짤 때는 코딩 오류는 안 나는데, 실제 차트에 적용시키면 다른 결과가 나와서요.
실제로 잘 작동되는 거 확인까지 해서 좀 부탁드리겠습니다.
감사합니다~
2021-06-10
1587
글번호 149845
답변완료
수식 요청 드립니다 (매번 무한 감사드립니다)
안녕하세요,
일간 차트 기준으로 아래의 조건 수식을 작성해 봤는데 검토 요청드릴꼐요.
조건1: 오늘의 종가 > 어제의 종가
조건2: 오늘의 고가 > 어제의 고가
진입: 내일 시가로 매도
청산: 내일 종가로 청산
If (C>C[1] and H>H[1]) Then
{
Sell("Sell", AtMarket);
}
ExitShort("ExitSell", OnClose);
이게 맞는지 검토 부탁 드리겠습니다. 매번 무한 감사드립니다.
2021-06-10
1784
글번호 149842
답변완료
함수요청
안녕하세요?
아래 전략에 대해 스크립트 작성 요청드립니다.
- 최근 52개봉 장중 최고가를 봉 완성 기준으로 종가가가 돌파하고
그 돌파시점의 봉이 양봉이면서 고가-종가 > 종가-시가 : 윗꼬리가 몸통보다 크면
익봉 시가 매수 진입
- 종가가 5ma 돌파시 익봉 시가 매수 청산
2021-06-10
1503
글번호 149840
크라켄 님에 의해서 삭제되었습니다.
2021-06-10
12
글번호 149836
답변완료
종목2 전전일 봉갯수 수식 문의
종목2 전전일 봉갯수 수식 작성 후 맞지 않아 수정 부탁드립니다.
var : 전전일봉수(0),당일봉수투(0),전일봉수(0),전체봉수(0),양일합봉수(0)
당일봉수투 = data2(dayindex+1);
if data2(bdate != bdate[1]) Then
{
전일봉수 = 당일봉수투[1];
전전일봉수 = 전일봉수[1];
}
양일합봉수 = 전일봉수 + 전전일봉수;
전체봉수 = 당일봉수투 + 전일봉수 + 전전일봉수;
plot1(전일봉수);
plot2(전전일봉수);
plot3(당일봉수);
plot4(양일합봉수);
plot5(전체봉수);
2021-06-10
1169
글번호 149835
답변완료
문의 드립니다.
감사합니다.
1.rsi14의 고점/중심값/저점
2.rsi7의 고점/중심값/저점
1과 2를 겹치기 하려고 하는데 1의 고점/중심값/저점과 2의 고점/중심값/저점의 높이라도 같게 하려고 합니다. 2에서 어떻게 해야 1의 높이와 같아지나요??
2021-06-10
1347
글번호 149830
답변완료
문의 드립니다!
안녕하세요!!
아래수식에서 3번째 캔들에서도 선이 발생되도록 수정 부탁합니다
* 아래수식에서 * 표시된 부분이 D2 Then 이 아니라 혹시 D4 Then 이 되는것아닌기요?
순서상 04가 되지않을까해서 혹시나 여쭤봅니다
감사합니다!!!
-----------------------------------------------------------------------------------
var : D2(0,Data2),D3(0,data3),D4(0,data4);
D2 = abs(Data2(OpenD(0))-Data1(openD(1)));
D3 = abs(Data3(OpenD(0))-Data1(openD(1)));
D4 = abs(Data4(OpenD(0))-Data1(openD(1)));
if NthMinList(1,D2,D3,D4) == D2 Then
{
value2 = data2(HighD(0));
value3 = data2(LowD(0));
Value4 = (value2+Value3)/2;
}
Else if NthMinList(1,D2,D3,D4) == D3 Then
{
value2 = data3(HighD(0));
value3 = data3(LowD(0));
Value4 = (value2+Value3)/2;
}
Else if NthMinList(1,D2,D3,D4) == D2 Then ==> * 이 부분
{
value2 = data4(HighD(0));
value3 = data4(LowD(0));
Value4 = (value2+Value3)/2;
}
if NthMinList(2,D2,D3,D4) == D2 Then
{
value21 = data2(HighD(0));
value31 = data2(LowD(0));
Value41 = (value2+Value3)/2;
}
Else if NthMinList(2,D2,D3,D4) == D3 Then
{
value21 = data3(HighD(0));
value31 = data3(LowD(0));
Value41 = (value2+Value3)/2;
}
Else if NthMinList(2,D2,D3,D4) == D2 Then ==> * 이 부분
{
value21 = data4(HighD(0));
value31 = data4(LowD(0));
Value41 = (value2+Value3)/2;
}
plot2(value2,"당일고1");
plot3(value3,"당일저1");
plot4(value4,"중간선1");
plot5(value21,"당일고2");
plot6(value31,"당일저2");
plot7(value41,"중간선2");
2021-06-10
1343
글번호 149822