커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1653
글번호 230811
oni 님에 의해서 삭제되었습니다.
2022-08-29
0
글번호 161802
oni 님에 의해서 삭제되었습니다.
2022-08-29
0
글번호 161801
답변완료
시뮬레이션
안녕하세요.
시뮬레이션(선물연결)에서 외부변수로 dayopen하니 0(영)으로 인식하는데 이를 해결하는 방법은 무엇인가요?
Input : p1(dayopen);
IF C<=(p1-0.9) AND C>= (p1-1.1) then Sell("P1",onclose);
감사합니다.
2022-08-29
1099
글번호 161797
답변완료
수식 부탁드립니다.
IF C - C[1] < 0.3 AND C - C[1] > 0 THEN AA=30
IF C - C[1] >= 0.3 AND C - C[1] < 0.5 THEN AA=50
IF C - C[1] > -0.3 AND C - C[1] < 0 THEN AA=-30
IF C - C[1] <= -0.3 AND C - C[1] >-0.5 THEN AA=-50
일경우
위에 있는 그림처럼 막대 그래프를 그리고 싶어요..
+인경우 위로빨강 -인경우는 아래로 파랑
부탁드립니다.
2022-08-29
1218
글번호 161796
답변완료
안녕하세요^^
매수진입
1조건
전종가가 전5평선 보다 작고 그리고 종가가 5평선보다 크다.
전cci 5선이 전-100보다 작거나 같다 그리고 현cci 5선이 현-100보다 크다
또는 전전cci 5선이 전전-100보다 작거나 같다 그리고 전cci 5선이 전-100보다 크다
2조건
(시가가 Bollinger band 중앙선보다 작고 종가가 Bollinger band 중앙선보다 크다
종가가 Bollinger band 상한선보자 작다)
cci 5선이 0보다 작다
5평선이 전5평선보다 크다
3조건
(시가가 Bollinger band 하한선보다 작다 그리고 종가가 Bollinger band 하한선보다 크다 그리고 Bollinger band 하한선 전 Bollinger band 하한선이 크거나 같다)
종가가 5평선보다 작다
공통조건
07시 05분부터 다음날 05.40분까지
청산(매도)
종가가 5평선보다 작다(진입봉이 종가가 5평선보다 작으면 아나다) 또는
종가가 Bollinger band 산한선 작고 시가가 Bollinger band 산한선보다 크다.
강제청산 = Bollinger band 산한선 전Bollinger band 하한선이 작거나 같다 그리고
h가 Bollinger band 하한선보다 크거나 같으면.
강제 청산 = 06시55분 보다 같거나 크면.
매도진입
1조건 = 종가가 5평선보다 작다.
(시가가 5평선보 크고 종가가 5평선보다 작다
시가가 Bollinger band 중앙선보다 크고 종가가 Bollinger band 중앙선보다
5평선이 전5평선보다 작다
Bollinger band 중앙선 전 Bollinger band 중앙선 작거나 같다
전 5평선이 전 Bollinger band 중앙선보다 크다.)
2조건 = 조가가 5평선보다 작다.
((전 종가가 전 시가보다 작다) 또는 (전전종가가 전전시가보다 작다 그리고 전종가가 전시가보다 크다))
전cci 5선이 100보다 크거나 같고 현cci 5선이 100보다 작다
3조건
공통조건
07시 05분부터 다음날 05.40분까지
청산(매수)
종가가 5평선보다 크다.
( Bollinger band 하한선 전Bollinger band 하한선이 크거나 같고
저가 Bollinger band 하한선보다 작고 종가가 Bollinger band 하한선보다 크고
종가가 시가보다 크다)
강제 청산 = 06시55분 보다 같거나 크면.
수고 부탁드립니다 ^^
2022-08-28
1113
글번호 161795
답변완료
수식문의드립니다
안녕하세요~
아래와 같이 수식을 짰는데 테스트 중 원인을 알수없는 진입을 발견해 문의드립니다
-----------------------------------------------
input : HB(13163), LB(13128), TT1(120000), TT2(213200), TD(20220826), MDD(100000);
var : Bsystem(False), Ssystem(False), Fsystem(true), unitP(0), condition1(true);
// MACD 변수
input : 타주기분(5),short(12),long(26),sig(9);
var : S1(0),D1(0),TM(0),EP1(0),EP2(0),EP3(0),MACDO(0);
var : TF(0),xma1(0),xma2(0),idx(0),Prexma1(0),Prexma2(0),MACDV(0),MACDS(0),PreMACDS(0);
unitP = floor(MDD/(2*ATR(14)*BigPointValue*1400));
if sDate >= TD && TT2 > sTime && sTime > TT1 Then condition11 = true;
Else condition11 = False;
if condition11 == true Then
{
MessageLog("rsi %.4f, ATR %.4f, unitP %.4f, MP %.4f, macdV %.4f", rsi(14), ATR(14), unitP, MarketPosition, MACDV);
MessageLog("H %.4f, L %.4f, BS %4s, SS %4s, FS %4s", H, L, Bsystem, Ssystem, Fsystem);
// 횡보구간 이탈 - 회귀 - 매수매도구간 진입
if H > HB + 15 Then Fsystem = False;
if L < LB - 15 Then Fsystem = False;
if HB > C && C > LB && condition1 == true Then Fsystem = true;
if H > HB + 30 Then
{
Bsystem = true;
condition1 = False;
}
if L < LB - 30 Then
{
Ssystem = true;
condition1 = False;
}
// 진입
if Bsystem == true && RSI(14) <= 30 Then Buy("b1-1", OnClose, Def, unitP);
if Ssystem == true && RSI(14) >= 70 Then Sell("s2-1", OnClose, Def, unitP);
if Fsystem == true Then
{
if RSI(14) <= 30 Then Buy("b3-1", OnClose, Def, unitP);
if RSI(14) >= 70 Then Sell("s3-1", OnClose, Def, unitP);
}
//청산
if marketposition == 1 then
{
ExitLong("xL1", AtLimit, EntryPrice + 2*ATr(14));
ExitLong("xL2", AtStop, EntryPrice - 2*ATr(14));
}
if MarketPosition == -1 Then
{
ExitShort("xS1", AtLimit, EntryPrice - 2*ATr(14));
ExitShort("xS2", AtStop, EntryPrice + 2*ATr(14));
}
}
// 매수매도 off
Ep1 = 2/(short+1);
Ep2 = 2/(long+1);
Ep3 = 2/(sig+1);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분 > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or
(Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then
{
idx = idx + 1;
Prexma1 = xma1[1];
Prexma2 = xma2[1];
PreMACDS = MACDS[1];
}
if idx <= 1 then
{
xma1 = C;
xma2 = C;
MACDV = xma1-xma2;
MACDS = MACDV;
MACDO = MACDV-MACDS;
}
else
{
xma1 = C * EP1 + Prexma1 * (1-EP1);
xma2 = C * EP2 + Prexma2 * (1-EP2);
MACDV = xma1-xma2;
MACDS = MACDV * EP3 + PreMACDS * (1-EP3);
MACDO = MACDV-MACDS;
}
if condition11 == True Then
{
if Ssystem == true && MACDV > 0 Then Ssystem = False;
if Bsystem == true && MACDV < 0 Then Bsystem = false;
}
}
------------------------------
제가 짠 수식에선 Bsystem, Ssystem, Fsystem 최소한 셋 중 하나는 true이어야만 진입이 발생할 수 있는데
첨부한 사진을 보면 21:31에 세 조건이 모두 false인데 매도진입이 이뤄졌습니다
=>로그 상의 BS, SS, FS 값이 모두 false인 상황
3개 조건에 한해서만 진입조건을 걸어뒀는데 왜 이런 진입이 일어났는지 아무리 봐도 모르겠어서 살펴봐주시면 감사하겠습니다
감사합니다
2022-08-28
1359
글번호 161794
답변완료
시스템식 문의드립니다.
안녕하세요, 시스템식 문의드립니다.
if then 조건문을 걸때
포지션이 있는 상태에서 "진입후 +30분 이상이 경과시"에 청산조건수행 입니다.
if entrytime+003000 then{ } 으로는 안되더군요
A라는 조건으로 진입시 진입이후 30분 이상 경과시
B라는 조건만족하면 포지션을 청산한다 부탁드립니다. 감사합니다.
2022-08-28
1290
글번호 161793
답변완료
문의 드립니다.~~~~
항상 감사합니다,
다음식 부탁드립니다,
-양봉의 크기(저가와 고가의 차이)가 n틱 이상일 때
저가와 고가의 차이의 틱수를 봉위에 표시하고 경보음 울리고 종가에 매도
-음봉의 크기(저가와 고가의 차이)가 n틱 이상일 때 종가에 매수
저가와 고가의 차이의 틱수를 봉위에 표시하고 경보음 울리고 종가에 매수
2022-08-27
1168
글번호 161792
강물처름 님에 의해서 삭제되었습니다.
2022-08-26
1
글번호 161791