커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
2489
글번호 230811
답변완료
이런 수식도 가능한가요(2번 손절)
안녕하세요
선물거래를 하다보면 손절만 터치 하고 익절로 마감하는 경우가 있는데요
이런 수식도 가능한지요?
매수의경우 매수하고 손절가(10틱) 손절되면 매수가에 재진입하여 손절 또는 익절 종료
익절시(30틱) 종료
이렇게 두번까지 손절이 가능하게요
자동매매는 초보라 아직익숙하지 못합니다 잘부탁드립니다.
2022-02-17
904
글번호 156386
베어샘 님에 의해서 삭제되었습니다.
2022-02-17
29
글번호 156385
답변완료
문의
데이트레이딩
보조차트 data2,3,4 활용
연결옵션차트는 전일 코스피200종가 기준이므로 갭보정하는 수식입니다.
var : w(0,Data1),x(0,Data1),y(0,Data1);
var : w2(0,Data1),x3(0,Data1),y4(0,Data1);
w= data2(c)-data2(c[1]);
w2 = data2(c[1])+w;
x= data3(c)-data3(c[1]);
x3 = data3(c[1])+x;
y= data4(c)-data4(c[1]);
y4 = data4(c[1])+y;
어제 종가 수식을 바르게 한 것인지요.
2022-02-17
1191
글번호 156382
답변완료
수식 보완 부탁드려요~~~
아래 수식은 지금 사용하고 있는 수식인데요..
제가 하고 싶은 것은 다음과 같습니다.
"
if MarketPosition == 0 and MoneyFlow <= MFI값 and C <= Highest(H,X)*(1-Y/100) and c<c[MFI기간]
"
원래는 위 수식조건이 만족할때 진입되는 거자나요,,,, 근데 저는 저 조건에 만족하는
시점에서 -3% 하락하는 포인트에서 매수진입하고 싶거든요....
그래서
진입조건에 아래와 같이 했는데
Buy("매수",AtLimit,c*(1-3/100));
진입되는 횟수가 너무 적어서 고믾을 해보니 매수 조건을 만족하는 것과 동시에 -3%떨어지는 시점에도 만족되어야 매수되는 것같아서요..
제가 하고 싶은 사항은 설정된 매수조건이 되면 "그 시점"을 기준으로 -3% 하락하는 시점에 매수되는 수식을 구현하고 싶은데요
결국 진짜 매수되는 상황은 매수조건을 만족하든 안하든 매수 되는 것이지요...
어떻게 안될까요???
input : MFI기간(75),MFI값(28);
input : X(4500),Y(6);
var : MoneyFlow(0),MoneyFlow1(0);
MoneyFlow = MFI(MFI기간);
MoneyFlow1 = MFI(MFI청산기간);
if MarketPosition == 0 and MoneyFlow <= MFI값 and C <= Highest(H,X)*(1-Y/100) and c<c[MFI기간] Then
Buy("b",OnClose,DEf,1);
2022-02-17
949
글번호 156379
답변완료
75970 추가질문드립니다
안녕하세요~
도움주신 수식으로 테스트해봤습니다
그런데 첨부한 사진과 같이 b1 다음에 피라미딩 b2, b3 진입이 발생 안하고 b4로 진입하는것과 같은
몇몇 봉을 빼먹고 진입하는 케이스가 계속 발생하는데 원인을 못찾겠습니다...
가능하다면 확인 부탁드리겠습니다
감사합니다
input : TT(4100), TD(20220217), MDD(200000) ;
var : HB(14461.75), LB(14381), Hx(20000), Lx(1);
var : e60(0), Hcount(0), Lcount(0),B(0),S(0),cnt(0),T1(0), Hstate(true), Lstate(true), N(0), unitP(0), exitC(0), rHB(0), rLB(0);
N = Highest(ATr(14), 100);
unitP = floor(MDD/(N*5*4*600));
exitC = (2-(MaxEntries-1)/2)*N;
e60 = Ema(C,60);
if Condition1 == False and sDate >= TD and sTime >= TT Then
{
Condition1 = true;
Hcount = 0;
Lcount = 0;
T1 = TotalTrades;
}
if Condition1 == true Then
{
B = 0;
S = 0;
if TotalTrades-T1 > 0 Then
{
For cnt = 1 to TotalTrades-T1
{
if MarketPosition(cnt) == 1 Then B = B+1;
if MarketPosition(cnt) == -1 Then S = S+1;
}
}
Hcount = B + IFf(MarketPosition == 1,1,0);
Lcount = S + IFf(MarketPosition == -1,1,0);
if B>0 && B == Hcount then HB = rHB;
if S>0 && S == Lcount then LB = rLB;
if MarketPosition <= 0 and Hstate == true then
{
Buy("b1",AtStop,HB,unitP);
Buy("b2",AtStop,HB+0.5*N,unitP);
Buy("b3",AtStop,HB+N,unitP);
Buy("b4",AtStop,HB+1.5*N,unitP);
}
if MarketPosition >= 0 and Lstate == true then
{
Sell("s1",AtStop,LB,unitP);
Sell("s2",AtStop,LB-0.5*N,unitP);
Sell("s3",AtStop,LB-N,unitP);
Sell("s4",AtStop,LB-1.5*N,unitP);
}
if marketposition ==1 Then
{
rHB = Highest(H, BarsSinceEntry) ;
if rHB < HB+0.5*N Then
Buy("b2.",AtStop,HB+0.5*N,unitP);
if rHB < HB+N Then
Buy("b3.",AtStop,HB+N,unitP);
if rHB < HB+1.5*N Then
Buy("b4.",AtStop,HB+1.5*N,unitP);
if e60 < HB+2*N Then
Exitlong("exitB1", atstop, HB-exitC);
if e60 >= HB+2*N and CrossDown(close, e60) Then
{
ExitLong("exitB2") ;
Hstate = false ;
}
Exitlong("exitB3", AtLimit, Hx);
}
if marketposition == -1 Then
{
rLB = Lowest(L, BarsSinceEntry);
if rLB > LB-0.5*N Then
Sell("s2.",AtStop,LB-0.5*N,unitP);
if rLB > LB-N Then
Sell("s3.",AtStop,LB-N,unitP);
if rLB > LB-1.5*N Then
Sell("s4.",AtStop,LB-1.5*N,unitP);
if e60 > LB-2*N Then
ExitShort("exitS1", atstop, LB+exitC);
if e60 <= LB-2*N and CrossUp(close, e60) Then
{
ExitShort("exitS2");
Lstate = false ;
}
exitshort("exitS3", AtLimit, Lx);
}
if Hcount >= 3 Then Hstate = False;
if Lcount >= 3 Then Lstate = False;
if H >= Hx then Hstate = false;
if L <= Lx then Lstate = false;
}
2022-02-17
1087
글번호 156378
귀족온달 님에 의해서 삭제되었습니다.
2022-02-16
0
글번호 156377
답변완료
검색식 부탁드립니다~
안녕하십니까~
다름아니라 영웅문에서 사용하고있는 종목검색식인데 예스에서 사용해 보려합니다.
변환좀 부탁드립니다~
감사합니다~~
A 시가총액:현재가기준 300억원 이상
B 주가범위:0일전 종가가 900원이상~ 60000원이하
C [일]거래대금 50억이상
D 기간내 등락률:[일]1봉전기준(★당일미포함) 5봉이내에서 전일종가대비종가 12%이상
종목 모두
E 주가등락률:[일]1봉전(중) 종가대비 0봉전 종가등락률 2%이상 종목
F 주가등락률:[일]1봉전(중) 종가대비 0봉전 시가등락률 7%이하 종목
A and B and C and D and E and F
2022-02-16
1142
글번호 156376
답변완료
설명 부족으로 추가 질문드려요~
1. 16시부터 17시 사이(시간조정가능) 정해진 거래량 이상일때 지정 포지션 진입
위 설명이 부족해서 원하는 결과가 안나오네요~ 죄송합니다.
거래량 지표중 [거래량] 이라는 지표를 기준으로 합니다.
수치가 1000~6000 정도 사이로 보입니다.
그리고 xtime 적용이 안됩니다. 체크부탁해요~
----------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
input: position(1),vol(1);
input : StartTime(160000),EndTime(170000),N(50000),xtime(55800);
var : ST(0),Tcond(false),sumV(0);
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = False;
if MarketPosition == 0 then
{
if position == 1 Then
Buy("매수1",OnClose,DEf,vol);
if position == -1 Then
Sell("매도1",OnClose,DEf,vol);
}
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
sumV = 0;
}
if Tcond == true Then
sumV = sumV+V;
if Tcond == true and sumV >= N and MarketPosition == 0 then
{
if position == 1 Then
Buy("매수",OnClose,DEf,vol);
if position == -1 Then
Sell("매도",OnClose,DEf,vol);
}
IF Xtime > ST Then
SetStopEndofday(Xtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Xtime);
}
if (sdate != sdate[1] and stime >= ST) or
(sdate == sdate[1] and stime >= ST and stime[1] < ST) Then
{
IF Xtime <= ST Then
{
SetStopEndofday(0);
}
}
즐거운 하루되세요
> 스카스카 님이 쓴 글입니다.
> 제목 : 수식 부탁드려요~ 감사합니다. ^^
> input: position(1),ntime(160000),vol(1),xtime(55800);
var : ST(0);
if Bdate != Bdate[1] Then
{
ST = sTime;
}
if ST > 0 then
{
if (sdate != sdate[1] and stime >= ntime) or
(sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then
{
if position == 1 Then
Buy("매수",OnClose,DEf,vol);
if position == -1 Then
Sell("매도",OnClose,DEf,vol);
}
}
IF Xtime > ST Then
SetStopEndofday(Xtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Xtime);
}
if (sdate != sdate[1] and stime >= ST) or
(sdate == sdate[1] and stime >= ST and stime[1] < ST) Then
{
IF Xtime <= ST Then
{
SetStopEndofday(0);
}
}
-------------------------------------------------------------------------------------------
위 수식에서 수정 부탁드립니다.^^
감사합니다.
1. 16시부터 17시 사이(시간조정가능) 정해진 거래량 이상일때 지정 포지션 진입
2. 신호가 없다면 17시 무조건 진입
2022-02-16
1057
글번호 156375
답변완료
부탁합니다^^
안녕하세요^^
검색식
cci보조지표에서 signal 5선이 전봉에서 -100 보다 작거나 같을 때
현재봉에서 signal -100 크고
또는 전봉에서 signa 5선이 -100보다 작고 현재봉에서 signa이 -100보다 크거나 같다.
그리고 전종가가 5평선보다 작다가 현재봉이 5평선보다 크다.
그리고 전5평선이 현5평선보다 크거나 같고
다음봉(미래봉)의 종가가 현재봉 종가와 같을때
미래 5평선이 현재5평선보다 크거나 같다
위와 같은 종목을 추출하려 합니다.
선언문 등 틀 전체를 부탁드립니다.
감사합니다^^
2022-02-16
988
글번호 156374