커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8192
글번호 230811
답변완료
혹시 이런식도....
Inputs: RangeLen(7), RngPcnt(200), ATRs(8), ATRLen(2),BuyVol(5),SellVol(0),당일진입횟수(1);
Variables: RangeH(0), RangeL(0), TRange(0), ATR(0), NoTrades(0), LongRisk(0), LongHigh(0), ShortRisk(0), ShortLow(0);
var : cnt(0),count(0);#
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}#
RangeH = Highest(High, RangeLen)[1];
RangeL = Lowest(Low, RangeLen)[1];
TRange = RangeH - RangeL;
ATR = ATR(ATRLen);
NoTrades = 0;
For value1 = 1 To RangeLen Begin
If High[value1] < RangeH Then
NoTrades = NoTrades + (RangeH - High[value1]);
If Low[value1] > RangeL Then
NoTrades = NoTrades + (Low[value1] - RangeL);
End;
Condition1 = NoTrades >= TRange * (RngPcnt / 100);
Condition2 = TrueRange > ATR(RangeLen)[1];
Condition3 = Close > RangeH AND MedianPrice > High[1];
Condition4 = Close < RangeL AND MedianPrice < Low[1];
If Condition1 AND Condition2 Then Begin
#Long Entry
If count < 당일진입횟수 and Condition3 AND MarketPosition <> 1 Then Begin #
Buy("매수",OnClose,def,BuyVol);
LongRisk = RangeL;
LongHigh = High;
End;
#Short Entry
If count < 당일진입횟수 and Condition4 AND MarketPosition <> -1 Then Begin #
Sell("매도",OnClose,def,SellVol);
ShortRisk = RangeH;
ShortLow = Low;
End;
End;
#Long Exit
If MarketPosition == 1 Then Begin
If High > LongHigh Then
LongHigh = High;
ExitLong("매도1",atstop,LongRisk - 1);
ExitLong("매도2",atstop,LongHigh - (ATRs * ATR));
End;
#Short Exit
If MarketPosition == -1 Then Begin
If Low < ShortLow Then
ShortLow = Low;
ExitShort("매도3",atstop,ShortRisk + 1);
ExitShort("매도4",atstop,ShortLow + (ATRs * ATR));
End;
SetStopEndofday(1500);
SetStopPosition;
SetStopLoss(5,PercentStop);
여기서 손실이 5% 손실이나면 바로 매수는 청산후 매도로 매도는 청산후 바로 매수로
가능하겠죠???? 감사합니다
2014-07-18
267
글번호 76877
답변완료
부탁드립니다.
안녕하세요?
항상 도움을 받고 있어서 감사드립니다.
아래는 게시판에 있는 수식인데요. 여기에 추가할려고 합니다.
추가할 부분:
현재데이터의 시점에서 검색이 아니고 예를들어 100 개 봉 이전 시점에서 검색할려고 하면 어떻게 구현 해야 하는지 궁금합니다.
if SwingLow(1,L,3,3,7) != -1 Then{
var1 = L;
var2 = var1[1];
if var1 > var2 and ma(c,20)[1] > ma(c,20)[1] and ma(c,60) < ma(C,60)[1] Then
find(1);
}
2014-07-18
238
글번호 76876
답변완료
지표식 부탁드립니다
감사합니다
1, 전일고점봉 고가와 당일고점봉 고가를 수직선으로 연결하는수식 부탁드립니다
그리고 선이 연장되게 부탁드립니다
전일저점봉 저가와 당일저점봉 저가를 수직선으로 연결하는수식 부탁드립니다
그리고 선이 연장되게 부탁드립니다
2, 아래 추세선수식에서 추세선연장을 가장 최근 추세선과
바로이전 추세선만 연장되게 할수있다면 부탁드립니다
좋은하루 되세요~
input : Left(3),Right(3);
var : SHcount(0),SHdate(0),SHtime(0),SHvalH(0);
var : PreSHdate(0),PreSHtime(0),PreSHvalH(0),SHidx(0),TL1(0);
if SwingLow(1,L,Left,Right,Left+Right+1) != -1 Then{ #1 SwingHigh SwingLow
SHcount = SHcount +1;#2
SHdate = sdate[Right];#3
SHtime = stime[Right];#4
SHvalH = L[Right];#5
PreSHdate = SHdate[1];#6
PreSHtime = SHtime[1];#7
PreSHvalH = SHvalH[1];#8
if Shcount >= 2 and SHvalH > PreSHvalH Then#9
TL1 = TL_New(PreSHdate,PreSHtime,PreSHvalH,SHdate,SHtime,SHvalH);#10
TL_SetExtRight(TL1,true); //true False
TL_SetColor(TL1,GREEN);
TL_SetSize(TL1,1);
2014-07-18
235
글번호 76875
미래테크 님에 의해서 삭제되었습니다.
2014-07-18
1
글번호 76874
답변완료
수식 부탁합니다
분봉 차트 1분봉 이든 5분봉이든 적용될 수 있도록 부탁합니다
금일 시가 전일 종가 대비 5% 이하이고 장시작전 동시호가 거래량이 전일 거래량의 20%
미만인 경우
시가 상승율 절반에 매수
예를 들어 어제 100만주 거래량 금일 동시호가 19만주 거래량이면 OK
예를 들어 4% 시가 상승 갭이면 1분봉인 경우 9시 1분에 상승의 절반 2%에
매수 주문 수식 부탁합니다
2014-07-18
230
글번호 76873
답변완료
문의
다음 그림 화면에 개인 콜풋 동향을
콜매수+풋매도 = data(1)
콜매도+풋매수 = data(2)
로 해서 지표만들수 있을까요? 개인매수동향만요
2014-07-18
232
글번호 76871
답변완료
문의드립니다
1. 선물 매매에서 진입은 수동으로하고 청산만 아래 조건으로 하고 싶습니다.
(수동으로 진입 후 시스템 자동매매를 켜면 청산만 조건대로 되도록요...)
매수의 경우 : 가격이 20이평보다 2틱 낮아지면 청산
매도의 경우 : 가격이 20이평보다 2틱 높아지면 청산
손절 : 매수매도 모두 4틱 손절
2. 혹시 하나의 계좌로 다른 로직의 두개의 시스템 자동매매가 가능한가요?
감사합니다~
2014-07-18
213
글번호 76868
답변완료
문의드립니다.
37136번 질문에서 문의드린 것 때문에 다시 질문 올립니다.
yesglobal로 해외 종목을 연구해보고 싶은데 국내종목에서 만들어봤던 수식으로는 yesglobal에서 아무 신호가 잡히지 않아 어떤 점을 수정해야하는지 조언좀 부탁드립니다.
1. 해외 종목중에서도 종목마다 다른 수정을 거쳐야하는지 궁금하구요
2. 수정을 해주시면 어떤 점을 왜 수정했는지 설명도 좀 부탁드리겠습니다.
항상 수고 많으십니다. 감사합니다.
var : T1(0),T2(0),T3(0);
var : X(0),W(0),cnt(0),count(0),NP(0),PreNP(0),dayPL(0);
input : dayentry(4),당일손실(-1.4),loss(100),Profit(100);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
NP = NetProfit;
if date != date[1] Then{
Condition1 = False;
PreNP = NP[1];
}
dayPL = (NP-PreNP)+PositionProfit;
T1=ema(Close,2);
T2=ema(Close,3);
T3=ma(Close,4);
X = min(T1,T2);
W = iff(T3[1]<T3,X,T3);
if Condition1 == false and T1 > W and T1[1] <= W[1] and dayindex > 0 Then
Condition1 = true;
if Condition1 == false and T1 <= W and T1[1] > W[1] and dayindex > 0 Then
Condition1 = true;
if count < dayentry and dayPL > 당일손실 Then{
if T1 > W and dayindex > 0 and Condition1 == true Then{
if count == 0 or
(count >= 1 and MarketPosition == -1) Or
(Count >= 1 and MarketPosition == 0 and MarketPosition(1) != 1) Then{
buy();
}
}
if T1 <= W and dayindex > 0 and Condition1 == true then {
if count == 0 or
(count >= 1 and MarketPosition == 1) Or
(Count >= 1 and MarketPosition == 0 and MarketPosition(1) != -1) Then{
sell();
}
}
}
SetStopProfittarget(Profit,PointStop);
SetStopLoss(loss,PointStop);
// SetStopEndofday(150000);
if MarketPosition == 1 and T1 <= W Then
ExitLong("daybx2",Atstop,EntryPrice+(당일손실-DayPL));
if MarketPosition == -1 and T1 > W Then
ExitShort("daysx2",Atstop,EntryPrice-(당일손실-DayPL));
if MarketPosition == 1 and T1 <= W Then
ExitLong();
if MarketPosition == -1 and T1 > W Then
ExitShort();
2014-07-18
213
글번호 76867
답변완료
문의드립니다
전일 거래량이 최고일때 가격을 당일챠트에표시하고싶습니다
2014-07-18
197
글번호 76866