커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4338
글번호 230811
답변완료
부탁드립니다
고점과 고점 추세선함수입니다
저점과 저점 추세선함수 변경하여 만들어주세요
input : Period20(20),Period50(50);
var1 = NthHighestBar(1,h,Period20);
var2 = NthHighestBar(1,h,Period50);
TL_Delete(value1);
if var1 != var2 Then{
value1 = TL_New(Sdate[max(var1,var2)],stime[max(var1,var2)],H[max(var1,var2)],
sdate[min(var1,var2)],stime[min(var1,var2)],H[min(var1,var2)]);
}
else{
value1 = TL_New(Sdate[max(var1,var2)+1],stime[max(var1,var2)+1],H[max(var1,var2)],
sdate[min(var1,var2)],stime[min(var1,var2)],H[min(var1,var2)]);
}
TL_SetExtRight(value1,true);
2018-01-09
204
글번호 115593
답변완료
수식문위드립니다 감사드립니다~
Input : af(0.02), maxAF(0.2);
Var : value(0);
value = sar(af,maxAF);
If c > value and C < O Then
Buy("b");
If C < value and C > O Then
Sell("s");
위에 수식대로 해서
오전 10시 15분 부터 13시 까지만 신호가 나오게 할수 있나요
부탁드립니다
2018-01-09
198
글번호 115589
답변완료
문의드립니다
1.5일선신호 부탁드립니다
2.5일선과20일선교차시 신호잘부탁드립니다
2018-01-09
183
글번호 115586
답변완료
문의드립니다.
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1.
여기에 같은 방향이 이익이면(매수진입이 이익이면 매수진입) 같은 방향으로는 재진입하지 않는 수식 추가 부탁드립니다.
input : entryCount(2);
var : count(0) ;
#진입회수제한
Count = 0 ;
for Value1 = 0 to 10 {
if EntryDate( Value1 ) == sdate then
Count = Count + 1;
}
if Count < entryCount then {
}
2018-01-09
169
글번호 115585
답변완료
문의
선물수식으로 etf거래를 하기 위해서 수식을 두 개로 나누어 놓았는데, 이상하게 선물에서는 진입신호가 뜨는데 etf에서는 신호가 발생하지 않는 경우가 있습니다. 특히 1번수식에서 몇차례 생겼는데 그 전날 진입신호가 나온후 청산된 후, 그 다음날 선물에서는 또 다시 진입신호가 나왔는 데 etf에서는 진입조건이 되어도 신호가 나오지 않습니다. 교정부탁드립니다. 감사합니다.
선물수식
Var : vA_value(0), vB_value(0),vStartMin(0);
input : BarsEntryInterval(20), pMaxContracts(4),pTimeInterval(11);
var : PreTT(0), TT(0),cond99(false);
If date <> date[1] Then Begin
vA_value = H;
vB_value = L;
Cond99 = False;
vStartMin = TimeToMinutes(stime);
PreTT = TotalTrades[1];
End;
If Cond99 == False Then Begin
if vA_value < H Then vA_value = H;
if vB_value > L Then vB_value = L;
End;
If (TimeToMinutes(stime) - vStartMin) == pTimeInterval And Cond99 == False Then Begin
Cond99 = True;
End;
if Cond99 Then Begin
If CrossUp(C, vA_value) Then ExitShort("BX");
If CrossDown(C, vB_value) Then ExitLong("SX");
If time <= 115900 And TT - PreTT <= 2 Then Begin
If CrossUp(C, vA_value) Then Buy("B");
If CrossDown(C, vB_value) Then Sell("S");
End;
if MarketPosition == 1 And C > vA_value And CurrentContracts < pMaxContracts Then Begin
if BarsSinceEntry == ( 1 * BarsEntryInterval) Then
Buy("reBuy1");
if BarsSinceEntry == ( 2 * BarsEntryInterval)
Then
Buy("reBuy2");
if BarsSinceEntry == ( 3 * BarsEntryInterval)
Then
Buy("reBuy3");
End
Else if MarketPosition == -1 And C < vB_value And CurrentContracts < pMaxContracts Then Begin
if BarsSinceEntry == ( 1 * BarsEntryInterval) Then
Sell("reSell1");
if BarsSinceEntry == ( 2 * BarsEntryInterval)
Then
Sell("reSell2");
if BarsSinceEntry == ( 3 * BarsEntryInterval)
Then
Sell("reSell3");
End;
End;
SetStopEndofday(150000);
1.ETF
input : BarsEntryInterval(20), pMaxContracts(4),pTimeInterval(11);
Var : vA_value(0,data2), vB_value(0,data2),vStartMin(0,data2);
var : PreTT(0,data1), TT(0,data1),cond99(false,data2);
If data2(date <> date[1]) Then
{
vA_value = data2(H);
vB_value = data2(L);
Cond99 = False;
vStartMin = data2(TimeToMinutes(stime));
PreTT = TotalTrades[1];
}
TT = TotalTrades;
If Cond99 == False Then
{
if vA_value < data2(H) Then vA_value = data2(H);
if vB_value > data2(L) Then vB_value = data2(L);
}
If data2((TimeToMinutes(stime) - vStartMin) == pTimeInterval And Cond99 == False) Then
{
Cond99 = True;
}
if Cond99 Then {
If data2(CrossDown(C, vB_value)) Then ExitLong("BX");
If data2(time <= 115900) And TT - PreTT <= 2 Then Begin
If data2(CrossUp(C, vA_value)) Then Buy("B");
If data2(CrossDown(C, vB_value)) Then ExitLong("bx1");
End;
if MarketPosition == 1 And data2(C > vA_value) And CurrentContracts < pMaxContracts Then {
if BarsSinceEntry == ( 1 * BarsEntryInterval) Then
Buy("reBuy1");
if BarsSinceEntry == ( 2 * BarsEntryInterval) Then
Buy("reBuy2");
if BarsSinceEntry == ( 3 * BarsEntryInterval) Then
Buy("reBuy3");
}
}
SetStopEndofday(150000);
2.ETF인버스
input : BarsEntryInterval(20), pMaxContracts(4),pTimeInterval(11);
Var : vA_value(0,data2), vB_value(0,data2),vStartMin(0,data2);
var : PreTT(0,data1), TT(0,data1),cond99(false,data2);
If data2(date <> date[1]) Then Begin
vA_value = data2(H);
vB_value = data2(L);
Cond99 = False;
vStartMin = data2(TimeToMinutes(stime));
PreTT = TotalTrades[1];
End;
TT = TotalTrades;
If Cond99 == False Then Begin
if vA_value < data2(H) Then vA_value = data2(H);
if vB_value > data2(L) Then vB_value = data2(L);
End;
If data2((TimeToMinutes(stime) - vStartMin) == pTimeInterval And Cond99 == False) Then Begin
Cond99 = True;
End;
if Cond99 Then {
If data2(CrossUp(C, vA_value)) Then ExitLong("SX");
If data2(time <= 115900) And TT - PreTT <= 2 Then {
If data2(CrossUp(C, vA_value)) Then ExitLong("Sx1");
If data2(CrossDown(C, vB_value)) Then Buy("S");
}
if MarketPosition == 1 And data2(C < vB_value) And CurrentContracts < pMaxContracts Then {
if BarsSinceEntry == ( 1 * BarsEntryInterval) Then
Buy("reSell1");
if BarsSinceEntry == ( 2 * BarsEntryInterval) Then
Buy("reSell2");
if BarsSinceEntry == ( 3 * BarsEntryInterval) Then
Buy("reSell3");
}
}
SetStopEndofday(150000);
2018-01-09
183
글번호 115584
답변완료
수식문의합니다/
키움에서는
강세약세 적용으로 바탕화면을 나눌수 있습니다.
para sar
af 0.02
maxaf 0.2
예스에서도 응용하여 바탕색을 나눌수 있다고 하던데요.
위 수식으로 어떻게 하면 될까요?
2018-01-09
218
글번호 115579
답변완료
진입제한 질문드립니다.
오전 6시 이후로 로직 진입제한 시그널을 찾아보았습니다.
var : tcond(False);
if Bdate != Bdate[1] Then{
tcond = False;
}
if tcond == false and 060000 >= 080000 then
tcond = true;}
if tcond == true then{
진입청산로직}
이렇게 작성하신걸 보았습니다.
그대로 응용하여 로직에 적용해보았는데 '오전6시~ 오전8시 진입제한' 이라는 로직이 발휘하지 못하더군요. 로직 어디에 문제가 있나요?
2. if 조건 then sell로 진입후
진입이후 시가선을 하향돌파한 적이 있고~ 지금이 a면 본전청산. 을 어떻게 해야할까요
단순히
if crossdown(A,d) then으로 해버리니 crossdown한 그 순간을 포착해버리는것이 당연하지요. 타계해야할 방법이 난해합니다..
2018-01-09
191
글번호 115578
답변완료
문의드립니다
문의드립니다
Input : Period(20);
If CrossUp(C, ma(C,Period)) Then
{
If C == C[1] Then
value1 = 0.001;
Else
value1 = (C-C[1])/C[1]*100;
}
Else
value1 = 0;
Find(value1);
예스트레이더에 있는 주가 이동평균선 상향돌파 검색식 인데요
이 검색식을 사용하면 장중에 돌파하면 바로 검색이 되는지
아니면 장이 끝나고 검색이 되는지요?
2018-01-08
186
글번호 115577
답변완료
스탑로스 설정 문의
주식은 아래와 같이 스탑로스를 설정하는데
해외선물은 어떻게 설정하나요
해외선물 종목 = 연결_E-micro EUR/USD
# 스탑로스(6%)
# SetStopLoss(6,PercentStop);
2018-01-08
206
글번호 115576