커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7300
글번호 230811
답변완료
문의드립니다.
선물차트 기준으로 문의드립니다.
1. 지수이평20선이 삼각가중평균 105선과 삼각가중평균 150선을 '모두' 크로스 했을때,
골든크로스면 다음 데드크로스가 나올때까지 해당 구간을 세로로 빨강색으로 색채우기를 하고자 합니다. 반대로 데드크로스면 해당구간을 세로로 파랑색으로 색채우기를 하려 합니다.
(기간값은 변경 가능하게 부탁드립니다.)
2. 위 1번과 비슷하게 이번에는 단순이평30선이 삼각가중평균 105선과 삼각가중평균150선을
모두 크로스했을때 골든구간과 데드구간을 세로로 색채우기를 하고자 합니다.
(기간값은 변경 가능하게 부탁드립니다.)
수식을 부탁드립니다. 항상 감사합니다. 수고하세요!!!
2017-08-31
137
글번호 112386
회원 님에 의해서 삭제되었습니다.
2017-08-31
16
글번호 112383
답변완료
전전일_전일 중심선 수정
항상 감사드립니다
1_ 아래 54602번 [전전일-전일 중심선] 지표식에 대한 주석 부탁드립니다
2_전전일-전일 중심선 라인의 고가 또는 저가를 갱신하지 못할시 계속연장되도록 셋팅되어
있으나 익일 고가또는 저가를 갱신순간 라인이 3일치에서 2일치로 변환되는것 같습니다
당일기준 전전일-전일 고가또는 저가 미갱신시 익일에도 기존의 라인을 그대로 연장표시하고
익일기준 전전일-전일 고점~저점라인 표시
이경우 전전전일~전일(3일간) 의 라인이 표시되며(색상은 블랙)
전전일 ~전일(2일간)의 라인은 추가표시되어 라인이 지표식이 2개로 늘어남.
(색상은 화이트)
*** 당일 전전일~전일 고가 또는 저가를 갱신못할경우 라인을 익일까지 계속연장/
고점또는 저점을 갱신하는 날까지 표시 /그이후는 표시안함
*** 라인변환기준일이 당일로 당일에 갱신못할경우 연장표시함.
감사합니다
2017-08-31
176
글번호 112377
답변완료
수식 수정 좀 부탁드려요
아래는 항생 매수식 입니다
하루에 한번만 나오게 되어 있는데이걸 매도식으로 하루에 한번만 나오게 수정 좀 부탁드려요!
##[시스템] CMO(매수)
INPUT: LENGTH(9),TOPBAND(0),LOWBAND(-0);
var : Chandre(0);
Chandre = CMO(LENGTH);
if ((stime >= 101500 and stime < 130000) or
(stime >= 140000 and stime < 171000)) then {
if TOPBAND > LOWBAND then ;
buy();
}
SetStopTrailing(0.15,0.15);
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
이건 하루에 신호가 여러번 나오는 매도식인데 매수식으로 변경 부탁드립니다!
#파라볼릭(매수)-5분봉,0.02
Input: AccelFactor(0.02);
Variables: ParabolicValue(0);
ParabolicValue = SAR(AccelFactor, 0.2);
If High < ParabolicValue Then
Buy ("Pblc", AtStop, ParabolicValue);
부탁드립니다!
2017-08-31
166
글번호 112376
답변완료
질문드립니다.
다른 5이평을 뒤집어서 상향크로스될때는 빨간색 하향크로스될때는 파란색으로 표시하고싶습니다...
Input : Period1(5);
var : Sma1(0), sma2(0);
Sma1 = ma(C,Period1);
sma2 = sma1-(sma1-5);
Plot1(Sma1, "이동평균1");
plot2(sma2,"반대");
이렇게하면 올바르게 나오지를 않네요
2017-08-31
140
글번호 112375
답변완료
행복; 시스템식 작성 바랍니다
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
시스템식 관련입니다
Q&A 54578번에 대한 답변 << 아래 >> 와 같이 잘 받았습니다
======<< 아래 시작 >>===============================
if MarketPosition == 0 and sdate == 20151020 and C > 46800 then{
Condition1 = true;
buy("b1",OnClose,def,722);
}
if Condition1 == true and MaxEntries < 5 Then{
buy("b2",AtStop,47947,308);
buy("b3",AtStop,49061,308);
buy("b4",AtStop,50169,308);
buy("b5",AtStop,51275,308);
}
if MarketPosition == 1 Then{
if MaxEntries == 1 then
exitlong("bx1",AtStop,highest(H,BarsSinceEntry)*0.790);
if MaxEntries == 2 then
exitlong("bx2",AtStop,highest(H,BarsSinceEntry)*0.688);
if MaxEntries == 3 then
exitlong("bx3",AtStop,highest(H,BarsSinceEntry)*0.586);
if MaxEntries == 4 then
exitlong("bx4",AtStop,highest(H,BarsSinceEntry)*0.484);
if MaxEntries == 5 and C > 100000 Then
exitlong("bx5");
======<< 아래 끝 >>===============================
<< 아래 >>를 < 다음 >과 같이 약간 변형하여 LG전자에 적용하였습니다
- 주기; 일봉
- 종목; LG전자
======<< 다음 시작 >>===============================
if MarketPosition == 0 and sdate == 20151020 and C > 46800 then
buy("b1",OnClose,def,722);
if MarketPosition == 1 Then{
if sdate >= 20151020 and MaxEntries < 5 Then{
buy("b2",AtStop,47947,308);
buy("b3",AtStop,49061,308);
buy("b4",AtStop,54490,308);
buy("b5",AtStop,55994,308);
}
if MaxEntries == 1 then
exitlong("bx1",AtStop,highest(H,BarsSinceEntry)*0.790);
if MaxEntries == 2 then
exitlong("bx2",AtStop,highest(H,BarsSinceEntry)*0.688);
if MaxEntries == 3 then
exitlong("bx3",AtStop,highest(H,BarsSinceEntry)*0.586);
if MaxEntries == 4 then
exitlong("bx4",AtStop,highest(H,BarsSinceEntry)*0.484);
if MaxEntries == 5 and C > 100000 Then
exitlong("bx5");
}
======<< 다음 끝 >>===============================
그랬더니, 2015년 10월 20일에 1차 매수 후
2차, 3차 매수는 2015년 10월 21일에 정상적으로 매수되었는데
2016년 10월 22일에는 4차 매수가 3번 반복되고 5차 매수가 1번 실행되어
합이 7차례 매수가 됩니다
원래는 5번 매수가 되어야 하는데 추가로 2번 더 매수가 이루어집니다~
어떻게 수정 해야 하나요?
2017-08-30
186
글번호 112374
답변완료
이전질문에 대한 추가질문입니다.
If 지평선>value10 Then {
if CrossUp(value13,value14) then Sell("매도");
}
If 지평선<Value10 Then {
if CrossUp(value13,value14) then Buy("매수");
}
If MarketPosition==1 Then{ #정방향 매도
If CrossDown(지평선,value10) Then ExitLong("매수청산1");
If 지평선<Value10 Then {
If CrossUp(value13,value14) Then ExitLong("매수청산2"); #손절
}
}
If MarketPosition==-1 Then{ #정방향 매수
If CrossUp(지평선,value10) Then ExitShort("매도청산1");
If 지평선>value10 Then {
If CrossUp(value13,value14) Then ExitShort("매도청산2"); #손절
}
}
위와같은 수식이 있다고 할때 전에 질문드린 내용으로 수식 수정을 좀 부탁드려도 될까요
답변해주신 내용으로 수식작성을 해보니 아예 진입이 나오지 않아서요..
매번 감사드립니다.
2017-08-30
138
글번호 112373
답변완료
수식부탁합니다
아래에서 파라미딩을 설정하면 지표에서는 매수신호가 봉마다 1개 예를들면 총 5개 매수체결이 되는데 지표에서 청산신호가 한봉에 5개 나오면 체결이 5개 되어야 하나 실제 체결은 1개만 됩니다. 옵션의 문제인가요?
var Begin;
var CallCode,PutCode;
function C1_OnRiseSignal(Signal)
{
if (Signal.signalKind == 1 )
{
Main.MessageList("매수신호발생");
Begin = 1;
CallCode = Option.GetATMCallRecent(1);
var CallPrice = Option.GetBidByCode(CallCode,2);
A1.OrderBuy(CallCode, 1, CallPrice, 1);
}
if (Begin == 1 && Signal.signalKind == 2 )
{
Begin = 0;
Main.MessageList("매수청산발생");
var BxCallPrice = Option.GetAskByCode(CallCode, 2);
A1.OrderSell(CallCode, 1, BxCallPrice, 1);
2017-08-30
170
글번호 112372
답변완료
수식 검토 부탁드립니다
선물 분봉에 사용 목적으로 아래를 작성해보았는데 수식 검토 부탁드립니다
회신은 e-mail. mintaizhi@gmail.com으로 가능할까요?
========================================================================================
Inputs: ShortPeriod(2), Period1(13), qty(2);
var1 = ema(C,Period1); "13지수이평"
Variables: Fval(0),FvalFast(0);
Fval = ((Close - Close[1]) * Volume) ; "2 Force Index"
FvalFast = Ema(Fval, ShortPeriod);
if ema(C,13)<C[1]) and ema(Fval, ShortPeriod)<0 Then
Buy("매수", ? ,qty);
"만일 직전종가가 13지수이평보다 크고 2Force Index가 0보다 작으면, 다음봉 현재가가 13지수이평과 만날때 매수"
if ema(C,13)>C[1]) and ema(Fval, ShortPeriod)>0 Then
Sell("매도", ? ,qty);
"만일 직전종가가 13지수이평보다 작고 2Force Index가 0보다 크면, 다음봉 현재가가 13지수이평과 만날때 매도"
========================================================================================
시스템에 복사해서 사용할 예정입니다
감사합니다
2017-08-30
219
글번호 112371