커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7644
글번호 230811
답변완료
Marketposition 에 관한 오류 수정 요청
안녕하세요? 수고 많으십니다.
아래 식에 관해 질문 드립니다.
if stime >= 092100 and stime <= 당일강제청산시간 and
marketposition == 0 and
data2(C) <= data2(dayopen) and
value1 < value2 and
Trading_Cnt < 일일매매횟수 and
C > 진입가하한 and
BarsSinceExit(1) >= 7 and
( (Highest(C, 13) == C and C > O*1.04) or
(Highest(C,13) == C and C > O and C[1] > O[1] and C[2] >= O[2]) ) Then
{
Buy("MACD아래매수"); # 콜옵션을 매수하라
Trading_Cnt = Trading_Cnt + 1; # 매매횟수 누적
StopRate = 12;
DisDivergence = false;
}
if stime >= 092100 and stime <= 당일강제청산시간 and
MarketPosition == 0 and
Data2(C)+1 <= data2(DayOpen) and
value1 < value2 and
Trading_Cnt < 일일매매횟수 and
C > 진입가하한 and
cnt_of_UpDown <= 2 and
( Highest(C, 6) == C and C > DayOpen) and
( data4(Lowest(L,6)) == Data4(L) and data4(C)*1.07 < Data4(OpenD(0)) ) Then
{
Buy("MACD아래매수2");
Trading_Cnt = Trading_Cnt + 1;
StopRate = 12;
DisDivergence = false;
}
문제는 위의 첫번째 조건식이 만족이 되어서 buy 를 하면,
어떤 경우에는 두번째 조건식 중 Marketposition을 제외한 나머지 조건들도 만족되어 Trading_Cnt 가 한번 더 카운트가 된다는 것입니다.
첫번째 조건식이 만족되어 buy를 하면 marketposition 은 1 이 되는 것이 아닌가요?
따라서 두번째 조건식을 절대 만족할 수 없다고 생각하는데,
이상하게도 Trading_Cnt 는 한 번 더 카운트가 됩니다.
제가 원하는 것은,
첫번째 조건식이 만족되어 buy 상태에서는
두번째 조건식에 있는 조건들중 marketposition == 0 이 아니므로
그 밑에 있는 실행문들을 실행하지 않고 다음 명령어로 넘어가는 것입니다.
감사합니다.
2012-07-18
323
글번호 53009
답변완료
문의~~
수고하십니다~~
야간 선물때문에 우리트레이더를 사용해보려고하는데
예스트레이더와 사용방식이 같은가요? 현재사용하고 있는 예스트레이더 지표와 시스템
함수를 우리트레이더에서도 사용 가능한가요?
부탁드립니다..
2012-07-18
270
글번호 53008
하리마우 님에 의해서 삭제되었습니다.
2012-07-18
3
글번호 53007
답변완료
수식부탁합니다
var: d2(0,data2),D3(0,data3),d4(0,data4),D5(0,data5),d6(0,data6),D7(0,data7),d8(0,data8),D9(0,data9),d10(0,data10);
위와같이 했더니 data6까지만 인식하고 data7부터는 인식안됩니다. 참조데이터 10개를 합산하려 하는데 방법이 없을까요?
2012-07-18
314
글번호 53006
답변완료
문의드림니다
날씨도 더운데 수고 많으십니다 항상 감사합니다
원하는 수식이 작성되지 않아 반복 문의 드리니 양해 바람니다
데이 당일 5분봉 매매로
당일 장 시작 후 5이평이 20이평을 상향돌파 하면 상향돌파 이후에
5분봉 종가상으로 상향돌파 이후 최고가인 양봉이 발생하면
(이 봉을 돌파후최고가양봉 이라 이름함)
이후의 봉 중에서 돌파후 최고가인 양봉 만을 상향돌파한 봉을 카운트하여
이 봉의 갯수가 5개이상이면 매수진입 하고
카운트된 봉의 갯수가 7개이상 이면 매수청산하 는 수식부탁 드림니다
(즉 5이평이 20이평 골드크로스 이후 형성된 봉 중에서
골드클로스 이후 최고가인 봉(봉의고가가 아니 종가상 양봉) 만을 상향돌파한 봉만을
카운크함 다시 말하자면 최고가인 양봉종가를 양봉으로 돌파한 봉만을 카운트한다는뜻
그리고 카운트 된 봉의 갯수가 5개이상일때 매수하고
카운트된 봉의 갯수가 7개이상 이면 매수청산하 는 수식)
2012-07-18
315
글번호 53005
답변완료
수식 부탁드립니다.
일봉 시스템에서
전일고가보다 당일 시가가 높으면 매수
당일 3시에 청산
전체 일봉에 매번 계속 적용
감사드립니다.
2012-07-18
292
글번호 53004
답변완료
문의 드려봅니다..
안녕하세요.. 문의 드려봅니다.
실행되는 차트(종류 관계없이 5분 30분 200틱 300틱)에서
수평선 A가 있고 수평선이 종가가 crossup 이면 매수 crossdown매도를 주는데
조건이 스토캐스틱 슬로우 240분의 k가 d를 골드크로스 중 이고 60분 rsi가 50 이상일때
매수만 가능
스토캐스틱 슬로으 240분 k가 d를 데드크로스 중 이고 60분 rsi가 50 이하 일때는 매도시그널만 가능하게 식을 부탁드립니다.
2012-07-18
288
글번호 53003
답변완료
문의 드립니다.
안녕하십니까!
빠른 답변 감사합니다.
식을 조금 바꾸어 시스템을 만들어 보고자 합니다.(주식 투자시)
<진입>
ㅇ 60 이평선 아래에 있으면 20% 매수한 후
60 이평선 위로 올라 올때는 30% 추가 매수(총 50%)
120 이평선 위로 올라 오면 50% 추가 매수(총 100%)
ㅇ 60 이평선 위에 있으면 50% 매수
ㅇ 120 이평선 위에 있으면 100% 매수
<청산>
ㅇ 120 이평선 아래로 오면 50% 청산
ㅇ 60 이평선 아래로 오면 나머지 50% 청산
감사합니다.
안녕하세요
예스스탁입니다.
input : 투입금액(10000000);
if CodeCategory == 1 Then #코스피
{
if BasePrice < 50000 Then
{
Var1 = int(int((투입금액)/C)/10)*10;
Var2 = int(int((투입금액*0.5)/C)/10)*10;
}
Else
{
Var1 = int((투입금액)/C);
Var2 = int((투입금액*0.5)/C);
}
}
if CodeCategory == 2 Then#코스닥
{
Var1 = int((투입금액)/C);
Var2 = int((투입금액*0.5)/C);
}
if CodeCategory == 6 Then#옵션
{
Var1 = int((투입금액)/(C*BigPointValue));
Var2 = int((투입금액*0.5)/(C*BigPointValue));
}
value1 = ma(c,60);
if MarketPosition == 0 Then{
if C >= value1 Then
buy("b1",OnClose,def,var1);
Else
buy("b1.",OnClose,def,var2);
}
if MarketPosition == 1 and CurrentEntries == 1 and crossup(C,value1) Then
buy("BB",OnClose,def,var2);
if 청산조건 Then
exitlong();
청산함수에 특별히 수량을 지정하지 않으면
일괄청산입니다.
즐거운 하루되세요
> 아틀라스 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 안녕하십니까!
A조건에서
<진입>
ㅇ 60 이평선 위에 있으면 100% 매수
ㅇ 60 이평선 아래에 있으면 50% 매수한 후
60 이평선 위로 올라 올때는 50% 추가 매수
<청산>
ㅇ 50% 매수일때나 100% 매수일때나 동일하게 일괄 청산
감사합니다.
2012-07-18
290
글번호 53001
답변완료
검증 부탁드립니다.
input:p1(60);
var1=AccumN(v,p1);
Var2=AccumN(Upvol,p1);
Var3=AccumN(DownVol,p1);
Var4=Var2-Var3;
Var5=Var4/var1*100;
var6=AccumN(v,DayIndex+1);
Var7=AccumN(m,DayIndex+1);
If var5>0
and Var6>100000
and Var7>1000000000
and c<50000
and c>500
Then
Find(1);
이렇게 검색하면 한 종목도 검색이 되지 않고 식이 잘 못되었다고 나옵니다.
어떤 부분이 잘못 되었는지 확인 부탁드립니다.
1분 혹은 3분에서 검색 했습니다.
항상 친절한 답변에 감사드립니다.
2012-07-18
304
글번호 52999