커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4502
글번호 230811
답변완료
문의드립니다
문의드립니다
(1)검색식 아래는 만들어주신것에 조건만추가한 지표입니다
현제는 222 이평으로 되어있습니다
아래와같은식으로 따로 시가종가 9이평을 만들고요 조절가능하게 선언해주시고요
아래조건식에서 var8 이 >= var9 보다 크거나같은상태에서
시가 9이평이 var8을 크로스업하고
1봉전종가가 var8 과의 차이가3%미만인 검색식을만들고십습니다
(2)시스템은 위조건에서진입하고요
익절10%
손절은 종가가 var9보다 5% 이하이거나
시가9이평이 var8를크로스다운하면손절입니다
부탁드립니다 항상 감사합니다
Input : Period1(222),Period2(222);
var : cnt(0),sum1(0),sum2(0);
Array : OO[222](0),CC[222](0);
var1 = h[1];
var2 = l[1];
var3 = abs (var1 - var2)*100;
if c >= h[1] and Upvol > DownVol and var3 > 3 or c <= l[1] and DownVol > Upvol and var3 > 3 Then
{
OO[0] = O;
CC[0] = C;
for cnt = 1 to 221
{
OO[cnt] = OO[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
}
}
if OO[Period1] > 0 then
{
sum1 = 0;
for cnt = 0 to Period1-1
{
sum1 = sum1 + OO[cnt];
}
var8 = sum1/Period1;
}
if CC[Period2] > 0 then
{
sum2 = 0;
for cnt = 0 to Period2-1
{
sum2 = sum2 + CC[cnt];
}
var9 = sum2/Period2;
}
//Plot1(var8, "이동평균1");
//Plot2(var9, "이동평균2");
2019-03-05
164
글번호 126723
회원 님에 의해서 삭제되었습니다.
2019-03-05
32
글번호 126722
어느강아지의죽음 님에 의해서 삭제되었습니다.
2019-03-05
0
글번호 126720
답변완료
수식 문의 드립니다....^^
수고가 많으시죠...^^
수식 문의 드립니다.
RSI ( 18 ), rsi ( 36 )
1 RSI 값이 rsi를 골든크로스 할때 매수.
2 RSI 값이 rsi를 데드크로스 할때 매도.
이상입니다...수고하세요...
2019-03-05
194
글번호 126717
답변완료
부탁드립니다.
안녕하세요.
미리 감사드립니다.
1. 분할매수(또는 피라미딩) 시스템 수식을 작성하려합니다.
<진입조건>
*전제: 이평선 210선 상향(이봉전 이평값보다 클때)조건
*추가매수 5회한도
진입1) MACD값이 0선 돌파시 매수
진입2) MACD가 0선이상에서 골드크로스할때 매수
단, MACD 크로스값이 앞전 크로스 값보다 클때만 진입.
*봉카운터를 해서 추가진입시에는 10봉이상 지난후에만 가능하도록 해주세요.
<청산조건>
*전제: 평균단가 기준으로 청산
청산1) MACD 80선 하향돌파(단 평균단가기준 익절경우)
청산2) MACD가 50선이상에서 데드크로스할때 매도(단 평균단가기준 익절경우)
청산3) 손절 10%
2. 별도 질문입니다.
현재 운용중인 시스템 수식중에 아래와 같이 시간기준으로 청산하는 것이 있는데 가끔가다 청산이 안되는 경우가 생기는데 해결방안 조언 부탁합니다.
If sTime == (매도시간 + 000000) Then ExitLong("+E[1]", AtMarket, DEF, "", Contracts, 1);
2019-03-05
197
글번호 126716
답변완료
문의 드립니다.
mav <= bbup-PriceScale*3 Then
exitlong();
SetStoploss(PriceScale*N,PointStop);
mav >= bbdn+PriceScale*3 Then
exitlong();
SetStoploss(PriceScale*N,PointStop);
위의 수식 자세한 설명 부탁 드립니다.
수고하세요,.
2019-03-05
194
글번호 126715
답변완료
수식도움 부탁드립니다.
아래의 참조수식에서
상단,하단 값을 아래 내용대로 수정부탁드립니다
상단값 =
파동선이 붉은색일 때
(직전고점을 상향돌파하면 붉은색으로 바뀜 : 수식에서 방향 == 1 , 저항 상향돌파시)
최고가
하단값 =
파동선이 파란색일 때
(직전저점을 하향돌파하면 파란색으로 바뀜 : 수식에서 방향 = -1 , 지지 하향돌파시)
최저가
((그림에서 노란색 표시한 부분.....))
붉은색파동구간에서의 최고가는 갱신될 수 있으며, 갱신된 값을 최고가로 함
파란색파동구간에서의 최저가는 갱신될 수 있으며, 갱신된 값을 최저가로 함
붉은색구간(직전고점을 갱신한 후)에서는 직전파란색구간 최저값과 계속 갱신되는 최고값을 사용
파란색구간(직전저점을 갱신한 후)에서는 직전붉은색구간의 최고값과 계속 갱신되는 최저값을 사용
지표식에서 파동선은 추세선으로 출력되지 않아도 됩니다. 조정대채널만 plot함수로 출력되도록하였습니다.
추가문의)
붉은색구간( 방향 == 1 ) 일 때, 첫번째 var3 에 닿을 때 매수
고점이 갱신된 이후 첫번째 var3에 닿을 때 매수
파란색구간(방향 == -1 ) 일 때, 첫번째 var3 에 닿을 때 매도
저점이 갱신된 이후 첫번째 var3에 닿을 때 매도
감사합니다.
=
참조수식
==
Input:전환비율(0.382);
Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""),
TL1(0),Text1(0),T(0),지지(0),저항(0);
Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
#==========================================#
HH = H;
LL = L;
If Index == 0 Then
{
고[1,1] = HH;
고[1,2] = 0;
저[1,1] = LL;
저[1,2] = 0;
}
If Index > 0 Then // Index가 0일때는 이전 봉이 없으므로 Index가 1일때부터 1씩 증가
{
hiBar = hiBar + 1; // 최고점을 찍은 고[저]가의 위치를 저장 해놓기 위해 봉번호를 카운트한다.
loBar = loBar + 1;
}
If HH[hiBar] < HH Then hiBar = 0; // 현재 봉이 최고가이면 봉번호를 0으로 초기화
If LL[loBar] > LL Then loBar = 0;
Condition1 = 저[1,1] * (1 + (전환비율/100)) < HH and hiBar == 0;
// 전저점에서 최소변동률만큼 더한 값보다 고가가 크다면 추세가 변한 것으로 보고 신규 고점으로 인식
Condition2 = 고[1,1] * (1 - (전환비율/100)) > LL and loBar == 0;
// 전고점에서 최소변동률만큼 뺀 값보다 저가가 작다면 추세가 변한 것으로 보고 신규 저점으로 인식
처리구분 = "";
If Condition1 and Condition2 Then // 고점과 저점 조건 동시 만족
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH[hiBar];
hiBar = -1;
// 다음 봉의 고가가 기준 고가로 인식되려면 hiBar 값이 0이 되어야 한다.
// 봉이 바뀔 때마다 hiBar의 값을 1씩 증가시키므로 다음 봉의 hiBar 값은 0이 된다.
loBar = -1;
}
Else If 고[1,1] < HH[hiBar] Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH[hiBar];
hiBar = -1;
loBar = -1;
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
}
최종꼭지점 = "고점";
T = 1;
if T == 1 and T != T[1] then
지지 = 저[1,1] ;
}
#==========================================#
If 처리구분 == "저점처리" Then
{
If 최종꼭지점 == "고점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL[loBar];
hiBar = -1;
loBar = -1;
}
Else If 저[1,1] > LL[loBar] Then
{
저[1,1] = LL[loBar];
hiBar = -1;
loBar = -1;
}
최종꼭지점 = "저점";
T = -1;
if T == -1 and T != T[1] then
저항 = 고[1,1] ;
}
//========================================//
//
//
//
var : 방향(0);
if crossdown(c,지지) then 방향 = -1;
if crossup(c,저항) then 방향 = 1 ;
//
var : 상단(0), 하단(0);
input : Per1(23.6),Per2(38.2),Per3(50.0),Per4(61.8),Per5(76.4),Per6(123.6),Per7(161.8),Per8(200);
상단 = 저항;
하단 = 지지;
//
var1 = 상단 - (상단 - 하단)*Per1/100 ;
var2 = 상단 - (상단 - 하단)*Per2/100 ;
var3 = 상단 - (상단 - 하단)*Per3/100 ;
var4 = 상단 - (상단 - 하단)*Per4/100 ;
var5 = 상단 - (상단 - 하단)*Per5/100 ;
plot1(하단,"저");
plot2(상단,"고");
plot5(var1,"23.6");
plot6(var2,"38.2");
plot7(var3,"50.0");
plot8(var4,"61.8");
plot9(var5,"76.4");
if 방향 == 1 Then
{
plot10(99999,"라인1");
plot11(0,"라인2");
}
Else{
if 방향 == -1 then
{
plot10(0,"라인1");
plot11(99999,"라인2");
}
}
2019-03-06
404
글번호 126710
답변완료
시스템식좀 부탁드리겠습니다
1.상하한가 30%이후 기준으로
(일봉상)
거래대금 500억 이상의 상한가 출현시
상한가 당일과 그이후 n 일간의
날짜, 종목명,시,고,저,종,거래대금,5이평,10이평,20이평,60이평,120이평,시가비,고가비,저가비,종가비,5이평이격,10이평이격,20이평이격,60이평이격,120이평이격값
을 엑셀로출력하고싶습니다
상한가이후의 N일까지 (N은 외부변수로 빼주세요)
그리고 중요한건, 상한가날은 상한가라는 엑셀파일로 따로, 상한가 다음날은 상한가1, 그다음날은 상한가2 이런식으로 자료가 따로 엑셀파일로 생성되게 부탁드리겠습니다
2.전일종가대비 당일 고가가 15%이상, 거래대금이 500억이상인 종목의
날짜, 종목명, 시.고.저.종.거래대금.5이평.10이평.20이평.60이평.120이평시가비.고가비.저가비.종가비.5이평이격.10이평이격.20이평이격.60이평이격.120이평이격값을 엑셀로 출력하고싶습니다
여기에서 고가와 거래대금의 기준은 외부변수로 빼서 조정가능하게 부탁드리겠습니다
항상고맙습니다 수고하세요^^
2019-03-05
224
글번호 126703
터닝 님에 의해서 삭제되었습니다.
2019-03-05
0
글번호 126702