커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5301
글번호 230811
답변완료
문의드립니다.
변환 부탁드립니다.
1.
inputs:
Fundamental( 20 ) ;
variables:
Bandwidth(.1),
G1( 0 ), S1( 0 ), L1( 0 ),
BP1( 0 ), Q1( 0 ), P1( 0 ),
G2( 0 ), S2( 0 ), L2( 0 ),
BP2( 0 ), Q2( 0 ), P2( 0 ),
G3( 0 ), S3( 0 ), L3( 0 ),
BP3( 0 ), Q3( 0 ), P3( 0 ),
count( 0 ), Wave( 0 ),
ROC( 0 ) ;
//compute filter coefficients
once
once
begin
L1 = Cosine( 360 / Fundamental ) ;
G1 = Cosine( Bandwidth *
360 / Fundamental ) ;
S1 = 1 / G1 - SquareRoot(
1 / ( G1 * G1 ) - 1 ) ;
L2 = Cosine( 360 / ( Fundamental / 2 ) ) ;
G2 = Cosine( Bandwidth * 360 / ( Fundamental / 2 ) ) ;
S2 = 1 / G2 - SquareRoot( 1 / ( G2 * G2 ) - 1 ) ;
L3 = Cosine( 360 / ( Fundamental / 3 ) ) ;
G3 = Cosine( Bandwidth * 360 / ( Fundamental / 3 ) ) ;
S3 = 1 / G3 - SquareRoot( 1 / ( G3 * G3 ) - 1 ) ;
end ;
//Fundamental Band-Pass
BP1 = .5 * ( 1 - S1) * ( Close - Close[2] )
+ L1 * ( 1 + S1 ) * BP1[1] - S1 * BP1[2] ;
if CurrentBar <= 3 then
BP1 = 0 ;
//Fundamental Quadrature
Q1 = ( Fundamental / 6.28 ) * ( BP1 - BP1[1] ) ;
if CurrentBar <= 4 then
Q1 = 0 ;
//Second Harmonic Band-Pass
BP2 = .5 * ( 1 - S2 ) * ( Close - Close[2] )
+ L2 * ( 1 + S2 ) * BP2[1] - S2 * BP2[2] ;
if CurrentBar <= 3 then
BP2 = 0 ;
//Second Harmonic Quadrature
Q2 = ( Fundamental / 6.28 ) * ( BP2 - BP2[1] ) ;
if CurrentBar <= 4 then
Q2 = 0 ;
//Third Harmonic Band-Pass
BP3 = .5 * ( 1 - S3 ) * ( Close - Close[2] )
+ L3 * ( 1 + S3 ) * BP3[1] - S3 * BP3[2] ;
if CurrentBar <= 3 then
BP3 = 0 ;
//Third Harmonic Quadrature
Q3 = ( Fundamental / 6.28 ) * ( BP3 - BP3[1] ) ;
if CurrentBar <= 4 then
Q3 = 0 ;
//Sum power of each harmonic at
//each bar over the Fundamental period
P1 = 0 ;
P2 = 0 ;
P3 = 0 ;
For count = 0 to Fundamental - 1
begin
P1 = P1 + BP1[count] * BP1[count]
+ Q1[count] * Q1[count] ;
P2 = P2 + BP2[count] * BP2[count]
+ Q2[count] * Q2[count] ;
P3 = P3 + BP3[count] * BP3[count]
+ Q3[count] * Q3[count] ;
end ;
//Add the three harmonics together
//using their relative amplitudes
If P1 <> 0 then
Wave = BP1 + SquareRoot( P2 / P1 ) * BP2
+ SquareRoot( P3 / P1 ) * BP3 ;
Plot1( Wave );
Plot2( 0 );
//Optional cyclic trading signal
//Rate of change crosses zero at
//cyclic turning points
ROC = ( Fundamental / 12.57 ) *
( Wave - Wave[2] ) ;
Plot3( ROC ) ;
2.
Strategy: Fourier Series Strategy
// TASC JUN 2019
// Fourier Series Analysis
// (C) 2005-2018 John F. Ehlers
inputs:
Fundamental( 20 ) ;
variables:
Bandwidth(.1),
G1( 0 ), S1( 0 ), L1( 0 ), BP1( 0 ), Q1( 0 ), P1( 0 ),
G2( 0 ), S2( 0 ), L2( 0 ), BP2( 0 ), Q2( 0 ), P2( 0 ),
G3( 0 ), S3( 0 ), L3( 0 ), BP3( 0 ), Q3( 0 ), P3( 0 ),
count( 0 ), Wave( 0 ), ROC( 0 ) ;
//compute filter coefficients once
once
begin
L1 = Cosine( 360 / Fundamental ) ;
G1 = Cosine( Bandwidth * 360 / Fundamental ) ;
S1 = 1 / G1 - SquareRoot( 1 / ( G1 * G1 ) - 1 ) ;
L2 = Cosine( 360 / ( Fundamental / 2 ) ) ;
G2 = Cosine( Bandwidth * 360 / ( Fundamental / 2 ) ) ;
S2 = 1 / G2 - SquareRoot( 1 / ( G2 * G2 ) - 1 ) ;
L3 = Cosine( 360 / ( Fundamental / 3 ) ) ;
G3 = Cosine( Bandwidth * 360 / ( Fundamental / 3 ) ) ;
S3 = 1 / G3 - SquareRoot( 1 / ( G3 * G3 ) - 1 ) ;
end ;
//Fundamental Band-Pass
BP1 = .5 * ( 1 - S1) * ( Close - Close[2] )
+ L1 * ( 1 + S1 ) * BP1[1] - S1 * BP1[2] ;
if CurrentBar <= 3 then
BP1 = 0 ;
//Fundamental Quadrature
Q1 = ( Fundamental / 6.28 ) * ( BP1 - BP1[1] ) ;
if CurrentBar <= 4 then
Q1 = 0 ;
//Second Harmonic Band-Pass
BP2 = .5 * ( 1 - S2 ) * ( Close - Close[2] )
+ L2 * ( 1 + S2 ) * BP2[1] - S2 * BP2[2] ;
if CurrentBar <= 3 then
BP2 = 0 ;
//Second Harmonic Quadrature
Q2 = ( Fundamental / 6.28 ) * ( BP2 - BP2[1] ) ;
if CurrentBar <= 4 then
Q2 = 0 ;
//Third Harmonic Band-Pass
BP3 = .5 * ( 1 - S3 ) * ( Close - Close[2] )
+ L3 * ( 1 + S3 ) * BP3[1] - S3 * BP3[2] ;
if CurrentBar <= 3 then
BP3 = 0 ;
//Third Harmonic Quadrature
Q3 = ( Fundamental / 6.28 ) * ( BP3 - BP3[1] ) ;
if CurrentBar <= 4 then
Q3 = 0 ;
//Sum power of each harmonic at
//each bar over the Fundamental period
P1 = 0 ;
P2 = 0 ;
P3 = 0 ;
For count = 0 to Fundamental - 1
begin
P1 = P1 + BP1[count] * BP1[count]
+ Q1[count] * Q1[count] ;
P2 = P2 + BP2[count] * BP2[count]
+ Q2[count] * Q2[count] ;
P3 = P3 + BP3[count] * BP3[count]
+ Q3[count] * Q3[count] ;
end ;
//Add the three harmonics together
//using their relative amplitudes
If P1 <> 0 then
Wave = BP1 + SquareRoot( P2 / P1 ) * BP2
+ SquareRoot( P3 / P1 ) * BP3 ;
//Rate of change crosses zero at
//cyclic turning points
ROC = ( Fundamental / 12.57 ) *
( Wave - Wave[2] ) ;
if ROC crosses over 0 then
Buy next bar at Market
else if ROC crosses under 0 then
SellShort next bar at Market ;
2019-05-27
344
글번호 128985
답변완료
수식좀 부탁합니다.
아래 조건에 수식좀 부탁합니다.
1분봉,데이
조건만족봉이후 특정 지지선을 깨지않고 매수조건에 부합하면 매수하려고 합니다.
매수제외조건(지지선이탈,일봉 MA60,Ma120하락중)
그리고 같은종목은 하루에 한번만 매매되게 부탁합니다.
2019-05-28
206
글번호 128984
답변완료
사용자 함수 부탁드립니다.
안녕하세요.
기하이동평균선 함수식을 만들고 싶습니다.
단순 이동 평균
1+2+3+4+5 = 15/5 = 3
기하 이동 평균
1*2*3*4*5 = 120 = 120^(1/5) = 2.605171
(1/5)에서 5는 N값입니다.
수식 부탁드립니다.
감사합니다.
2019-05-26
236
글번호 128983
답변완료
종목검색식 부탁합니다
사용지표: DMI(14)
조건식
1. DMI가 50이상 AND +DI 30 이상 AND ADX가 30 이상인 종목을 찾아라
2. +DI가 50 돌파 종목을 찾아라
3. ADX가 50 돌파 종목을 찾아라
2019-05-26
229
글번호 128982
답변완료
일목 균형표
수고하십니다.
일목 균형표를 지표로 만들어 볼려고 합니다.
수식은 이해가 되는데 화면에서 어떻게 그려야 하는지 모르겠습니다.
1.선행스팬을 어떻게 표현하지요?
2.후행스팬도 어떻게 표현하기에 선형이 멈추고 있지요?
2019-05-26
252
글번호 128981
답변완료
부탁드립니다.
변환부탁드립니다.
미리감사드립니다.
s=sar(0.02,0.2);
조건=(c(1)<s(1) && c>s) or (c(1)>s(1) && c<s);
u=valuewhen(1,조건,s);
d=valuewhen(1,조건,s(1));
(u+d)/2;
2019-05-26
215
글번호 128980
답변완료
문의 드립니다.
안녕하세요. 감사드리며 도움을 청합니다.
보조지표로 외국인의 선물 포지션을 사용하여
금일의 외국인 선물포지션이 0보다 크면
다음날 시초가에 선물 매수 신호가 나오게 하고 싶습니다.
var : D2(0,data2);
D2 = Data2(c) ;
if NextBarSdate > sdate and d2 > 0
Then
buy("b",AtMarket);
if NextBarSdate > sdate and d2 < 0
Then
sell("s",AtMarket);
이렇게 했는데
19년 5월 20일과 21과 같은 경우에 매매가 반대로 되어서 문의 드립니다.
늘 도움을 주셔서 감사합니다.
하나 더.
어떤 선물 시스템 식을 만들었는데
어떤 변수를 넣어 그날은 매수만 또는 매도 신호에만 주문이 나가도록 할 수 있는지요?
2019-05-25
210
글번호 128978
답변완료
문의드립니다.
늘 감사합니다.
macd 다이버전스발생시 매수 / 매도를 구현하고자 합니다.
아래 두가지 상황에 대해 수식을 작성해주시면 감사하겠습니다.
복~~받으세용^.^
---조건1---
매수 : 1. macd 크로스다운 발생전 10봉이내에 당일 최고가격이 있을것,(첫번째)
2. 이후 발생한 macd 크로스다운 10봉이내 당일 최고가격이 있을것,(두번째)
3. 첫번째 macd 보다 두번째 macd 시그널이 낮을것
4. 첫번째 최고가와 두번째 최고가의 가격차이가 10틱이상일것
5. 위 조건 충족시 매도진입
매도 : 1. macd 크로스업 발생전 10봉이내에 당일 최저가격이 있을것,(첫번째)
2. 이후 발생한 macd 크로스업 10봉이내 당일 최저가격이 있을것,(두번째)
3. 첫번째 macd 보다 두번째 macd 시그널이 높을것
4. 첫번째 최저가와 두번째 최저가의 가격차이가 10틱이상일것
5. 위 조건 충족시 매수진입
---조건2---
매수 : 시가보다 50틱아래에서 위 1번 매수조건이 만족하면 매수진입
시가보다 50틱위에서 위 1번 매도조건이 만족하면 매도진입
감사합니다.
2019-05-25
218
글번호 128977
kk2 님에 의해서 삭제되었습니다.
2019-05-25
14
글번호 128976