커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8166
글번호 230811
답변완료
지표 문의 드립니다.
안녕하십니까.
항셍지표를 10시 15분 시작을 기준으로 아래 해당하는 표좀 부탁드립니다.
plot1(dayopen,"당일시가");
plot2((dayhigh+daylow)/2,"당일중심가");
plot3(dayhigh(1),"전일고가");
plot4(daylow(1),"전일저가");
plot5((dayhigh(1)+daylow(1))/2,"전일중심가");
plot6(DayClose(1),"전일종가");
Text_Delete(var1);
Text_Delete(var2);
Text_Delete(var3);
Text_Delete(var4);
Text_Delete(var5);
Text_Delete(var6);
var1 = Text_New(sdate,stime,dayopen,"당일시가:"+ NumToStr(dayopen,2));
var2 = Text_New(sdate,stime,(dayhigh+daylow)/2,"당일중심:"+ NumToStr((dayhigh+daylow)/2,2));
var3 = Text_New(sdate,stime,dayhigh(1),"전일고가:"+ NumToStr(dayhigh(1),2));
var4 = Text_New(sdate,stime,daylow(1),"전일저가:"+ NumToStr(daylow(1),2));
var5 = Text_New(sdate,stime,(dayhigh(1)+daylow(1))/2,"전일중심:"+ NumToStr((dayhigh(1)+daylow(1))/2,2));
var6 = Text_New(sdate,stime,DayClose(1),"전일종가:"+ NumToStr(DayClose(1),2));
Text_SetStyle(var1,1,1);
Text_SetStyle(var2,1,1);
Text_SetStyle(var3,1,1);
Text_SetStyle(var4,1,1);
Text_SetStyle(var5,1,1);
Text_SetStyle(var6,1,1);
2016-02-03
186
글번호 95143
답변완료
질문
아래식에서 매수식을 바꿔주세요.
매수: CrossUP(value1, value2)되면, 그날의 최저가에 매수주문
--------------------------------------------------
Input : shortPeriod(5), longPeriod(20);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
# 매수/매도청산
If CrossUP(value1, value2) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value1, value2) Then
{
Sell();
}
2016-02-03
151
글번호 95142
답변완료
문의 드립니다.
30분 전 최대거래량 봉의 고가,저가, 중간값을 표시하는데
그 최대거래량 봉이 음봉이면 파란색, 양봉이면 빨강색으로
표시되게 부탁드립니다. 감사드립니다.
2016-02-03
173
글번호 95139
답변완료
복리가추격에서도되기
Input : shortPeriod(5), longPeriod(20) ;
Var : value(0),vol(0);
if MarketPosition != 0 Then{
if PositionProfit < 0 Then
Vol = MaxContracts*2;
Else
vol = 1;
}
if MarketPosition == 0 Then{
if PositionProfit(1) < 0 Then
Vol = MaxContracts(1)*2;
Else
vol = 1;
}
value = OSCP(shortPeriod, longPeriod);
If CrossUP(value, 0) Then
Buy("b",OnClose,def,vol);
If CrossDown(value,-0) Then
Sell("s",OnClose,def,vol);
# 추적청산
input : AtrMult(6), AtrPeriod(6);
var : AtrVal(0), posHigh(0), posLow(0);
# ATR 추적청산
ATRVal = ATR(AtrPeriod) * AtrMult;
PosHigh = Highest(H,BarssinceEntry+2);
PosLow = Lowest(L,BarsSinceEntry+2);
If MarketPosition == 1 and C < ma(c,20) Then
sell("ATR1", AtStop, PosHigh - ATRVal,Vol);
If MarketPosition == -1 and C > ma(c,20) Then
buy("ATR2", AtStop, PosLow + ATRVal,Vol);
If MarketPosition == 0 and C > ma(C,20) Then
sell("ATR3", AtStop, Highest(H,BarsSinceExit(1)+1) - ATRVal,Vol);
If MarketPosition == 0 and C < ma(C,20) Then
buy("ATR4", AtStop, Lowest(L,BarsSinceExit(1)+1) + ATRVal,Vol);
위수식에서
추격도같이복리가 되게해주세요
크로스와 추격이 따로 나올시 크로스손실후 추격이 나올시 복리가 안됨니다.
감사합니다
2016-02-03
167
글번호 95138
답변완료
시스템 문의..
연결선물지수를 Volatility percent 일봉 (day 봉)
으로 하고 있읍니다.
시스템 자동 매매신호를 하루씩 순연하여 받게 하고 싶은데,
가능하겠읍니까? (아래 참조)
"전일 매매신호"와 "당일 시초가의 방향(전일종가 대비 상승 or 하락)"이
같은 방향이면 시초가(or 9:10)에,
반대 방향이면 12시에 매매 체결
전일 매수신호이고, 당일시초가 상승(전일종가 대비)이면 같은 방향으로 보고,
당일시초가 하락(전일종가 대비)이면 반대 방향으로 봄.
전일 매도신호이고, 당일시초가 하락(전일종가 대비)이면 같은 방향으로 보고,
당일시초가 상승(전일종가 대비)이면 반대 방향으로 봄.
(매수는 상승을 같은 방향으로, 매도는 하락을 같은 방향으로 대응시킴)
정리하면,
전일 매수 => 당일시초가 상승(전일종가 대비) -> 시초가(or 9:10) 매수 (같은 방향)
당일시초가 하락(전일종가 대비) -> 12시 매수 (반대방향)
전일 매도 => 당일시초가 상승(전일종가 대비) -> 12시 매도 (반대방향)
당일시초가 하락(전일종가 대비) -> 시초가(or 9:10)매도 (같은 방향)
(매수=> 상승과 같은 방향, 매도 => 하락과 같은 방향으로 본 것임)
그리고, 전일에 여러번 매매신호가 뜬다면, 마지막 매매신호만 받아서
위와 같이 계산하여 당일 매매체결합니다.
예로, 전일 매수, 매도, 매수 이렇게 연달아 3회 매매신호가 떴다면,
마지막 매수 신호만 받아서 쓰고, 앞의 신호들은 무시합니다.
다만, 전일 마지막 신호가 기존 신호와 같을시는 그냥 통과합니다.(매매체결 안함)
(전일 매수, 매도 이렇게 떴다면, 마지막 매도신호를 따라가나,
원래 기존 신호가 매도이므로 실제 매매체결은 안함. 중복매매 방지)
예로, 전전일 매도 뜨고, 전일 매수,매도 뜨면, 당일은 그냥 통과(매도 체결 안함).
==> 전일 홀수 횟수 매매신호 뜨면, 마지막 신호 따라가고,
전일 짝수 횟수 매매신호 뜨면, 그냥 통과함.
이상입니다.
2016-02-03
194
글번호 95137
답변완료
복리투자건너띄기에서한도정하기
Input : shortPeriod(5), longPeriod(20) ;
Var : value(0),vol(0),cnt(0);
if TotalTrades > TotalTrades[1] Then{
if PositionProfit(1) < 0 Then
cnt = cnt+1;
Else
cnt = 0;
MessageLog("%.f",cnt);
}
if MarketPosition == 0 Then{
if PositionProfit(1) < 0 and cnt >= 3 Then
vol = 1*2^int(cnt/3);
Else
vol = 1;
}
if MarketPosition != 0 Then{
if PositionProfit < 0 and cnt+1 >= 3 Then
vol = 1*2^int((cnt+1)/3);
Else
vol = 1;
}
value = OSCP(shortPeriod, longPeriod);
If CrossUP(value, 0) Then
Buy("b",OnClose,def,vol);
If CrossDown(value,-0) Then
Sell("s",OnClose,def,vol);
# 추적청산
input : AtrMult(6), AtrPeriod(6);
var : AtrVal(0), posHigh(0), posLow(0);
# ATR 추적청산
ATRVal = ATR(AtrPeriod) * AtrMult;
PosHigh = Highest(H,BarssinceEntry+2);
PosLow = Lowest(L,BarsSinceEntry+2);
If MarketPosition == 1 and C < ma(c,20) Then
sell("ATR1", AtStop, PosHigh - ATRVal,Vol);
If MarketPosition == -1 and C > ma(c,20) Then
buy("ATR2", AtStop, PosLow + ATRVal,Vol);
If MarketPosition == 0 and C > ma(C,20) Then
sell("ATR3", AtStop, Highest(H,BarsSinceExit(1)+1) - ATRVal,Vol);
If MarketPosition == 0 and C < ma(C,20) Then
buy("ATR4", AtStop, Lowest(L,BarsSinceExit(1)+1) + ATRVal,Vol);
위수식에서
복리한도 6번 이상 안되게하고
수익이 직전고가 갈대까지 마지막제일큰계약으로 매매됨니다
감사합니다.
2016-02-03
157
글번호 95136
삼족오 님에 의해서 삭제되었습니다.
2016-02-03
35
글번호 95121
답변완료
문의드립니다
전일미결제최대값+전전일미결제최대값/2 을 알고싶습니다
2016-02-03
173
글번호 95120
답변완료
수식문위드립니다
봉 색갈문위입니다
2가지 조건이 맞을때만 색갈이 나오게합니다
macd가 마이너스권에 있고 macd오실레타가 마이너스권에 있으면 파란색봉
macd가 플러스권에 있고 macd오실레타가 플러스권 이면 빨강봉
둘중에 하나라도 안맞으면 색갈 안나오게 해주세요
감사합니다
2016-02-03
186
글번호 95119