커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4322
글번호 230811
베비슬립 님에 의해서 삭제되었습니다.
2017-10-18
0
글번호 113473
답변완료
문의드립니다.
안녕하세요.
차트 상하여백은 100으로 설정한 상태에서 macd와 같은 보조지표를 추가하면
보조지표란 상하여백 역시 많이 생기게 되는데...
보조지표란 상하여백 없이 꽉차게 설정할 수 있는 방법은 없는지요??
2017-10-18
127
글번호 113472
답변완료
문의 드립니다.
안녕하세요.
진입한 날로부터 특정일이 지난 후 청산하려고 하는 경우 어떻게 코딩을 해야 하는지요?
(이 포지션 보유 날짜를 변수로 해서 최적화하고 싶습니다.)
가령, 포지션 보유 날짜 수를 외부변수로 해서,
Input : PositionDays (2);
이렇게 기본 값을 2일(이틀)로 한 후,
청산식은
If MarketPosition == 1 and DateToJulian(CurrentDate) == DateToJulian(EntryDate) + PositionDays Then
{
ExitLong();
}
이런 식으로 하면 될까 싶은데, 확인해 주시면 감사하겠습니다.
가령, RSI를 이용하여 매수진입 하는 경우라고 할 때,
Input : Period(10), LPercent(30), PositionDays (2);
Var : Value(0);
Value = RSI(Period);
# 매수진입
If CrossUP(Value, LPercent) Then
{
Buy("RB");
}
# 청산
If MarketPosition == 1 and DateToJulian(CurrentDate) == DateToJulian(EntryDate) + PositionDays Then
{
ExitLong();
}
이렇게 해 봤는데, 매수만 딱 한 번 이루어지고, 그 이상은 아무 일이 안 생깁니다.
가르침 부탁 드립니다.
2017-10-18
136
글번호 113470
답변완료
함수문의
안녕하세요?
Crude Oil을 거래하고자 합니다.
아래의 3개의 요건을 각각 작성 부탁드립니다.
1) 60분봉상으로 매매를 할려고 하는데
5일이동평균선(5dma)이 100이상일 때
50이상 100미만일 때
0이상 50미만일 때 이렇게 3개구간에 따라 진입조건을 적용하고 싶습니다.
여기서 5일 이동평균선의 가격은 당봉제외 6일전~1일전까지의 단순평균 값입니다.
2) 60분봉상으로 매매를 할려고 하는데
전일 종가가 100이상일 때
50이상 100미만일 때
0이상 50미만일 때 이렇게 3개구간에 따라 진입조건을 적용하고 싶습니다.
여기서 전일 종가는 최종거래가입니다.
3) 60분봉상으로 매매를 할려고 하는데
전일 종가가 100이상일 때
50이상 100미만일 때
0이상 50미만일 때 이렇게 3개구간에 따라 진입조건을 적용하고 싶습니다.
여기서 전일 종가는 정산가입니다.
2017-10-18
129
글번호 113460
답변완료
참조 data 를 이용해서 시스템 구현하고 싶습니다 .
data 2
data 3
data 4 등을 활용하여,
위의 data 2,3,4 가
동시 음봉일시 data 1 매도진입
동시 양봉일시 data 1 매수진입
위의 시스템식 부탁드립니다
2017-10-18
136
글번호 113459
답변완료
문의드립니다.
매번 감사합니다.
1. 시스템
input : 상승률(1),포지션상승률(10),하락률(3);
if MarketPosition == 0 then{
#일간 마지막봉에 셋팅해 당일 첫봉에 신호가 발생
#봉완성은 다음봉시가가 수신될때인데 다음봉시가가 NextBarOpen입니다.
#일간 마지막 봉완성은 NextBarOpen을 사용해 다음날 시가로 지정해 주고
if NextBarSdate > sdate Then
buy("b1",AtStop,NextBarOpen*(1+상승률/100));
#일간 마지막봉이 아닐때는 시초가를 사용해 가격을 지정해서 매수신호를 발생하게 됩니다.
if NextBarSdate == sdate Then
buy("b2",AtStop,dayOpen*(1+상승률/100));
}
#10%이상 상승후 최고가격에서 3%하락하면 청산
if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice*(1+포지션상승률/100) Then
ExitLong("bx",AtStop,highest(H,BarsSinceEntry)*(1-하락률/100));
-----------------------------------------------------------------------------------------위 수식에 포지션은 5일(변수)이상 가지지 않는다는 필터 추가 부탁드립니다.
2017-10-18
127
글번호 113457
답변완료
해외선물 당일진폭 수정요청합니다
plot1(dayhigh-daylow,"당일진폭");
지표로 보고자 하시면 위 식 적용하시면 됩니다.
일봉이하 주기에서 당일 진폭을 그리는 식입니다.
엑셀로 데이터를 추출하고자 하시면
아래식을 전략실행차트에서 주기는 일봉으로 하고 적용하시면 됩니다.
시뮬레이션 차트에서는 파일추출이 되지 않습니다.
엑셀파일 자체로 출력하는 기능은 없고 csv파일로 추출하는 식입니다.
파일 클릭하시면 바로 엘셀에서 열리게 됩니다.
plot1(dayhigh-daylow,"당일진폭");
print("range.csv",",%.2f",dayhigh-daylow);
print함수와 데이터 추출관련해서는 아래 도움말 링크 참고하시기 바랍니다.
https://www.yesstock.com/YesTrader/YesLanguage/YesLanguage_help/4_3.htm
문의드려서 답변 주신내용으로 엑셀은 잘몰라서 지표를 추가해보았읍니다.
첨부파일과같이 오일, 금선물은 지표식에서 진푝이 정상표기는되나
유로,엔달러같은 통화상품이나 나스닥같은 지수종목은 비정상으로 표기되네요
가격이 0.000.00 특성상 안나오는지 별도의 설정을 하여야 하는지 수정부탁드립니다
2017-10-18
253
글번호 113456
답변완료
재문의드립니다
55108번재문의드립니다 현재수평선이 고점.저점에서 나오는데 고점저점이아닌 고점종가,저점종가에서 나오게 할수있는지요? 할수있다면 부탁드립니다~~감사드립니다
2017-10-18
142
글번호 113453
답변완료
수식부탁드립니다----------------------
현재와의 차이를 한눈에 볼수 있게
sum2의 과거10봉중 가장높은 값으로 우측으로 수평선을 긋고 싶슴니다(plot21)
sum2의 과거10봉중 가장낮은 값으로 우측으로 수평선을 긋고 싶슴니다(plot22)
부탁드립니다
//----------------------------------------------------------------------------------
Input:LENGTH1(10),비교봉(3),비교봉1(26),양합상승(0.01),양합상승1(0.025),표시2(0),표시4(0),표시6(0);
Input:소리2(0),소리22(0),소리4(0),소리44(0),소리6(0),소리66(0),표시위치(0.7);
var : sum2(0,data1),sum4(0,data1),sum6(0,data1),TEMA1atm2(0),TEMA1atm4(0),TEMA1atm6(0),ss(0);
sum2 = (data2(c)+data3(c))/2;
plot1(sum2,"Data2");
TEMA1atm2 = (3 * Ema(sum2,LENGTH1)) - (3 * Ema(Ema(sum2,LENGTH1),LENGTH1)) +
(Ema(Ema(Ema(sum2,LENGTH1),LENGTH1),LENGTH1));
plot5(TEMA1atm2,"태마2",iff((TEMA1atm2 )>(TEMA1atm2[1])+00,RED,iff((TEMA1atm2 )<(TEMA1atm2[1] )-00,BLUE,BLACK)));
if 표시2== 1 then {
if TEMA1atm2[1]< TEMA1atm2 Then {
PLOT11((sum2 )*표시위치,"매수2");
if 소리2== 1 then {
PlaySound("C:₩Users₩Administrator₩Desktop₩sound₩alert.wav");
}
}
if TEMA1atm2[1]> TEMA1atm2 Then {
PLOT12((sum2 )*표시위치,"매도22");
if 소리22== 1 then {
PlaySound("C:₩Users₩Administrator₩Desktop₩sound₩reject.wav");
}
}
}
2017-10-18
153
글번호 113452