커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6312
글번호 230811
답변완료
수정부탁드립니다
#,그림파일3 에서 1번에 매도진입(S3) 1차청산은(sx1)정상작동(+27)하는데 2차청산은 수식대로
2번라인(per2)에서 청산되어야 하는데 3번(per1)sx2 에서 미리 청산되는 현상이 발생합니
다, per1과 중복혼용되서 나타나는 현상이 아닌지..점검후 수정 부탁드립니다.
#, 청산조절수식도 per1,per2를 각기 따로 적용해서 조절하면 좋겠습니다
$,언제나 늘 감사합니다.
2017-04-20
215
글번호 108967
답변완료
수식하나 부탁드립니다.
안녕하세요
지표식하나 부탁드립니다.
RGB 코드로 입력을 하니 잘 안되어서 문의드립니다.
1번
20 이평이 상승반전하면은 빨간색(red 가 아닌 RGB코드로 입력해 주십시오)
20 이평이 하락반전하면은 분홍색(이것도 RGB 코드로 입력해 주십시오
2번
스토캐스틱 5.3.3 중에서
Sto K 와 Sto D 가 교차하여 상승하면은 교차한 위의 Sto K 색이 빨간색(RGB코드로)
Sto K 와 Sto D 가 교차하여 하락하면은 교차한 위의 Sto K 색이 하늘색(RGB코드로)
항상 감사드립니다.
2017-04-19
191
글번호 108966
답변완료
지표식 추가 문의드립니다.
안녕하세요..
아래 사항에 대해서 추가로 문의드립니다.
1. 수평선 종료조건이 충족되지 않은 상황에서 새로 발생하는 수평선이 기존 수평선보다
높을 경우에는 기존 수평선값을 연장하고 싶습니다.
2. 아래 답변주신 내용에서
"if var1 == 0 or var1 > var1[1] Then" 부분이 잘 이해되지 않는데 설명 좀 부탁드립니다.
감사합니다.
안녕하세요
예스스탁입니다.
지표속성에서 그래프 종류를
일자그래프나 점그래프로 지정하고 적용하셔야 합니다.
input : P(100),short(12),long(26),sig(9);
var : mav(0),MACDV(0),MACDS(0),MACDO(0);
mav = ma(C,P);
MACDV = MACD(short,long);
MACDS = ema(MACDV,sig);
MACDO = MACDV-MACDS;
if mav > mav[1] Then{
if macdv > 0 and MACDO > 0 Then{
var1 = H+PriceScale*2;
if var1 == 0 or var1 > var1[1] Then
Condition1 = true;
}
if countif(C<O,3) == 3 Then{
var1 = H+PriceScale*2;
if var1 == 0 or var1 > var1[1] Then
Condition1 = true;
}
}
if Condition1 == true Then{
if H > var1 Then
Condition1 = false;
if L < mav Then
Condition1 = false;
if mav < mav[1] Then
Condition1 = false;
}
if Condition1 == true Then
plot1(var1);
즐거운 하루되세요
> 뮬란 님이 쓴 글입니다.
> 제목 : 지표식 문의드립니다.
> 안녕하십니까?
지표식 문의드립니다.
이평(100),macd(12,26,9)를 사용하여 수평선을 긋고자 합니다.
1. 수평선 시작조건 : 이평이 상승중일때
① macd가 0선위에 있고, 오실레이터가 +인 봉의
고점 2틱위 또는
② 연속3음봉 발생시 마지막봉의
고점 2틱위
2. 수평선 종료조건 : ① 새로운 수평선을 시작하는 조건이 기존 수평선보다 낮은경우,
② 수평선을 돌파(고가기준)하는 봉이 나오는 경우
③ 이평을 이탈(저가기준)하는 봉이 나오는 경우
④ 이평이 하락전환하는 경우
감사합니다.
2017-04-19
258
글번호 108965
답변완료
안녕하세요
안녕하세요
1. 아래식은 조건이 만족할때 보통은 여기서 바로 신호가 발생되어지지만
신호발생이 되어질 값을 저장해두었다가 그값보다 몇% 적으면 진입하고자 합니다.
조건
if 조건 Then // 조건 만족하면 보통은 바로 진입신호이지만
by == c; // 임의의 by라는 저장변수에 저장하여 비교
if c <= by * 0.98 then buy("수"); // 현재가(종가) 가 by 와 비교하여 진입되게
가능한가요 ?
2. vi 라인을 그어줄수 있나요?
첨부파일은 키움 설정창인대요
그러면 실시간으로 vi를 구할수 있을거 같은데
2017-04-19
216
글번호 108964
답변완료
수식부탁합니다
지표를 비교할 때 일정자리수 까지만 선택할 수 있는 수식을 부탁합니다.
예를 들어
STOK 의 값이 83.254
STOK[1] 의 값이 83.247
STOK[2] 의 값이 83.241 일때
소수점 세자리까지 비교하면
STOK > STOK[1] > STOK[2]
소수점 두자리까지 비교하면 (세번째 자리는 버림)
STOK > STOK[1] == STOK[2]
소수점 두자리까지 비교하면 (세번째 자리는 반올림)
STOK == STOK[1] > STOK[2]
소수점 첫자리까지 비교하면 (2번쨰 자리까지는 버림)
STOK == STOK[1] == STOK[2]
** 위의 예를 수식으로 부탁합니다
2017-04-19
197
글번호 108958
답변완료
부탁드립니다..
var1 = dayhigh(1)-daylow(1);
if MarketPosition <= 0 and H < dayopen+var1 Then
buy("b",AtStop,dayopen+var1);
if MarketPosition >= 0 and L > dayopen-var1 Then
sell("s",AtStop,dayopen-var1);
if MarketPosition == 1 Then
exitlong("bl",AtStop,EntryPrice-(var2*0.5));
if MarketPosition == -1 Then
ExitShort("sl",AtStop,EntryPrice+(var2*0.5));
if NextBarSdate > sdate Then{
if MarketPosition == 1 then
ExitLong("bx");
if MarketPosition == -1 then
ExitShort("sx");
}
수식 만드니 15줄
선언되지 않은 nextbarsdate가 사용되었음이라고 나옵니다..
수정해 주시길 바랍니다..
2017-04-19
186
글번호 108955
답변완료
함수변환 요청(키움)
안녕하세요?
아래는 키움증권에서 사용하는 언어로 쓰여진 함수입니다.
YT언어로 변환 요청드립니다.
감사합니다.
Input : Period( 5 );
Vars : MP( 0 ), Buycount( 0 ), Sellcount( 0 ), totalprofit( 0 );
MP = Marketposition;
V0 = DayofMonth( date );
V1 = dayofweek( date );
If Mod( Month(date), 3) = 0 and V0 >= 8 and V0 <= 14 and V1 = THURSDAY
Then
Begin
If time = 144000 Then v50 = NetProfit;
totalprofit = NetProfit - v50 + PositionProfit;
SetStopEndofday(143000);
End
Else
Begin
If time = 151500 Then v50 = NetProfit;
totalprofit = NetProfit - v50 + PositionProfit;
SetStopEndofday(150000);
End;
If date <> date[1] Then
Begin
Sellcount = 0;
Buycount = 0;
End;
Condition1 = time > 090000 And time < 150000;
condition2 = CrossUp(Close, Average(Close, period));
If Sellcount = 0
Then
Begin
If MP = 0 And condition1 and condition2 And Buycount < 2
Then
Begin
Buy("B1");
Buycount = Buycount + 1 ;
End;
Input : B1(0.7), B2(-1.6);
If Condition1 Then
Begin
If PositionProfit < B2 Then ExitLong("매수 손절");
If PositionProfit > B1 Then Sell("역추세");
End;
Input : X1(2.3), X2(-0.9);
If MP = -1 Then
Begin
If PositionProfit > X1 Then ExitShort("역추세 익절");
If PositionProfit < X2 Then ExitShort("역추세 손절");
End;
Input : bse(50);
If MP = 1 And BarsSinceEntry = bse then
Begin
Sell("S1");
End;
End;
Input : totalv(-2.1), bse2(20), ppf(-0.6);
If mp = 0 And totalprofit < totalv And Buycount >= 2 And Sellcount = 0
Then
Begin
Sell("S2");
Sellcount = 1;
End;
If IsEntryName("역추세") = true and barssinceentry < bse2 And PositionProfit < ppf then Buy("B2");
2017-04-19
239
글번호 108949
답변완료
시스템식 부탁 드립니다~
밑에 두가지 식을 같이 활용하려고 합니다.
매수는 1번식에서 매수 발생하면 바로 진입은 안하고 매수 대기.
그리고 2번식에서 매수 발생 하면 매수 진입,
1번이 매수 상황이면 2번식에서 매도 진입은 나오지 않습니다.
1번식이 매수상황이면 2번식으로 매수 진입 후 1번식에서 반대 매도 발생하면 청산,
매도는 1번식에서 매도 상황일때 대기하고 2번식에서 매도 발생하면 매도 진입.
1번이 매도 상황일때는 매수진입은 나오지 않습니다.
1번식이 매도 상황이면 2번식으로 매도 진입 후 1번식에서 반대 매수 발생하면 청산,
매수, 매도 모두 진입 후 10틱이상 수익방향 진행시 진입자리에서 2틱 익절 mit,
15틱 이상 수익방향 진행시 트레일링 스탑으로 6틱 밑에 걸리도록 하려 합니다.
그리고 분봉에 나오는 신호에 맞춰서 틱차트에서 다른 수식으로 그 방향으로 신호가 나오도록 할수 있을까요?
---------------------------------------------------
1)
input : P1(5),P2(60),RSIP(30);
var1 = wma(c,P1);
var2 = wma(c,P2);
var3 = RSI(RSIP);
Condition1 = var1 > var2 and var3 >=70;
Condition2 = var1 < var2 and var3 <=30;
if Condition1 == true and Condition1[1] == false Then
buy();
if MarketPosition == 1 and CrossDown(var1,var2) and var3 <= 30 Then
ExitLong();
if Condition2 == true and Condition2[1] == false Then
sell();
if MarketPosition == -1 and Crossup(var1,var2) and var3 >= 70 Then
ExitShort();
-------------------------------------------------
2)
INPUT : LENGTH(10);
VAR : TCHAN(0), BCHAN(0),T1(0),T2(0);
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
if TCHAN > TCHAN[1] and BCHAN > BCHAN[1] Then
T1 = 1;
if TCHAN < TCHAN[1] and BCHAN < BCHAN[1] Then
T1 = -1;
if T1 == 1 Then
exitshort("b",atlimit,BCHAN);
if t1 == -1 Then
SELL("S",atlimit,TCHAN);
if T1 == 1 Then
buy("c",atlimit,BCHAN);
if T1 == -1 Then
exitlong("bx",atlimit,TCHAN);
2017-04-19
201
글번호 108948
답변완료
분봉차트에서 당일 가격 중심선 설정
안녕하세요 지표 수식 문의 드립니다.
분봉차트에서 분봉 가격 기준의 중심선을 설정하고 싶습니다.
지표 주식 알려주시면 감사하겠습니다.
2017-04-19
232
글번호 108943