커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6666
글번호 230811
답변완료
시스템수식문의드립니다
수고많으십니다. 시스템 수식 문의드립니다.
만든 시스템을 적용시킬려고하는데요
차트를 켜고 시스템 적용을 시키는 시점부터 조건이 만족하면 신호가 나오게 하려고 합니다.
그전에 시스템 신호가 나와있으면 조건을 만족해도 신호가 나오지않아서요
당일만 조건만족하면 매수신호가 나올수있게 적용시킬수있는 함수가 있나요? 당일청산함수 없이 금일장시작부터만 조건민족하면 신호가 나오게 하는방법좀 알려주세요
2015-01-09
162
글번호 82082
답변완료
부타합니다
부탁드립니다
현재 하나의 시스템을 만들어서 사용을 하고 있습니다
이 시스템에 하나를 추가하고 싶군요
매수신호확정이 나오고 진행중에 다음신호 매도확정이 나오면서 바로 직전 매수해서 최고점까지의 수익률을 차트에 표시하고 싶군요 예을 들어 "0.5포 수익확정" "1.3포 수익확정" 이런식으로 부탁합니다
매도의 경우도 같은 식으로 부탁드립니다
단 0.5포이하의 수익구간에서는 이 표시를 나오지 않았으면 합니다
2015-01-09
214
글번호 82080
답변완료
수식 수정문의합니다
var : Diff2(0,data2),diff3(0,data3),sum(0,data2);
diff2 = data2((C-OpenD(0))/PriceScale);
diff3 = data3((C-OpenD(0))/PriceScale);
sum = diff2+diff3;
plot1(Diff2,"data2콜");
plot2(Diff3,"data3풋");
plot3(sum,"양합");
안녕하세요
지난번 만들어주신 양합차트입니다
전체적으로 아주 만족합니다
감사합니다
그런데
콜과풋 양합차트를 실제 변화한 틱수만큼만 적용해서 만들었더니
한가지 문제가 생긴게
3.00을 넘어서 부터는 1틱에 0.05씩 증가해서 차트에 오류가 발생합니다
3.05부터 1틱에 * 5를 해서 적용할 수 있을까요
해결할 방법좀 찾아주세요
부탁드립니다
2015-01-09
176
글번호 82077
답변완료
문의드립니다(피라미딩)
39827번과 관련해서 식을 넣으려고 했는데 잘 안되네요^^;;
아래식을 피라미딩 진입 들어갈때 전에 진입한 것이 1포인트 이상 이익났을때만
추가 진입이 될수 있도록 수정 부탁드립니다..
=============================================================
var:피봇(0),저항1(0),저항2(0),지지1(0),지지2(0),
ilmok1(0), ilmok2(0), ilmok3(0), sunhang1(0), sunhang2(0),
emaV(0),중기(0),중장기(0),장기(0), MacdV(0), MacdS(0), MacdOsc(0),
LemaV(0), LmacdV(0), LmacdS(0), LmacdOsc(0),adxv(0),atrv(0),atrstop(0),cnt(0),posHigh(0), posLow(0);
피봇 = (DayHigh(1)+daylow(1)+dayclose(1))/3 ;
저항1 = 2 * 피봇 - daylow(1);
저항2 = 피봇 + DayHigh(1)-DayLow(1);
지지1 = 2 * 피봇 - DayHigh(1);
지지2 = 피봇 - DayHigh(1) + DayLow(1);
중기=ema(c,15);
중장기=ema(c,30);
장기=ema(c,400);
adxv=adx(20);
atrv=atr(10);
atrstop=iff(adxv>25 and adxv>adxv[1],atrv*2,atrv*10);
var1 = Highest(h,BarsSinceEntry+1);
var2 = Lowest(L,BarsSinceEntry+1);
#1 macd + ema
emaV = ema(C,300);
MacdV = macd(20,76);
MacdS = ema(MacdV,190);
MacdOsc = MacdV-MacdS;
#2 #1을 다시 변형
LemaV = ema(C,300*1.8);
LmacdV = macd(20*1.8,76*1.8);
LmacdS = ema(MacdV*1.8,190*1.8);
LmacdOsc = (LmacdV-LmacdS)*1.8;
If sTime>=090500 and CrossUp(c, 저항2) then Buy("일번buy");
If sTime>=091500 and CrossDown(C,지지2) then Sell("사번sell");
if stime>=092000 and CrossUp (c, 지지1) then Buy("삼번buy");
if stime>=092000 and CrossDown(c, 저항1) then Sell("이번sell");
if IsEntryName("일번buy") Then
{ExitLong("일번atrEL", AtStop, Var1-ATRstop);
If c<ema(c,20) and ema(c,20)[1]>Ema(c,20) then ExitLong("일번2EL");
}
if IsEntryName("사번sell") Then
{ ExitShort("사번atrES",AtStop, Var2+ATRstop);
if CrossUp(c,중기) then ExitShort("사번2ES");
}
if IsEntryName("삼번buy") then {
ExitLong("삼번atrEL", AtStop, Var1-ATRstop);
If CrossDown(c,저항1) then ExitLong("삼번2EL");
}
if IsEntryName("이번sell") then {
ExitShort("이번atrES", AtStop, Var2+ATRstop);
If CrossUp(c,피봇)and c<EntryPrice then ExitShort("이번2es");
}
ilmok1 = (highest(H,15)+lowest(L,15))/2;
ilmok2 = (highest(H,15*3)+lowest(L,15*3))/2;
ilmok3 = (highest(H,15*3*2)+lowest(L,15*3*2))/2;
sunhang1 = (ilmok1+ilmok2)/2 ;// "선행스팬1"
sunhang2 = ilmok3; // "선행스팬2"
if dayindex() == 23+1 then {
if accumN(iff( C > max(sunhang1, sunhang2),1,0),24) == 24 then buy("오번Buy");
if accumN(iff( C < min(sunhang1, sunhang2),1,0), 14) == 14 then sell("육번Sell");
}
if isEntryname("오번Buy") Then {
if CrossDown(C, max(sunhang1, sunhang2)) then ExitLong("오번el1");
if MarketPosition == 1 then ExitLong("5익절", atlimit, EntryPrice+4);
}
if isEntryname("육번Sell") then {
if CrossUp(C, min(sunhang1, sunhang2)) Then exitshort("육번es1");
if MarketPosition == -1 then ExitShort("6익절", atlimit, EntryPrice-4);
}
if CrossUp(중기, 장기) then buy("칠번Buy");
if CrossDown(ema(c,30), ema(c,580)) then sell("팔번Sell");
if IsEntryName("칠번Buy") then {
ExitLong("칠번atrel", AtStop, Var1-ATRstop);}
if IsEntryName("팔번Sell") Then {
ExitShort("팔번atres",AtStop, Var2+ATRstop);}
# 매수진입
If stime >=090500 and LemaV > LemaV[1] then {
if CrossUp(C, emaV) Then
buy("구번buy");
}
# 매도진입
If stime >=090500 and LemaV < LemaV[1] then {
if Crossdown(C, emaV) Then
sell("십번sell");
}
if IsEntryName("구번buy") Then
{ExitLong("구번atrel", AtStop, Var1-ATRstop);
}
if IsEntryName("십번sell") Then
{ExitShort("십번atres",AtStop, Var2+ATRstop);
}
SetStopLoss(0.6,PointStop);
SetStopEndofday(144200);
2015-01-09
178
글번호 82075
답변완료
시스템 수식 2개 부탁드립니다.
매수조건은 동일하고 매도조건이 다른 2개의 수식을 부탁드립니다.
매수조건이 시초가가 전일종가와 같은때 갭상승때 갭하락때의 경우의 수가 다 있으므로
거의 매수가 될거 같습니다. 그리고 [2-2]의 매도조건은 분봉이 다른 챠트에서의
조건입니다.
질문: 이 두개의 수식을 운영할 때 A로직으로 매수후 B로직으로 수식을 바꿔서
매도가 가능한지요?? 매수 포인트(포지션)이 같으므로 가능할지도 모르겠다는 생각이 드네요.
[1] 5분봉 – 매수조건
1.전일종가 = 시초가 : 시초가 매수
2.전일종가 < 시초가(갭 상승)
1)시초가 이후 처음 발생하는 Stochastic(20,12,12) GoldenCross 매수
2)시초가 이후 하락하다가 전일종가대비 +1%와 시초가 사이에 도달하였다가 반등하는 저점에서 매수
3.전일종가 > 시초가(갭 하락)
1)-2% 보다 높게 갭 하락시: 전일 종가 도달시 매수
2)-2% 보다 낮게 갭 하락시: 최저가 대비 +2% 구간에서 매수
[2-1] 5분봉 - 매도조건
1.120이평 하향이탈
2.20이평과 60이평 DeadCross
두 조건 모두 만족시 매도
[2-2] 30분봉 - 매도조건
Stochastic(20,12,12) DeadCross
[3] 익절조건
최고가 대비 5% 하락시 매도
[4] 손절조건
진입가격 대비 3% 하락시 매도
[5] 기타조건
1.피라미딩 설정의 진입횟수 조정에 의해서 매수가 가능해야 함
2.하루 이내에 매수 후 매도가 된다면 더 이상 진입 제한되어야 함.
2015-01-09
169
글번호 82074
aaace 님에 의해서 삭제되었습니다.
2015-01-09
0
글번호 82073
aaace 님에 의해서 삭제되었습니다.
2015-01-09
22
글번호 82072
답변완료
시간 누적 지표
틱차트의 경우는 틱봉이 언제 완성되는지 알수있는데...
분봉 차트에서 캔들완성까지 시간이 얼마 남았는지 알수있는 지표 소개 부탁 합니다.
틱차트는 ticks 로 누적상황을 알 수 있고요.
5 분봉에서는 5분봉의 완성시점을 어케 알수있을까요 ?
2015-01-08
176
글번호 82071
답변완료
수식 문의 드려요...
첨부파일은 메리츠화재 2015년 1월 8일 까지의 차트입니다..
if CrossUp(c,ma(c,120)) Then
find(1);
if crossup(c,highest(h,20)[1]) and c > ma(c,120) then
find(1);
위 두가지의 검색식에서 검색이 되야하는거 아닌가요??
제가 수식을 잘못 이해하고있는 건가요??
2015-01-08
157
글번호 82070