커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1751
글번호 230811
답변완료
검색식 부탁드립니다
안녕하세요 새해부터 수고가 만으십니다
전에 만들어주신 검색식(글번호 70418)의 개량버전과
반대버전을 만들어주시면 감사하겠습니다
전에 부탁드렸던 검색식은 분봉상 현재봉기준 1위부터 5위까지
양봉의 변동성이 높은 검색식이었습니다
전에 보내주신 검색식은 아주잘 받았습니다 감사합니다
그런데 윗꼬리를 포함하지안고 시가와 종가자체의 변동성이
높은 봉들이 검색되기를 원합니다
또한 음봉버전의 검색식(아랫꼬리제외)또한 만들어주시면 감사하겠습니다
감사합니다 새해복마니받으세요!
2021-01-05
592
글번호 145103
답변완료
문의드립니다
[가]보조지표를 이용하여
최근 10봉 기간의 최고 최저를 각각 추적하여
매수
종가가 최저점 대비 N% 보다 이상
매도
종가가 최고점 대비 M% 보다 이하
2021-01-05
651
글번호 145102
답변완료
수식 문의드립니다.
안녕하세요
수식 문의드립니다.
최근 5봉에서 발생된 최고 거래량을 구해서
최근 100봉을 기준으로 최근 5봉 거래량의 40%가 넘는 거래봉이 없는 종목을 검색하고자 합니다.
말이 참 어렵네요;;;
이게 수식으로 가능할까요...? ㅠㅠ
2021-01-05
571
글번호 145101
답변완료
Setstoploss 수식 적용 관련하여 질문드립니다.
if ATR(5) > 3 and ma(ATR(5),5) > ma(ATR(5),5)[2] then {
If MarketPosition() <> -1 Then
buy("l-buy", AtStop , c + (0.5 * ATR(5)));
}
if MarketPosition() <> -1 Then {
SetStopTrailing(0.4, 1.3, PercentStoP,1);
}
질문 1. 일봉선물 차트에서 위 시스템식을 적용하면,
1-1 지정가 매수가 된다음
1-2 SetStopTrailing 으로 매수청산이 수행되는 것을 확인하였습니다.
가. 그런데 어떤 봉에서는 별도의 매수신호 없이 종가기준으로 매수상태로 바뀌어 져 있음을 확인되어 당황스럽고 자동매매에 문제가 있음을 확인하여 문의드립니다.
나. 이런 문제를 해결하기위하여 1-2의 SetStopTrailing 으로 매수청산되는 가격을 알고 싶습니다. 매수청산되는 가격을 찾는 수식 알려주세요
다시말하면 매수청산되는 가격을 변수에 저장하고 싶습니다.
다. 또한 일봉차트에서 3시30분에 매수청산가격보다 0.7% 높을 경우에 재매수할 수 있는 수식도 알려주세요
( 차트신호를 일치시키기 위한 별도수식 추가해야 자동매매가 가능하기 때문입니다.)
도와 주심에 항상 감사드립니다.
2021-01-05
614
글번호 145100
답변완료
문위 드립니다
1,,양봉종가에 매도신호
2,,,음봉종가에 매수신호
3, 파라볼릭종가 지표를 시용해서
매수면 음봉에 매수신호,,,,매도면 양봉에 매도신호 부탁드려요
부탁드려요
2021-01-05
522
글번호 145099
답변완료
문위드립니다
1,,당일시가를 선으로 표시
2,, 당일시가 기준으로 +100틱을 선으로 표시
3,,당일시가 기준으로 -100틱을 선으로 표시
부탁드립니다
2021-01-04
548
글번호 145098
답변완료
지그재그 번호설정
안녕하세요 관리자님 우선 감사의 말씀 드립니다.
아래 지그재그 식에
제가 원하는 지그재그 hi나 lo를 1번으로 지정해서 표시 되면서
시스템에서도 몇번에서는 매수 몇번에서는 매도 주문이 들어 가게 만들고 싶은데요
가능 한지 가능하면 어떻게 해야 되는지 부탁 드립니다.
감사 합니다.
Input:chngRate(0.1);
Var:j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0);
Array:valArr[10](0),barArr[10](0),turnPntArr[10]("");
For j = 0 To 9
{
barArr[j] = barArr[j] + 1;
}
Condition1 = Min(valArr[1],valArr[2]) * (1 + (chngRate/100)) < H and lastHiVal < H;
Condition2 = Max(valArr[1],valArr[2]) * (1 - (chngRate/100)) > L and (lastLoVal > L || lastLoVal == 0);
If Condition1 Then { lastHiVal = H; lastLoVal = 0; }
If Condition2 Then { lastLoVal = L; lastHiVal = 0; }
turnPntBit = "";
If Condition1 and Condition2 Then
{
If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then
turnPntBit = "HiLo";
Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi";
Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo";
}
Else If Condition1 Then turnPntBit = "Hi";
Else If Condition2 Then turnPntBit = "Lo";
If turnPntBit <> "" Then
{
If turnPntBit == "HiLo" Then
{
valArr[1] = IFF(turnPntArr[1] == "Hi",H,L);
barArr[1] = 0;
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
If turnPntArr[1] == "Hi" Then
turnPntBit = "Lo";
Else
turnPntBit = "Hi";
}
If turnPntBit <> turnPntArr[1] Then
{
for j = 8 downto 1
{
valArr[j+1] = valArr[j];
barArr[j+1] = barArr[j];
turnPntArr[j+1] = turnPntArr[j];
}
}
If turnPntBit <> turnPntArr[1] or
(turnPntBit == turnPntArr[1] and
((turnPntBit == "Hi" and valArr[1] < H) or
(turnPntBit == "Lo" and valArr[1] > L))) Then
{
valArr[1] = IFF(turnPntBit == "Hi",H,L);
barArr[1] = 0;
turnPntArr[1] = turnPntBit;
If turnPntArr[1][1] <> turnPntArr[1][0] Then
{
TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
if turnPntArr[1][0]=="Hi" Then{
buy();
}
if turnPntArr[1][0] =="Lo" Then{
sell();
}
}
Else
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
}
}
TL_SetSize(TL1,1);
if turnPntArr[1][0] == "Hi" Then
TL_SetColor(TL1,RED);
Else
TL_SetColor(TL1,BLUE);
2021-01-04
697
글번호 145097
답변완료
시스템 수정
안녕하세요
동일한 시스템으로 자주 질문드려 죄송합니다.
수식에 대한 이해도가 떨어지다보니
정확히 어떤부분에 문제가 있어서 제가 의도한 대로 동작하지 않는지
찾아내기가 쉽지 않네요
매수 4,5,6 매수신호 이후에 제가 원하는 위치에서 매수 4,5,6이 나오지 않아서,,
아마 매수 4,5,6 신호 이후에는 더 하락해야 매수가 되도록 설정되어 있는것이
아닌가 싶은데요,,, 그것이 맞다면 변경부탁드릴게요
감사합니다.
INPUT : 매수(0), 매도조건(1);
var : cond(False),LP(0);
var1 = ma(C,3);
var2 = ma(C,5);
var3 = ma(C,10);
var4 = ma(C,60);
value1 = 0;
if value1 == 0 and C < Var4 and CrossDown(c,var3) and cond == False Then
{
if MarketPosition == 0 or (MarketPosition == 1 and C < LP and Condition1 == False) Then
{
value1 = 1;
Buy("매수3");
}
}
if value1 == 0 and C < var4 and CrossDown(c,var2) and cond == False Then
{
if MarketPosition == 0 or (MarketPosition == 1 and C < LP and Condition1 == False) Then
{
value1 = 1;
Buy("매수2");
}
}
if value1 == 0 and C < Var4 and CrossDown(c,var1) and cond == False Then
{
if MarketPosition == 0 or (MarketPosition == 1 and C < LP and Condition1 == False) Then
{
value1 = 1;
Buy("매수1");
}
}
if MarketPosition == 1 Then
{
if 매수 == 1 Then
Cond = true;
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "매수1" Then
{
LP = LatestEntryPrice(0);
Condition1 = true;
}
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "매수2" Then
{
LP = LatestEntryPrice(0);
Condition2 = true;
}
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "매수3" Then
{
LP = LatestEntryPrice(0);
Condition3 = true;
}
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "매수4" Then
{
LP = LatestEntryPrice(0);
Condition4 = true;
}
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "매수5" Then
{
LP = LatestEntryPrice(0);
Condition5 = true;
}
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "매수6" Then
{
LP = LatestEntryPrice(0);
Condition6 = true;
}
if Condition3 == true Then
{
if Condition4 == False Then
Buy("매수4",AtLimit,LP*0.97);
if Condition4 == true and Condition5 == False Then
Buy("매수5",AtLimit,LP*0.95);
if Condition4 == true and Condition5 == true and Condition6 == False Then
Buy("매수6",AtLimit,LP*0.90);
}
if 매도조건 == 1 Then
{
ExitLong("bx1",AtLimit,AvgEntryPrice*1.05,"",Floor(MaxContracts*0.2),1);
ExitLong("bx2",AtLimit,AvgEntryPrice*1.08,"",Floor(MaxContracts*0.5),1);
ExitLong("bx3",AtLimit,AvgEntryPrice*1.10);
}
if 매도조건 == 2 Then
{
ExitLong("bx",AtLimit,AvgEntryPrice*1.15);
}
}
Else
{
Condition1 = False;
Condition2 = False;
Condition3 = False;
}
2021-01-04
740
글번호 145096
답변완료
문의드립니다.
선물차트 기준으로 문의드립니다.
1. < 티론중간선 25선, 티론중간선 40선, 단순이평 50선, 단순이평 80선 > 사이를 색채우기하고자 합니다. 수식을 어떻게 작성해야 하는지요? (각 지표의 기간값은 수정가능하게 부탁드립니다.?
2. <티론중간선 25선, 티론중간선 40선, 티론중간선 80선, 단순이평 100선, 단순이평 120선> 사이를 색채우기 하고자 합니다. 수식을 부탁드립니다.(각 지표의 기간값은 수정가능하게 부탁드립니다.)
항상 감사드립니다. 수고하세요!!!
2021-01-04
722
글번호 145095