커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4348
글번호 230811
2wnwn 님에 의해서 삭제되었습니다.
2018-01-30
19
글번호 116182
답변완료
문의드립니다.
안녕하세요.
아래 수식의 주석 설명 부탁드립니다.
var : cnt(0),idx(0),LL(0),HH(0),H1(0),L1(0);
var : Vcond(false),Vcond1(false);
var1 = lowest(L,100);
var2 = ma(V,60);
if L == var1 Then{
Condition1 = true;
Vcond = false;
LL = var1;
HH = H;
idx = 0;
H1 = -1;
}
else if Condition1 == true then{
idx = idx+1;
if H > HH Then{
HH = H;
if V == var2 Then
Vcond = true;
Else
Vcond = false;
}
H1 = -1;
Vcond1 = false;
for cnt = 0 to idx-1
{
if L[cnt] < HH[cnt]-(HH[cnt]-LL[cnt])*0.3 Then{
H1 = HH[cnt];
Vcond1 = Vcond[cnt];
cnt = idx+2;
}
}
if idx >= 10
and idx <= 90
and H1 > 0
and Vcond1 == true
and H1 >= LL*1.3
and H1 < LL*2.5
and HH > H1
and HH < H1*1.5
and C > H1
and C <= H1*1.3
Then
find(1);
}
수고하세요.
2018-01-30
144
글번호 116170
답변완료
연속 PRINT( 2차 보완문의)
안녕하십니까 ?
1. Q&A- 56455 관련으로 재차 문의 합니다.
2 . 현재
######################################
(1) 진입+청산조건
(2) 진입 >> 청산식
(3) print 명령
#######################################
으로 DATA 를 받아 분석하고 있습니다.
3. 문제는 (1) 진입청산조건을 다양하게 변경할경우 매번 반복적으로 (1)-(3) 과정을
진행해야만 하는 상황인데
4. 이를 아래와 같이 FOR 문을 사용하여 SESSION 하나로 처리하고자 합니다.
그런데 이렇게 하면 OUTPUT 로 PRINT 된 DATA 가 상기 2 방식보다 확장되어
나옵니다. ( 약 2배정도 많은 DATA 가 PRINT 됨. )
#######################################
FOR j = 1 to 10 step 1 begin {
(1) j1 >> 진입청산 조건1
j2 >> 진입청산 조건2
(2) 진입 >> 청산식
(3) print 명령
} end ;
############################################
5. FOR문을 사용하여 (2)와 같은 PRINT를 얻을수 있는 해결방법을 부탁드립니다.
감사합니다. 한프로 , 010-2057-6930, 2018-01-30
2018-01-30
144
글번호 116169
답변완료
수정부탁드립니다
안녕하세요
48594번1-1 20일선 상승시빨강색 하락시파랑색 잘부탁드립니다
2018-01-30
140
글번호 116168
답변완료
시스템 문위드립니다
검정선 입니다
Input: M3(3.5), P5(5);
VAR: HL(0), MAHL(0), HILO(0), HR(0), LR(0), DIF1(0),
DIF2(0), ATRM(0), LOSS(0), TR(0);
HL= H - L;
MAHL= 1.5*MA(HL, P5);
HILO= IFF(HL<MAHL, HL, MAHL);
HR= IFF(L<=H[1], H-C[1], (H-C[1]) - (L-H[1])/2);
LR= IFF(H>=L[1], C[1]-L, (C[1]-L) - (L[1]-H)/2);
DIF1= MAX(HILO, HR);
DIF2= MAX(DIF1, LR);
ATRM= WWMA(DIF2, P5);
LOSS= M3*ATRM;
TR= IFF(C>TR[1] AND C[1]>TR[1],Max(TR[1],C-loss),
IFF(C<TR[1] AND C[1]<TR[1],Min(TR[1],C+loss),
IFF(C>TR[1],C-loss,C+loss)));
Plot1(TR, "HILO TRAIL");
2018-01-29
195
글번호 116167
답변완료
질문드립니다.
Strategy: Ehlers DFT
inputs:
Price( MedianPrice ),
Window( 50 ), { maximum Window = 50 }
OverBought( 70 ),
OverSold( 30 ),
Frac( 0.5 ) ;
variables:
HP( 0 ),
CleanedData( 0 ),
Per( 0 ),
CosPer( 0 ),
CycPer( 0 ),
Alpha1( 0 ),
Period( 0 ),
n( 0 ),
MaxPwr( 0 ),
Num( 0 ),
Denom( 0 ),
ThreeMinus( 0 ),
DominantCycle( 0 ),
Change( 0 ),
AbsChange( 0 ),
Count( 0 ),
DFT_RSI( 0 ) ;
{ arrays are sized for a maximum period of 50 bars }
arrays:
CosinePart[50]( 0 ),
SinePart[50]( 0 ),
Pwr[50]( 0 ),
DB[50]( 0 ),
SF[50]( 0 ),
NetChgAvg[50]( 0 ),
TotchgAvg[50]( 0 ),
RSIArray[50]( 0 ) ;
{ detrend data by high-pass filtering with a 40 period
cut-off }
if CurrentBar <= 5 then
begin
HP = Price ;
CleanedData = Price ;
end
else if CurrentBar > 5 then
begin
Per = 360 / 40 ;
CosPer = Cosine( Per ) ;
if CosPer <> 0 then
Alpha1 = ( 1 - Sine( Per ) ) / CosPer ;
HP = 0.5 * ( 1 + Alpha1 ) * ( Price - Price[ 1 ] ) +
Alpha1 * HP[1] ;
CleanedData = ( HP + 2 * HP[1] + 3 * HP[2] + 3 *
HP[3] + 2 * HP[4] + HP[5] ) / 12 ;
end ;
{ calculate DFT }
for Period = 8 to 50
begin
CosinePart[Period] = 0 ;
SinePart[Period] = 0 ;
for n = 0 to Window - 1
begin
CycPer = ( 360 * n ) / Period ;
CosinePart[Period] = CosinePart[Period] +
CleanedData[n] * Cosine( CycPer ) ;
SinePart[Period] = SinePart[Period] +
CleanedData[n] * Sine( CycPer ) ;
end ;
Pwr[Period] = Square( CosinePart[Period] ) +
Square( SinePart[Period] ) ;
end ;
{ find maximum power level for normalization }
MaxPwr = Pwr[8] ;
for Period = 8 to 50
begin
if Pwr[Period] > MaxPwr then
MaxPwr = Pwr[Period] ;
end ;
{ normalize power levels and convert to decibels }
for Period = 8 to 50
begin
if MaxPwr > 0 and Pwr[Period] > 0 then
DB[Period] = -10 * log( 0.01 / ( 1 - 0.99 *
Pwr[Period] / MaxPwr ) ) / log( 10 ) ;
if DB[Period] > 20 then
DB[Period] = 20 ;
end ;
{ find dominant cycle using CG algorithm }
Num = 0 ;
Denom = 0 ;
for Period = 8 to 50
begin
if DB[Period] < 3 then
begin
ThreeMinus = 3 - DB[Period] ;
Num = Num + Period * ThreeMinus ;
Denom = Denom + ThreeMinus ;
end ;
end ;
if Denom <> 0 then
DominantCycle = Num / Denom ;
Change = Price - Price[1] ;
AbsChange = AbsValue( Change ) ;
for Count = 1 to Window
begin
if CurrentBar = 1 then
begin
SF[Count] = 1 / Count ;
NetChgAvg[Count] = ( Price - Price[Count] ) /
Count ;
TotChgAvg[Count] = Average( AbsChange, Count ) ;
end
else
begin
NetChgAvg[Count] = NetChgAvg[Count][1] +
SF[Count] * ( Change - NetChgAvg[Count][1] ) ;
TotChgAvg[Count] = TotChgAvg[Count][1] +
SF[Count] * ( AbsChange -
TotChgAvg[Count][1] ) ;
if TotChgAvg[Count] <> 0 then
RSIArray[Count] = ( 50 *
( NetChgAvg[Count] / TotChgAvg[Count] +
1 ) )
else
RSIArray[Count] = 50 ;
end ;
end ;
DFT_RSI = RSIArray[ iff( Frac * DominantCycle < 50,
Frac * DominantCycle, 50 ) ] ;
{ CB > 1 check used to avoid spurious cross confirmation at CB = 1 }
if Currentbar > 1 then
begin
if DFT_RSI crosses over OverSold then
Buy ( "RSI-LE" ) next bar at market ;
if DFT_RSI crosses under OverBought then
Sell Short ( "RSI-SE" ) next bar at market ;
end ;
TS 코드를 가져온 것인데요. 예스트레이더와 굉장히 흡사한 랭귀지를 구사하고있네요. buy sell식을 빼고 구현하고싶습니다. 변환이 가능한지 궁금합니다.
2018-01-29
241
글번호 116166
답변완료
문의 드립니다
1일선 위에서 발생하는 파라볼릭(종가) 상승 신호에는 매수진입만 해서 50틱에 수익실현 하고 파라볼릭(종가) 하락 신호에는 로스컷
1일선 아래에서 발생하는 파라볼릭(종가) 하락 신호에는 매도진입만 해서 50틱에 수익실현 하고 파라볼릭(종가) 상승 신호에는 로스컷
하는 수식을 부탁 드립니다
2018-01-29
126
글번호 116165
답변완료
부탁드립니다.
수고하십니다.
아래 수식을 해주셨는데 다음날 아침 장시작을 0에서 시작하는데
전날 종가에 더해서 누적으로 계속 이어지게 부탁드립니다.
안녕하세요
예스스탁입니다.
var : 시가1(0),종가1(0),저가1(0),고가1(0);
if Bdate != Bdate[1] Then{
시가1 = O-O;
종가1 = C-O;
저가1 = L-O;
고가1 = C-O;
}
else{
시가1 = 종가1[1]+(O-O);
종가1 = 종가1[1]+(C-O);
저가1 = 종가1[1]+(L-O);
고가1 = 종가1[1]+(C-O);
}
plot1(시가1);
plot2(종가1);
plot3(저가1);
plot4(고가1);
즐거운 하루되세요
> 비류천 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 안녕하십니까.
먼저 항상 정성스러운 답변에 진심으로 감사드리며 추운날씨에 감기 조심하시길 바랍니다.
아래 수식 부탁드리는것은 목적은 차트 캔들 갭보정을 표현 하기위함입니다.
1개 캔들의 시가,종가,저가,고가를 지수로 나타내는게 아니라 크기로만 나타내어
크기로 만든 차트 첫 캔들의 종가에 이어서 계속 더해가며 보조지표로 표현하려합니다.
->선으로 나타내려고 합니다.
첫캔들
시가1 = 시가-시가 ->그래서 무조건 시가는 0이된다.
종가1 = 종가-시가
저가1 = 저가-시가
고가1 = 고가-시가
두번째캔들부터는 : 그전 종가에 누적으로 크기를 더해가는 방식
시가1 = 종가1[1] + (시가-시가)
종가1 = 종가1[1] + (종가-시가)
저가1 = 종가1[1] + (저가-시가)
고가1 = 종가1[1] + (고가-시가)
감사합니다.^^
2018-01-29
135
글번호 116164
답변완료
문의 합니다
안녕하세요?
수고하십니다
간단시스템 시그널 부탁합니다.
20 이평선이 당일중심가를 상향돌파시 매수
20 이평선이 당일중심가를 하향하락시 매도 시그널
이평선 수치 변경가능토록 부탁합니다.
감사합니다.
2018-01-29
127
글번호 116163