커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4329
글번호 230811
답변완료
오늘 답변 받은것 보완 부탁드립니다
1.먼저 답변 감사 드리며 보완 부탁 드립니다
2.답변온것은 시스템 이라고 합니다
시스템은 한개만 적용가능하다고 하니 시스템말고 지표로 재답변 부탁드립니다
3.시스템 신호 발생후 매수 매수만 표시하고 청산신호및
신호 아래 영어 숫자등은 안나오게 부탁드립니다
*견본 참조
첫번째것을 원하며 두번째는 현재 상태입니다
첫번째견본은 신호와 수익틱이 동시에 나옴
***첫번째 견본처럼 나올수 있게 부탁드립니다
2017-12-15
280
글번호 115026
답변완료
피라미딩 수식 요청
변수조절창 피라미딩 기능 사용이 아래 수식과 충돌되는 부분이 있어 수식을 부탁드립니다.
1. 피라미딩 수식 추가
- 첫진입 후 설정 간격 line 추세 돌파 때 "n" 개씩만 피라미딩
- 1회 포함하여 모든 거래에서 피라미딩 작동
2. input 추가
- 피라미딩 수 : n개
- 피라미딩 누적총량수 : n개
항상 고맙습니다.
***************************************************************************
1)수식 내용
선물 가격 a입력 300.50
선물 가격 b입력 300.00
입력한 gap 0.50 대로 간격 line이 노트 가로줄 처럼 생기게 합니다.
가격이 출발하여 처음 터치하는 라인이 첫거래의 기준라인이 됩니다.
예를 들어 시가 299.95에서 300.00을 터치
그리고 300.50을 터치하면 buy
아래 라인 터치 없이 상승하여 305.50을 터치한 후
305.00을 아래로 터치하면 buy 청산, sell 진입
2) 수식
input : HighLine(300.50),LowLine(300.00),n(3),시간(90000);
var : HH(0),LL(0),gap(0),T(0),T1(0),Entry(0),tcond(false);
gap = HighLine-LowLine;
if Bdate != Bdate[1] Then
Tcond = false;
if (sdate != sdate[1] and stime >= 시간) or
(sdate == sdate[1] and stime >= 시간 and stime[1] < 시간) Then{
Tcond = true;
T = 0;
T1 = TotalTrades;
if O > highLine Then{
var1 = Ceiling(abs(O-HighLine)/Gap);
HH = HighLine+gap*var1;
LL = HH-gap;
}
else{
var1 = Floor(abs(O-HighLine)/Gap);
HH = HighLine-gap*var1;
LL = HH-gap;
}
}
if Tcond == true then{
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
if T == 0 and crossup(C,HH) Then{
T = 1;
var2 = HH;
HH = var2+gap;
LL = var2-Gap;
}
if T == 0 and CrossDown(C,LL) Then{
T = -1;
var2= LL;
HH = var2+Gap;
LL = var2-Gap;
}
if T != 0 and crossup(C,HH) Then{
T = 1;
var2 = HH;
LL = var2-Gap;
HH = var2+gap;
if entry < n then
buy();
}
if T != 0 and CrossDown(C,LL) Then{
T = -1;
var2 = LL;
HH = var2+Gap;
LL = var2-Gap;
if entry < n then
sell();
}
}
2017-12-16
187
글번호 115025
답변완료
수식 요청 드립니다.
안녕하세요.
수식 요청 드립니다.
1. 연결선물 당일청산 시스템에서 월봉 양봉 음봉 기준으로
-> 당일 진입가 까지의 월봉이 양봉이면 당일 시스템 매수만 진입(매도 진입 금지)
-> 당일 진입가 까지의 월봉이 음봉이면 당일 시스템 매도만 진입(매수 진입 금지)
감사합니다.
2017-12-15
177
글번호 115024
답변완료
전환을 부탁드림니다
1,x=MACD(short,long)-eavg(MACD(short,long),signal);
avg(X,period)*K
2,MACD(short,long)
3,a=MACD(short,long);
if(A>=a(1),a,0)//상승
4,if(A<A(1),a,0)//하락
5,eavg(MACD(short,long),signal)
short=12,long=26,signal=9
period=1,k=1
2017-12-15
167
글번호 115023
답변완료
함수요청
안녕하세요?
함수요청드립니다.
- 종목: 크루드오일
- 주기: 60분
- 매수: 당일제외 과거 10영업일 (고가-종가) 평균값 < 당일제외 과거 10영업일 (종가-저가) 평균값 완성시 익봉 시가
- 매도: 당일제외 과거 10영업일 (고가-종가) 평균값 > 당일제외 과거 10영업일 (종가-저가) 평균값 완성시 익봉 시가
2017-12-15
164
글번호 115022
답변완료
문의드립니다.
안녕하세요~ 추운날씨에 고생많으십니다.
=> 혹시 수식으로 두번째 진입신호시에만 들어가게 만들수 있을까요? (추가로 1일 매매회수 제한)
ex> if ma1 > ma2 and c > c[1] then buy() 이런식의 수식에서 두번째, 네번째등 두번째 나오는 신호에만 진입하고, 총 진입 회수는 3회로 설정.
위에 내용이 수식으로 가능하다면 부탁드립니다. 그럼 즐거운 주말 보내세요~
2017-12-15
155
글번호 115014
답변완료
문의드립니다.
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 지표
피봇
피봇+2틱
피봇+4틱
피봇+6틱
피봇+8틱
피봇+10틱
피봇-2틱
피봇-4틱
피봇-6틱
피봇-8틱
피봇-10틱
2. 기타
그 상품의 라운드 피겨를 지표로 만들 수 있을까요?
가령 10만원을 넘어가면 1만원당 라운드피겨
1000원이면 100원당 라운드피겨 이런 식으로 지표를 만들 수 있는지요.
3. 기타
최근 n개봉간 2번이상 고가가 상향돌파했다가 하향돌파한 swinghigh선같은 것을 구할 수 있는지요.
4. 기타
-var1선을 상향돌파한 고가봉이 n개봉인 가운데
n개봉내에 var1선+ n틱을 상향돌파하면 매수진입
-var1선을 상향돌파한 고가봉이 n개봉인 가운데
n개봉내에 var1선을 종가가 하향돌파하거나 var1선-n틱을 저가가 하향돌파하면 매도진입
-매도진입은 매수진입조건의 반대로
5.
-n거래일간 n회 진입 제한
-당일 nb회 진입 제한
이평선 매수매도 전략 예제로 코딩 부탁드립니다. 이전에 만들어주신게 있는데 두개 합쳐서 쓰려고 하니 어떻게 짜야 할 지 모르겠네요.
2017-12-15
222
글번호 115013
답변완료
부탁드립니다.
도움주심에 감사 드립니다
타주기에서(분용,틱용)지표를 보고자 부탁 드립니다.
미리 감사 드립니다.
inputs: bd(20),g(1);
var:wn(0),ab(0),b1(0),c1(0),c2(0),c3(0),filt(0),peak(0),universal(0),universal_m(0);
wn=(c-c[2])/2;
ab=ExpValue(-1.73*3/bd);
b1=2*ab*cosine(1.4*180/bd);
c2=b1;
c3=-ab*ab;
c1=1-c2-c3;
if accum(1)>3 then {
filt=c1*(wn+wn[1])/2+c2*filt[1]+c3*filt[2];
}
peak=0.73*peak[1];
if CurrentBar==1 then peak=0.0001;
if AbsValue(filt)>peak then peak= absvalue (filt);
if peak <> 0 then universal= ema(filt/peak,g);
2017-12-15
187
글번호 115012
답변완료
문의드립니다.
아래 수식을 실행하면
차트에서 일간 갭 선택하고 하면 정상으로 매수매도가 되는데
차트에서 일간 갭 선택안하면 처음에 매수만 실행됩니다.
수식 수정 부탁드립니다.
----의심부분 : AtLimit 에 이어지는 수식 / 이곳을 약간 수정하면 정상인거 같습니다.-------------
if A_SIG == 1 and bs1 == 1 and entry < 당일거래횟수 then {buy("매수",AtLimit,TCHAN-PriceScale*TICK); }
if A_SIG == 1 and ss1 == 1 and entry < 당일거래횟수 then {sell("매도",AtLimit,BCHAN+PriceScale*TICK); }
----시스템 수식--------------------------------
INPUT : LENGTH(10), PRO(100), LOSS(10),T(132000),TICK(4),하루손실(-5.5),당일거래횟수(2),TIK(0.05),P1(2),P2(1),P3(1),ST(090000),ET(144900);
VAR : TCHAN(0), BCHAN(0),TCHAN1(0), BCHAN1(0);
var : bs1(0),ss1(0);
var : NP(0),Pre(0),DayPL(0),Xcond(false);
var : TT(0),T1(0),Entry(0);
var : Tcond(false);
var : gap(0),sumgap(0),GO(0),GH(0),GL(0),GC(0),R(0),MI(0);
//PRICE 갭
if bdate != bdate[1] Then{
gap = Open-Close[1]; //일간갭 계산
sumGap = sumGap+gap; //일간갭 누적
}
GO = O - sumGap; //갭보정 시가 - 현재봉 시가에서 누적된 갭만큼 가감
GH = H - sumGap; //갭보정 고가 - 현재봉 고가에서 누적된 갭만큼 가감
GL = L - sumGap; //갭보정 저가 - 현재봉 저가에서 누적된 갭만큼 가감
GC = C - sumGap; //갭보정 종가 - 현재봉 종가에서 누적된 갭만큼 가감
NP = NetProfit;
TT = TotalTrades;
if Bdate != Bdate[1] Then{
Pre = NP[1];
Xcond = false;
T1 = TT[1];
}
DayPL = NP-Pre;
if MarketPosition == 0 Then
entry = TT-T1;
Else
entry = TT-T1+1;
if TotalTrades > TotalTrades[1] and (IsExitName("DBx",1) == true or IsExitName("DSx",1) == true) Then
Xcond = true;
TCHAN = HIGHEST(GH, LENGTH)[P1];
BCHAN = LOWEST(GL, LENGTH)[P1];
// 매수매도 진입조건 1단계
if TCHAN[P2]+TIK < H then {bs1 = 1;}
if BCHAN[P2]-TIK > L then {ss1 = 1;}
// 매수매도 초기화
if bs1 == 1 and BCHAN > GL then {bs1=0;}
if ss1 == 1 and TCHAN < GH then {ss1=0;}
TCHAN1 = HIGHEST(HIGH, LENGTH)[P3];
BCHAN1 = LOWEST(LOW, LENGTH)[P3];
//진입
if bs1 == 1 and entry < 당일거래횟수 then {buy("매수",AtLimit,TCHAN1-PriceScale*TICK); }
if ss1 == 1 and entry < 당일거래횟수 then {sell("매도",AtLimit,BCHAN1+PriceScale*TICK); }
if MarketPosition == 1 Then
ExitLong("DBx",AtStop,EntryPrice+하루손실-dayPL);
if MarketPosition == -1 Then
ExitShort("DSx",AtStop,EntryPrice-하루손실+daypl );
SetStopProfittarget(PRO,PointStop);
SetStopLoss(LOSS,PointStop);
SetStopEndofday(T);
2017-12-15
224
글번호 115011