커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7368
글번호 230811
답변완료
input 변수 관련 문의 드립니다.
input변수의 변화에 따라 buycon 성립조건을 따로 설정하려 하려
아래와 같이 수식을 작성해 보았습니다.
op1, op2 값을 설정하는 방법이 잘못되었는지 진입자체가 되질 안네요.
수정 부탁 드립니다.
예)
input : op1(10), op2(20);
var : cma1(0), cma2(0);
cma1 = ma(c,op1);
cma2 = ma(c,op2);
var : buycon(false);
if op1==1 and op2==10 then
{ if 조건문 then
buycon = true; }
else if op1==2 and op2==10 then
{ if 조건문 then
buycon = true; }
else if op1==2 and op2==20 then
{ if 조건문 then
buycon = true; }
else buycon = false;
if buycon==true and 조건식 then
buy("buy1");
2016-12-05
135
글번호 104618
답변완료
수식수정좀 부탁드립니다.
다음과 같은 수식을 구했습니다.
근데 실행이 안되네요...
수정좀 부탁드립니다.
inputs:
MonthOfTrend( 12 ),
DayOfTrend( 19 ),
YearOfTrend( 2003 ),
ChannelPeriods( 34 ),
OverBoughtRegion( 75 ),
BearishPeriods( 21 ),
MultiplicationFactor( 3.2 ),
InitialStop( 10 ) ;
variables:
KeyDate( 0 ),
CountHoldingDays( false ),
HoldingDays( 0 ),
Index( 0 ),
OB( 0 ),
Bullish( 0 ),
Bearish( 0 ),
RangeA( 0 ),
StopLevel( 0 ),
BearStop( 0 ) ;
if CurrentBar = 1 then
begin
KeyDate = ELDate( MonthOfTrend, DayOfTrend,
YearOfTrend ) ;
end ;
if Date >= KeyDate and Date[1] < KeyDate then
CountHoldingDays = true ;
if CountHoldingDays then
HoldingDays = HoldingDays + 1 ;
Index = RSI( Close, ChannelPeriods ) ;
OB = Index - OverBoughtRegion ;
Bullish = Close - ( Close * OB * 0.01 ) ;
if HoldingDays > 0 then
begin
if BearishPeriods <> 0 then
begin
Bearish = Summation( AbsValue( Low - Low[1] ),
BearishPeriods ) / BearishPeriods ;
RangeA = Summation( Close - Low,
BearishPeriods ) / BearishPeriods ;
end ;
StopLevel = Close - ( ( Bearish + RangeA ) *
MultiplicationFactor ) ;
if StopLevel > BearStop[1] and
StopLevel > InitialStop then
BearStop = StopLevel
else if StopLevel > BearStop[1] and
StopLevel < InitialStop then
BearStop = InitialStop
else if StopLevel <= BearStop[1] then
BearStop = BearStop[1]
else
BearStop = StopLevel * HoldingDays ;
Plot1( High, "High" ) ;
Plot2( Low, "Low" ) ;
Plot3( Open, "Open" ) ;
Plot4( Close, "Close" ) ;
Plot5( Bullish, "BullishLn" ) ;
Plot6( BearStop, "BearStopLn" ) ;
Plot7( Bullish, "BullishBK" ) ;
Plot8( BearStop, "BearStopBK" ) ;
end ;
좋은 하루되세요..
2016-12-05
167
글번호 104608
답변완료
지표식 문의합니다.
일목균형표에서
전환선을 9, 기준선을 26, 후행스팬을 26, 선행스팬1을 3, 선행스팬2를 45로 해서 지표식좀 작성해주세요.
2016-12-05
147
글번호 104607
답변완료
볼린져밴드 신호
Input : Period(12), D(2);
var : value1(0),value2(0);
value1 = BollBandDown(Period,D); //하단밴드
value2 = BollBandUp(Period,D); //상단밴드
if crossup(C,value1) then
buy();
if crossdown(c,value2) then
sell();
시스템식에서 볼밴 상단 돌파시 매도 하단 돌파시 매수 신호식인데 캡쳐에서 보시는 바와 같이 상단을 돌파해도 하단을 돌파해서 신호가 나오지 않는 경우가 있는데 왜 그런지.. 진입시기는 모든 시입시기로 체크해 놓은 상태입니다.
2016-12-04
211
글번호 104606
답변완료
종목검색으로 변경할수 있을까요?
var1 = ma(c,5);
var2 = ma(c,20);
var3 = ma(C,60);
if var1 > var2 and C > var3 and C > O Then
buy();
if var1 < var2 and C < var3 and C < O Then
sell();
2016-12-04
150
글번호 104605
지킴이 님에 의해서 삭제되었습니다.
2016-12-04
0
글번호 104604
답변완료
재문의 드립니다
안녕하세요,
지난주에 특정 시간 기준으로 dayhigh, daylow를 고정하는 수식에 대하여 문의하였었습니다 (해외선물에 적용).
알려주신 수식을 바탕으로 지표를 작성해 보았는데 생각하는 바와 다르게 표시 되어 다시 문의드립니다.
수식 (의도한바는 7시 부터 23시까지의 high, low를 23시 이후 부터 장 마감까지 고정 하고자 하였습니다)
if stime < 230000 Then {
var1 = DayHigh;
var2 = DayLow;};
Plot2(Var1,"DayHigh");
Plot3(Var2,"DayLow");
첨부된 사진의 회색 강조가 230000 이후를 표시한 부분입니다. 가운데선은 dayopen이고 그 위와 아래가 plot2와 plot3입니다.
사진에서 보이는 바와 같이 230000 시점의 dayhigh와 daylow가 고정이 되지 않고 변동이 있습니다. 고정하기 위해선 어떻게 해야할까요?
그리고 지금 첨부된 사진의 plot2, plot3 그래프는 어떠한 의미를 담고 plot이 된건가요? 대략적으로 파악하기에는 약간의 lag를 가지고 dayhigh daylow가 plot 된것 같습니다.
감사합니다.
2016-12-11
163
글번호 104603
답변완료
문의드립니다.
input : period(200);
Var2 = ema(V, 20);
Var3 = ema(V, 60);
Var4 = ema(V, 120);
Var5 = ema(Var2, 5);
Var6 = ema(Var3, 5);
Var7 = ema(Var4, 5);
var8 = countif(Value5 > Value6 && Value6 > Value7, period);
If var8 >=1 Then find(1);
거래량 이평선이 200일 기간내에 정배열을 한번이라도 만족한 종목을 검색하고 싶은데 검색이 안됩니다.
사용자 검색 기간을 500일로 해도 검색이 안되는데 왜 그런걸까요??
2016-12-04
143
글번호 104602
답변완료
시스템 작성 도움 부탁드립니다.
안녕하세요,
시스템작성을 부탁드리려고 글을 남깁니다.
개인적인 지표를 사용하는데
특정일 부터 주가를 저점/고점을 5등분하는 지표를 사용하고자 합니다.
적용 차트는 30분 차트입니다.
지표부분
고점 : 20일간 고점
저점 : 20일간 저점
1칸간격 : (20일간 고점 - 20일간 저점) / 5
시스템적용시점
최근 20일 신고가 / (일봉기준) 전일 고점대비 당일 고점이 5% 이상
(일봉기준) 거래량이 5일 평균 대비 100% 이상
시스템적용조건을 만족하고,
5등분의 1칸 간격이 3% 이상이면,
매수 : 2번째, 3번재 분할선에서 매수
매도 : 매수 이수 저점 대비 1칸 간격만큼 상승하면 매도 (매도1)
새로 시스템적용조건이 나타나지 않고, 이전 매도가 매도1 이면,
매수 : 3번째, 4번재 분할선에서 매수
매도 : 매수 이수 저점 대비 1칸 간격만큼 상승하면 매도 (매도2)
5등분의 1칸 간격이 3% 이하이면,
매수 : 3번째, 4번재 분할선에서 매수
매도 : 매수 이후 저점 대비 1칸 간격만큼 상승하면 매도 (매도1)
새로 시스템적용조건이 나타나지 않고, 이전 매도가 매도1 이면,
매수 : 4번째, 5번재 분할선에서 매수
매도 : 매수 이후 저점 대비 1칸 간격만큼 상승하면 매도 (매도2)
30분봉상 360선 이탈하면 매수 중지하고, 매도만 감시
그리고 질문이 2가지 있습니다.
제가 30분봉 차트에서 위와 같은 식을 구현해보려고 했는데, 이전 고점대비 수식을
작성하면 30분봉에서 이전 고점/현고점을 비교하여서 시스템적용이 되어 어떻게 하면
되는지 문의드립니다.
가끔 매도이후 바로 매수가 들어가는 부분들이 보여 이부분을 어떻게 잡아야 하는지도
궁금합니다. marketposition 함수를 쓰다보면 그런 상황이 나타나는것 같은데, 원인을
정확하게 찾지 못해서 이부분도 도움 부탁드립니다.
감사합니다!
2016-12-04
148
글번호 104601