커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6193
글번호 230811
답변완료
질문드립니다.
이전의 질문과같이 진입제한이 되고있지않습니다. 이후의 청산식이 문제인걸까요?
var : 매수시그널(false),매도시그널(false),BLcnt(0),SLcnt(0);
if Bdate != Bdate[1] Then
Lcnt = 0;
if TotalTrades > TotalTrades[1] and MarketPosition(1) == 1 and IsExitName("StopLoss",1) == true Then
BLcnt = BLcnt+1;
if TotalTrades > TotalTrades[1] and MarketPosition(1) == -1 and IsExitName("StopLoss",1) == true Then
SLcnt = SLcnt+1;
매수시그널 = false;
if 매매조건1 then{
매수시그널 = true;
}
if 매매조건2 then{
매수시그널 = true;
}
if 매매조건3 then{
매수시그널 = true;
}
if 매매조건4 then{
매수시그널 = true;
}
if 매수시그널 and BLcnt < 2 then
buy();
매도시그널 = false;
if 매매조건1 then{
매도시그널 = true;
}
if 매매조건2 then{
매도시그널 = true;
}
if 매매조건3 then{
매도시그널 = true;
}
if 매매조건4 then{
매도시그널 = true;
}
if 매도시그널 and SLcnt < 2 then
sell();
SetStopLoss(~~~~);
올려주신 로직인데요. 이것이 적용하면 말을 듣지않습니다. 현재 로직의 경우
var : 매수시그널(false),매도시그널(false),BLcnt(0),SLcnt(0);
if Bdate != Bdate[1] Then
Lcnt = 0;
if TotalTrades > TotalTrades[1] and MarketPosition(1) == 1 and IsExitName("StopLoss",1) == true Then
BLcnt = BLcnt+1;
if TotalTrades > TotalTrades[1] and MarketPosition(1) == -1 and IsExitName("StopLoss",1) == true Then
SLcnt = SLcnt+1;
매수시그널 = false;
if 매매조건1 then{
매수시그널 = true;
}
if 매매조건2 then{
매수시그널 = true;
}
if 매매조건3 then{
매수시그널 = true;
}
if 매매조건4 then{
매수시그널 = true;
}
If MarketPosition == 0 Then
If 매수시그널 and BLcnt <2 Then
Buy("매수");
If MarketPosition == 1 Then
If 조건 Then //기본 청산
ExitLong("기본청산");
if MarketPosition == 1 then
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*12 Then
exitlong("매수본전청산",AtStop,EntryPrice); // 본전청산
if MarketPosition ==1 Then #매수후
If highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*10 and #진입가 대비 10틱이상 상승후
CountIF(CrossUp(close,r1),30) and CrossDown(c+PriceScale*10,r1) Then #윗선 하향이탈하면 청산
exitlong("윗선청산");
If stime == 050000 or(stime > 050000 and stime[1] < 050000) then{
ExitLong("5시매수만료");}
매도시그널 = false;
if 매매조건1 then{
매도시그널 = true;
}
if 매매조건2 then{
매도시그널 = true;
}
if 매매조건3 then{
매도시그널 = true;
}
if 매매조건4 then{
매도시그널 = true;
}
If MarketPosition == 0 Then
If 매도시그널 and Lcnt2 <2 Then
Sell("매도");
If MarketPosition == -1 Then
If 조건 Then
ExitShort("매도청산");
if MarketPosition == -1 Then
if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*10 Then
ExitShort("매도본전청산",AtStop,EntryPrice);
if MarketPosition == -1 Then #매수후
if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*10 and
#진입가 대비 20틱이상 하락후
CountIF(CrossDown(Close,s1),30)and
CrossUp(Close-PriceScale*10,s1) Then #s1하향청산
ExitShort("하향청산");
If stime == 050000 or(stime > 050000 and stime[1] < 050000) then{
ExitShort("5시매도만료");}
SetStopLoss(PriceScale*10,PointStop);
이것이 현 로직의 진입 청산인데요. 적용하면 밑의 청산로직때문인지 본 sell과buy의 2번 스탑로스후 진입제한이 걸리지않는다는것입니다..ㅠㅠ 무엇이 문제인지 도통 알 수가 없네요.
이렇게 짜니 5시 포지션청산도 작동이 안되네요..
도와주세요!! 자력으로 타계가 힘든 포지션함수인듯합니다..
2017-11-23
182
글번호 114412
답변완료
식 부탁드립니다.
수고 많으십니다.
수식 요청드려요.
5일 이평이 10일 이평을 데드크로스 발생하고
데드 발생한 날로부터 최근 20일 이내 거래대금이 10억이상인
종목을 검색하고 싶습니다.
또한 데드 지점의 값을 알고 싶습니다.
if CrossDown(Var1, Var2) and
CountIF(M > 1000000000, iPeriod2)
Then
Value1 = (Var1 + Var2)/2; //교차시 값 지정
위와같이 수식 작성한 후 검색결과값을 보니 맞지가 않습니다.
부탁드립니다..
2017-11-22
192
글번호 114411
답변완료
일정 시점 분할 매수/매도(재질문)
고정자산 기준 진입
당일
2:30 기준자산 전체(3/3)의 1/3 매수
2:31 잔량(2/3)의 1/2 매수
2:32 잔량(1/3) 전부 매수
다음날
9:05 보유량 전체(3/3)의 1/3 매도
9:06 잔량(2/3)의 1/2 매도
9:07 잔량(1/3) 전부 매도
위의 시스템을 수식이나 설정으로 구현할 수 있을까요?
2017-11-22
187
글번호 114410
답변완료
수식 문의드립니다.
매수든 매도든 다수의 계약으로 한번에 진입한 이후,
청산을 여러가지 경우로 나누어 청산하는 전략을 세우려고 합니다.
예를 들어,
매수로 N계약만큼 진입 이후,
1. 체결된 계약(또는 남아 있는 계약)의 1/2은 0.5P(10틱)에서 청산
2. A라는 조건을 만족시 남아 있는 계약의 1/2은 청산
3. B라는 조건을 만족시 남아 있는 계약의 1/2은 청산
4. 체결된 계약(또는 남아 있는 계약 전부)에 대해서 B라는 조건을 만족시에는 모두 청산
위 1~4의 조건은 어떤 것이 먼저 만족할 지는 상황에 따라 다릅니다.
이와 같이 청산 전략을 세울경우 수식을 어떻게 만들어야 되나요?
부탁드립니다.
2017-11-22
172
글번호 114409
답변완료
래리 윌리엄스 돌파 전략식
당일 가격이 시가 기준으로 전일 (고가-저가)/2 만큼 위 혹은 아래로 돌파시 매수/매도 진입하여 장 종료시 청산하고 진입 후 시가 상향/하향 돌파시 손절하는 코드를 작성해보았습니다. 코드는 아래와 같습니다.
Inputs: rt(0);
var : ChUp(0), ChDn(0);
ChUp = dayopen + ((dayhigh[1] - daylow[1]) * rt);
ChDn = dayopen - ((dayhigh[1] - daylow[1]) * rt);
If crossup (Close, ChUp) then buy();
{
if crossdown (Close, dayopen) then exitlong();
}
If crossdown (Close, ChDn) then Sell();
{
if crossup (Close, dayopen) then exitshort();
}
SetStopEndofday();
그런데 검증을 하다보니 이상한게 발견되어서요...(첨부파일 참조)
분명히 해당일 시가 기준 가격이 전일 (고가-저가)/2 를 하향 돌파하지 않았는데 매도 진입이 들어간겁니다...해당 일자는 2007년 1월 12일입니다.
확인 부탁드립니다.
2017-11-22
275
글번호 114408
답변완료
지표식 부탁드립니다
안녕하세요
지표식 부탁드립니다
input:Price(C),Length(10);
var:count(0),Num(0),Denom(0),CG(0);
Num=0;
Denom=0;
For count=0 to Length-1
{Num=Num+(1+count)*(Price[count]);
Denom=Denom+(Price[count]);}
If Denom<>0 then CG=-Num/Denom;
plot1(CG);
여기에 stochastic oscillator 처럼 교차하는 것을 만들려고 합니다
범위는 -1 ~ +1 입니다
추가할 것이 PlotBaseLine으로 기준선(0), 상단선(0.7), 하단선(-0.7), 교차 후 빈 공간을 색을 구분해서 fill하려고 합니다
첨부파일로 참조 그림 넣었습니다
부탁드립니다
수고하세요
2017-11-22
236
글번호 114407
답변완료
키움 수식 변환 좀 부탁드려요
안녕하세요!
다음은 키움용 국선 욥션등가 교차 지표라인 수식입니다.
예스로 변경 부탁드려요!
if crossup(data2(c),data3(c)) then
var1 = data1(c);
if CrossDown(data2(c),data3(c)) then
var1 = data1(c);
plot1(var1);
------------------------------------------------------------------------------
그리고 이건 어제 만들어 주신 검색식인데 1종목도 검색이 안되네요!
다른건 만들어 주신거 잘 검색이 되는데요....! T T
안녕하세요
예스스탁입니다.
input: macd1(60), macd2(130), macd3(45),P1(13),P2(65);
var : MacdV(0), MacdS(0), MacdOsc(0),mav1(0),mav2(0);
MacdV = macd(macd1,macd2);
MacdS = ema(MacdV,macd3);
MacdOsc = MacdV-MacdS;
mav1 = ema(c,P1);
mav2 = ema(c,P2);
if crossup(MACDOsc,0) and crossup(mav1,mav2) Then
find(1);
즐거운 하루되세요
> qha71 님이 쓴 글입니다.
> 제목 : 주식 종목 검색식 좀 의뢰드려요!
> 안녕하세요!
첨부그림은 임펄스 시스템 주식 일봉에서 적용하는 MACD 수식 입니다!
12. 26. 9 를 60, 130,45 로 변경을 하였습니다!
MACD 막대바가 0선 밑에서 0선 위로 이제 막 올라오고 + 이평선 65일선을 13일선이
골드크로스 했을때 일치하는 종목을 검색하고 싶습니다!
첨부 이미지는 MACD가 0선 아래에서 위로 올라온 그림은 아닙니다!
0선 아래에서 위로 이제 막 올라 오기시작할 때 조건식을 원합니다.
만약 일치가 어렵다면 이평선과 MACD 각각의 종목 검색식을 부탁드려요!
이해를 돕기 위해 참고 그림 첨부합니다!
임펄스 이평과 일반 이평과 그림이 달라서 이평 수식과 MACD수식을 같이 첨부 합니다!
감사합니다!
2017-11-22
303
글번호 114406
답변완료
전일 최고가 1차 돌파
* 항상 요청만 드려서 죄송 합니다^^
<1번>
* 분봉에서 전일 최고가 1차 돌파후 하락(전일 고가 이탈 발생)후 10분 경과 이후
다시 2차로 전일 고가 재돌파시 매수
<2번>
* 분봉에서 일봉 10일선 가격에서 매수 하는 로직
* 항상 고맙습니다. 수고하십시요.
2017-11-22
194
글번호 114402
답변완료
현재가선
안녕하세요
현재가선을 별도로 굵게 나오게 수식을 만들수있나요
만들수있다면 부탁드립니다
감사합니다
2017-11-22
194
글번호 114401