커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7565
글번호 230811
답변완료
재질문
아래답변에대한 재질문입니다.. 제가원하는 것은 p1.p2.p3.p4.p5변수를 자유자제료 넣고싶어요 지지저항대를 자유로이설정하고 싶어요!! 감사해요
문의하신 내용 정확히 이해하지 못했습니다.
어떤 변수를 넣는지 정확하지 않습니다.
현재 v1,v2,v2 변수에 값이 할당되어 있습니다.
dayhigh,daylowd와 0.5를 변수처리해 드립니다.
input : Per(0.5);
var: DH(0),DL(0),v1(0), v2(0), v3(0);
DH = dayhigh;
DL = daylow;
v1 = (DH + DL)*per;
v2 = (DH + v1)*per;
v3 = (DL + v1)*per;
Plot1(v1);
Plot2(v2);
Plot3(v3);
Plot4(DH);
Plot5(DL);
즐거운 하루되세요
> WT_p60298 님이 쓴 글입니다.
> 제목 : 변수
> 아래식에 변수를 넣고싶어요
ar: v1(0), v2(0), v3(0);
v1 = 0.5 * (dayhigh + daylow);
v2 = 0.5 * (dayhigh + v1);
v3 = 0.5 * (daylow + v1);
Plot1(v1);
Plot2(v2);
Plot3(v3);
Plot4(dayhigh);
Plot5(daylow);
2013-05-11
231
글번호 63082
답변완료
부탁드립니다
#새벽까지 함수뒤져가며 해봤는데 안되서 부탁드립니다
#1계약기준
#소괄호는 변수로 부탁드립니다
---------------------------------------------------------------------------
9시 시초가를 0으로 보고
시가 (+5)틱이상이거나 매수호가잔량이 매도호가잔량보다 많으면 매수
시가 (-5)틱이하이거나 매도호가잔량이 매수호가잔량보다 많으면 매도
매수포지션이 시초가 -1틱이하로 떨어지면 매수손절
매수손절후 다시 (+5)틱이상으로 올라가면 매수재진입
매도포지션이 시초가 +1틱이상으로 올라가면 매도손절
매도손절후 다시 (-5)틱이하로 떨어지면 매도재진입
당일진입 2회로 제한
---------------------------------------------------------------------------
2013-05-13
221
글번호 63081
답변완료
질문드립니다..
안녕하세요
첫번째
if dayindex() == 0 then{
if C > O then
buy();
if C < O then
sell();
}
이전 질문검색에서 본 수식인데요..
첫줄의
if dayindex() == 0
의 의미를 좀 가르쳐 주시겠습니까..
------------
두번째
첫봉의 몸통의 중심값을 나타내는 수식
첫봉이 완성 후 양봉 혹은 음봉일때의 조건식과
첫봉 몸통의 길이가 0.5p 이상인 조건식 좀 부탁 드립니다.
------------
세번째
예를 들어 장 시작 후 첫봉 몸통의 중심값이( 혹은 현재가가) 전일 종가보다 크면 매수..
라는 수식을 만들때요.
첫 봉이 완성후 매수하는 것과.. 아니면 첫 봉이 완성되기 전에 매수하는 수식이 차이가 있나요?
초보라 질문이 어설픕니다.
항상 감사드립니다~
수고하세요~
2013-05-11
183
글번호 63080
답변완료
지표선의 수치값 표시위치
수고 많으십니다.
Q&A를 뒤져봐도 찾을 수가 없어서 질문 드립니다.
제가 만든 수평선으로 나타나는 지표의 값이 지표속성에서 마지막 지표값 표시를
선택하면 차트 좌상단에 나타나는데 그 값들을 오른쪽 Y축에 각 수평선 위치에
맞추어 나타나게 할 수 없는지요?
전에 어떤 분의 차트에선 그런걸 본거 같은데 어떻게 하는지 도무지 모르겠네요..
2013-05-10
213
글번호 63079
뽄때 님에 의해서 삭제되었습니다.
2013-05-10
41
글번호 63078
답변완료
부탁드립니다
시스템 작성중에 오류가 많아서 .. 부탁드립니다
현재봉위꼬리;h-max(c,o);
직전봉 위꼬리길이:h[1]-max(c[1],o[1]) 정확한가요 ..?
위꼬리 길이가 가격변동폭의5%내에 잇어야한다;
if 조건 then
시가와 종가를 저장하고
다음봉 시가가 세팅된 시가보다 크거나 종가가 세팅된 종가가보다 크면 매수진입
여기서 atstop 주문처럼 바로 다음봉만 시세를 감시하고
조건만족되지않으면
다시 if 조건 then 으로 해서 판단하는식 부탁드립니다
(현재 바로다음봉에서 만족되지 않으면 .. 몇봉지나서 세팅된 종가보다 큰 종가가 나오면 신호가 나옵니다)
감사합니다
2013-05-10
171
글번호 63074
답변완료
전날 청산 상태로 다음날 첫진입 결정 방법
안녕하세요.
선물 1분봉 시스템식을 운용하고 있습니다.
시스템 특성상 특정 청산으로 끝나면 당일 거래를 끝내고
익일 전일 청산명을 이용 진입을 결정하려고 합니다.
전일 마지막 청산이
매수청산으로 청산명이 "bx1" 일때
익일 첫진입은 매수진입이 안되도록 합니다.
반대로 전일 마지막 청산이
매도청산으로 청산명이 "sx1" 일때
익일 첫진입은 매도진입이 안되도록 합니다.
즉 전일의 마지막 청산명을 아래와 같이
이용하는 방법을 알려주시면 감사하겠습니다.
####### 참고로 직전진입명 이용 당일 시스템은 아래와 같이 잘 작동합니다.
당일 직전진입이 각각
"bx1" 일때 매수진입이 안되게
"sx1" 일때 매도진입이 안되게.
##########################################
Condition11 = ExitDate(1) == sdate
and MarketPosition(1) == 1
and IsExitName("bx1",1);
Condition12 = ExitDate(1) == sdate
and MarketPosition(1) == -1
and IsExitName("sx1",1);
###########
#매수식
###########
if ( (stime > 090000) and (stime <= 145000) )
and <매수조건식>
and Condition11 == False #---> 직전 청산명이 "bx1" 아닐때만 매수
Then
buy("매수");
###########
#매도식
###########
if ( (stime > 090000) and (stime <= 145000) )
and <매도조건식>
and Condition12 == False #---> 직전 청산명이 "sx1" 아닐때만 매도
Then
sell("매도");
2013-05-10
158
글번호 63072
야자수 님에 의해서 삭제되었습니다.
2013-05-10
4
글번호 63071
답변완료
재진입
수익이 0.7 이상 나다가 0.7 포인트 하락하면 익절 처리 한후
재진입 식을 넣었는데 재진입이 일어나지 않네요
교정좀 부탁합니다
//출처 : 7th감각 시스템트레이딩, p230
input : len(2.9), len1(0.53);
var : CurrentEntryNum(0);
Var1=dayhigh(1)-dayLow(1); //전일 고저차
condition1= sdate==exitdate(1) And marketposition(1)==1; //청산날짜가 오늘날짜이고 직전포지션이 매수
condition2= sdate==exitdate(1) And marketposition(1)==-1;//청산날짜가 오늘날짜이고 직전포지션이 매도
if date<>date[1] Then { //날이 바뀐 첫봉에서
var50 = TotalTrades; //진입횟수 체크
Var10=atr(20)*len1; //당일의 var10 설정
}
CurrentEntryNum = iff(marketposition == 0,TotalTrades, TotalTrades+1 );
//하루에 3번만 진입
If stime<150000 then {
If condition1==False And currententrynum-var50<=2 and marketposition <> 1 then
buy("매수",Atstop,dayLow+var1*len1); //지정가 상향돌파시 매수
If condition2==False And currententrynum-var50<=2 and marketposition <> -1 then
sell("매도",Atstop,dayHigh-var1*len1); //지정가 하향돌파시 매도
}
//청산
If marketposition==1 then
exitlong("매수청산",Atstop,highest(high,barsSinceEntry+1)-atr(20)*len);
If marketposition==-1 then
exitshort("매도청산",Atstop,lowest(low,barsSinceEntry+1)+atr(20)*len);
// 매수 재진입
if MarketPosition == 0 and MarketPosition(1) == 1 and
c > exitprice(1) Then
buy("bb");
if MarketPosition == 1 and IsEntryName("bb") then
exitlong("bbx",Atstop,highest(high,barsSinceEntry+1)-atr(20)*len);
//매도 재진입
if MarketPosition == 0 and MarketPosition(1) == -1 and
c < exitprice(1) and var1 < 0 Then
sell("ss");
if MarketPosition == -1 and IsEntryName("ss") then
exitshort("ssx",Atstop,lowest(low,barsSinceEntry+1)+atr(20)*len);
if date==20130314 || date==20130613 || date==20130912 || date==20131212||
date==20140313 || date==20140612 || date==20140911 || date==20141211||
date==20150312 || date==20150611 || date==20150910 || date==20151210 then
setstopendofday(144855);
2013-05-10
183
글번호 63067