커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1471
글번호 230811
답변완료
data2 box
input : N(50);
var : TL1(0),TL2(0),cnt(0);
var : TX1(0),TX2(0),TL3(0),TL4(0),TL5(0),TL6(0);
For cnt = 0 to 49
{
TL_Delete(TL1[cnt]);
TL_Delete(TL2[cnt]);
Text_Delete(TX1[cnt]);
Text_Delete(TX2[cnt]);
TL_Delete(TL3[cnt]);
TL_Delete(TL4[cnt]);
TL_Delete(TL5[cnt]);
TL_Delete(TL6[cnt]);
}
TL1 = TL_New_Self(sDate,sTime,data2(highest(H,N)),NextBarSdate,NextBarStime,data2(highest(H,N)));
TL2 = TL_New_Self(sDate,sTime,data2(lowest(L,N)),NextBarSdate,NextBarStime,data2(lowest(L,N)));
TL_SetColor(TL1,Red);
TL_SetColor(TL2,Blue);
TL_SetSize(TL1,1);
TL_SetSize(TL2,1);
TL_SetExtLeft(TL1,true);
TL_SetExtLeft(TL2,true);
TX1 = Text_New_Self(Data2(sDate[NthHighestBar(1,H,N)]),Data2(stime[NthhighestBar(1,H,N)]),Data2(highest(H+PriceScale*1,N)),"■");
TX2 = Text_New_Self(Data2(sDate[NthLowestBar(1,L,N)]),Data2(stime[NthLowestBar(1,L,N)]),Data2(Lowest(L-PriceScale*1,N)),"■");
Text_SetStyle(TX1,2,1);
Text_SetStyle(TX2,2,0);
Text_SetColor(TX1,Blue);
Text_SetColor(TX2,Magenta);
Text_SetSize(tx1,40);
Text_SetSize(tx2,40);
TL3 = TL_New_Self(Data2(sDate[NthHighestBar(1,H,N)]),Data2(stime[NthhighestBar(1,H,N)]),-9999,Data2(sDate[NthHighestBar(1,H,N)]),Data2(stime[NthhighestBar(1,H,N)]),9999);
TL4 = TL_New_Self(Data2(sDate[NthlowestBar(1,L,N)]),Data2(stime[NthlowestBar(1,L,N)]),-9999,Data2(sDate[NthlowestBar(1,L,N)]),Data2(stime[NthlowestBar(1,L,N)]),9999);
TL_SetColor(TL3,Pink);
TL_SetColor(TL4,Gold);
TL_SetSize(TL3,5);
TL_SetSize(TL4,5);
TL5 = TL_New(Data2(sDate[NthHighestBar(1,H,N)]),Data2(stime[NthhighestBar(1,H,N)]),-9999,Data2(sDate[NthHighestBar(1,H,N)]),Data2(stime[NthhighestBar(1,H,N)]),9999);
TL6 = TL_New(Data2(sDate[NthlowestBar(1,L,N)]),Data2(stime[NthlowestBar(1,L,N)]),-9999,Data2(sDate[NthlowestBar(1,L,N)]),Data2(stime[NthlowestBar(1,L,N)]),9999);
TL_SetColor(TL5,Pink);
TL_SetColor(TL6,Gold);
TL_SetSize(TL5,5);
TL_SetSize(TL6,5);
Plot1(Data2(c));
data2의 최근 50봉 중에서 최저가에 표시되는 세로선을 기준으로, 좌측으로 50봉까지 세로선의 변화에 따라가며 전체박스. 감사합니다.
2023-12-26
2371
글번호 175191
답변완료
시스템식 부탁드립니다.
안녕하세요?
항상 도움 주셔서 감사합니다.
종목 : 마이크로_호주통화
차트 : 1분봉
아래와 같이 가르쳐주신 대로 코딩했습니다.
이와 관련하여 몇가지 문의 드립니다.
문의사항1 : 평가금액을 괄호처럼 코딩하면(PositionProfit*BigPointValue)
평가금액이 $로 표시되는게 맞나요?
원화 또는 point로 표시하려면 어떻게 해야 하나요?
문의사항2 : 아래처럼 코딩시 표시되는 예수금은 원화 인가요? 아니면 $인가요?
제가 예수금이 없어서 0으로 표시되는것 같은데
달러 또는 원화로 표시할수 있는 방법이 있나요?
문의사항3 : 아래와 같이 코딩시 증거금은 왜 0으로 표시되나요?
마이크로 호주선물 1계약이면 1계약 증거금이 표시되어야 하지 않나요?
만약에 2계약이면 2계약 증거금이 표시 되는게 맞지 않을까요?
모의투자로 테스트 중인데 마이크로 호주 1계약 매수중인데
증거금이 0으로 나옵니다.
문의사항4 : 예수금이 100$이고, 현재 포지션의 평가손실이 50$ 라고 할경우
예수금과 평가손실의 합이 50$ 보다 작으면 모든 포지션을 청산 후
매매를 중단하는 시스템식 부탁드립니다.
아래의 시스템식에 추가 부탁드립니다.
문의사항5 : 손절 방법에 대해 아래 코딩이 맞는지 확인 부탁드립니다.
(마이크로 호주선물 경우 : 현재값 0.6800, 틱밸류:1, 틱사이즈:0.0001)
value1 = 30
SetStopLoss(value1/pricescale,PointStop); // [30포인트]포인트로 손절
# 30포인트면 손절값이 0.6800+30=30.6800 인가요?
# 아니면 0.0030포인트 손절값이 0.6800+0.0030=0.6830이 맞는건가요?
SetStopLoss(value1*pricescale,PointStop); // [30틱]틱으로 손절
SetStopLoss(value1/pointvalue,PointStop); // [30$]$로 손절
SetStopLoss(value1/pointvalue*1200,PointStop); // [36,000원]원화로 손절(환율:1,200원)
문의사항6 : SetStopLoss 함수를 아래와 같이 여러번 사용해도 되나요?
SetStopLoss(value1/pricescale,PointStop); // [30포인트]포인트로 손절
SetStopLoss(value1*pricescale,PointStop); // [30틱]틱으로 손절
SetStopLoss(value1/pointvalue,PointStop); // [30$]$로 손절
SetStopLoss(value1/pointvalue*1200,PointStop); // [36,000원]원화로 손절
문의사항7 : 마이크로 호주통화를 매수로 1계약 0.6830에 진입했다고 가정하고
진입가격대비 30틱 하락시 손절한다고 할경우
손절가격[라인]을 수평라인으로 차트에 표시하고 싶습니다.
예) 0.6830에 매수 1계약 진입
0.6820에 매수 2계약 진입시
가격 하락시 계속 배수로 매수 진입
손절을 30틱으로 설정했을 경우
1계약에 대한 손절가격인 0.6800에 손절라인을 표시하고
2계약에 대한 손절가격인 0.6790에 손절라인을 표시하고 싶습니다.
추가 진입이 있을 경우 30틱 간격으로 손절 라인을 계속 표시하고 싶습니다.
#-------------------------------------------------------------------------
input : Pst(1); // 매수,매도
input : gap(25), pt(20);
var : vol(0);
value1 = gap/PointValue;
value2 = pt/PointValue;
if pst == 1 Then
{
if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then
{
vol = 1;
Buy("b",OnClose,Def,vol);
}
if MarketPosition == 1 Then
{
vol = vol+1;
Buy("bb",AtLimit,EntryPrice(0)-PriceScale*(value1*MaxEntries),vol);
ExitLong("bp",AtLimit,AvgEntryPrice+PriceScale*Value2);
}
}
var : Grid(0);
var : acc("");
acc = "000-00-00"; //적용계좌번호
if Index == 0 Then
Grid = Grid_New(2, 2, 6,White, Gray, 1, Gray, 0);
if LastBarOnChart == 1 Then
{
Grid_Cell(Grid,0,0,"포지션",0,0,BLACK,LightBlue);
if MarketPosition == 1 Then
Grid_Cell(Grid,1,0,"매수",0,0,BLACK,White);
else if MarketPosition == -1 Then
Grid_Cell(Grid,1,0,"매도",0,0,BLACK,White);
else
Grid_Cell(Grid,1,0,"-",0,0,BLACK,White);
Grid_Cell(Grid,0,1,"수량",0,0,BLACK,LightBlue);
Grid_Cell(Grid,1,1,NumToStr(CurrentContracts,0),0,0,BLACK,White);
Grid_Cell(Grid,0,2,"평가금액($)",0,0,BLACK,LightBlue);
Grid_Cell(Grid,1,2,NumToStr(PositionProfit*BigPointValue,0),0,0,BLACK,White);
Grid_Cell(Grid,0,3,"계좌번호",0,0,BLACK,LightBlue);
Grid_Cell(Grid,1,3,acc,0,0,BLACK,White);
Grid_Cell(Grid,0,4,"예수금",0,0,BLACK,LightBlue);
Grid_Cell(Grid,1,4,NumToStr(GetUnclearedDeposits(acc),0),0,0,BLACK,White);
Grid_Cell(Grid,0,5,"증거금",0,0,BLACK,LightBlue);
Grid_Cell(Grid,1,5,NumToStr(GetOpenOrderInitialMargin(acc),0),0,0,BLACK,White);
}
문의사항8 : 마지막으로 첨부사진에 대해 문의드립니다.
첨부 사진은 예스트레이더를
같은증권사, 같은종목, 같은타임프레임, 같은시스템을 적용한 경우입니다.
다만 각각 다른 컴퓨터에서 실행한 경우입니다.
그런데 매매내역을 보면 매매성과와 매매기간이 다릅니다.
첨부 이미지를 보면 아시겠지만 같은 건수(10,000건)인데도
기간이 하나는 2023.12.04부터 그리고 다른 하나는 2023.12.06부터 입니다.
왜 이런 현상이 일어나지 그리고 해결방법이 무엇인지 설명좀 부탁드립니다.
감사합니다.
2023-12-26
1846
글번호 175186
답변완료
매해 특정 날짜의 요일 관련
매해 특정 날짜의 요일에 따라서 진입 조건이 달라지는 전략을 구현하고 싶습니다.
예를 들어,
만약 올해 12월 1일의 요일이 일요일이면, 12월 2일 9시 1분에 매수해서, 다음해 1월 3일 3시 20분에 판다.
만약 올해 12월 1일의 요일이 토요일이면, 12월 3일 9시 1분에 매수해서, 다음해 1월 4일 3시 20분에 판다.
와 같은 구문을 구현하려면 어떻게 해야할까요?
감사합니다.
2023-12-26
1533
글번호 175185
답변완료
문의 드립니다
(1)엔벨로프 (10 5) 지지선 (하단)
(2) 엔벨로프 (20 10) 지지선 (하단)
(1) 이 (2) 를 교차지점 이나 상향 하향 돌파지점
종목검색을 하고 싶습니다
부탁드립니다 ~~
2023-12-26
1119
글번호 175184
답변완료
문의드립니다
분봉차트 상에서 일봉지표를 만들어서 쓰려고 하는데...
dayopen(0), dayclose(0), dayhigh(0) daylow(0) 등의 값들은 어제의 일봉값이지요?
예를들면 12월 26일 오늘 현재 시점에서, dayhigh(0), daylow(0)의 값들은
1. 오늘 12월 26일 현재까지 분봉차트상에서 형성된 고가와 저가 인건지
2. 어제 12월 25일 어제의 완성된 일봉에서의 고가와 저가 인건지
궁금합니다
2023-12-26
1475
글번호 175179
이만스닥 님에 의해서 삭제되었습니다.
2023-12-26
0
글번호 175176
답변완료
수식 요청 드립니다.
만들어 두었던 지표중에 시간 관련 해서 문의 드립니다.
plot1(dayopen+var1);
위에 수식에서 데이오픈이 9시였던게 8시 45분으로 장 시작 시간이 바뀌면서
여러가지가 변해 수식의 시작 시간을 9시로 만들고 싶습니다.
뭘 바꿔야 하는지 답변 부탁드립니다.
2023-12-26
1138
글번호 175173
답변완료
수식요청드려요
지수 이평 이격률 112 224 448 각 10%이내일때 매수
2023-12-26
1315
글번호 175172
답변완료
수식을 부탁드립니다
#이평종류 : 1=MA, 2=Ema, 3=WMa, 4=HullMA, 5=VVMA, 6=RMA, 7=TEMA, 8=TilsonT3
input : 이평종류(1), 기간(20);
var : maV(0), factor(0), T1(0), T2(0), T3(0);
if 이평종류 == 1 Then //단순이평
maV = ma(C,기간);
Else if 이평종류 == 2 Then //지수이평
maV = ema(C,기간);
Else if 이평종류 == 3 Then //가중이평
maV = wma(C,기간);
Else if 이평종류 == 4 Then //Hull 이평
maV = wma(2*wma(C, 기간/2)-wma(C, 기간), round(sqrt(기간),0));
Else if 이평종류 == 5 Then //거래량가중이평
maV = ma(C*V,기간)/ma(V,기간);
Else if 이평종류 == 6 Then { //지수가중이평
if CurrentBar > 1 Then
maV = (C + (기간 - 1) * maV[1]) / 기간;
}
Else if 이평종류 == 7 Then //TEMA
maV = 3 * (ema(C, 기간) - ema(ema(C, 기간), 기간)) + ema(ema(ema(C, 기간), 기간), 기간);
Else if 이평종류 == 8 Then { // Tilson T3
factor = 7 *0.10;
T1 = ema(C, 기간) * (1 + factor) - ema(ema(c, 기간), 기간) * factor;
T2 = ema(T1, 기간) * (1 + factor) - ema(ema(T1, 기간), 기간) * factor;
T3 = ema(T2, 기간) * (1 + factor) - ema(ema(T2, 기간), 기간) * factor;
maV = T3;
}
Plot1(maV, "이평", IFF(maV>maV[1], Orange, GREEN), 0, 2);
---------------------------------------
갬블러라는분의 블로그에서 본 수식인데요
위 수식에서 변수에서 설정한 이평 종류에 따라
선이 오렌지 색일때 종가 돌파한 종목을 검색할 수 있을까요?
부탁드려요! 감사합니다.
2023-12-26
1466
글번호 175171