커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3138
글번호 230811
답변완료
가속채널 상단하단 돌파이탈시 신호나 알림
input : length(100),mult(1);
var : src(0),a(0),b(0),size(0);
src = close;
size = iff((a[1]-a[2]) > 0 or (b[1]-b[2]) < 0 , atr(length) ,TrueRange);
if a[1] > a[2] Then
{
Condition1 = true;
var1 = 0;
}
Else
{
if Condition1 == true Then
var1 = var1+1;
}
if b[1] < b[2] Then
{
Condition2 = true;
var2 = 0;
}
Else
{
if Condition2 == true Then
var2 = var2+1;
}
a = max(src,a[1]) - size/pow(length,2)*(var1*mult);
b = min(src,b[1]) + size/pow(length,2)*(Var2*mult);
plot1(a);
plot2(b);
-----------------------------------------------------------
위 수식을 가지고 신호가 나오게끔 만들수 있나요?
알림소리라든지요?
제가 신호나 알림이 나왔으면 하는 위치는 위 가속채널을 캔들이 돌파나 이탈하게되면 신호나
알림이 나오게끔 해서 파악을 하고싶은데
조건을 어떻게 말하기가 어렵네요.
주가가 가속채널 상단을 고점돌파하면 나오게끔
주가가 가속채널 하단을 저점이탈하면 나오게끔
이리 설명하면 만들수 있을지요?
좀 부탁드립니다.
2020-09-17
959
글번호 142476
답변완료
급하게 시스템 요청 좀 드립니다.
* 늦게 죄송합니다.
ㅇ 매수 진입후 20틱 청산후 청산가격 보다 10틱 추가로 상승 하면 다시 매수
ㅇ 매도 진입후 20틱 청산후 청산가격 보다 10틱 추가로 하락 하면 다시 매도
수식좀 요청 드립니다. 고맙습니다.
2020-09-17
979
글번호 142472
답변완료
특정시간 강제 청산
안녕하세요 관리자님
우선 늘 감사 드립니다.
문의 드릴것이 해외선물 포지션이 남아있으면
특정시간에 강제 청산 하는 로직을 어떻게 해야되는지 문의 드립니다.
특정 시간은 오전 5시 30분 입니다.
Input : 기준선기간1(20),기준선기간2(60),지수이평기간(5);
input : LossCount(2),손절(200),트레일링스탑(100);
var:기준선1(0),기준선2(0);
var : 지수이평(0),Lcnt(0);
기준선1 = (Highest(High, 기준선기간1) + Lowest(Low, 기준선기간1)) / 2 ;
기준선2 = (Highest(High, 기준선기간2) + Lowest(Low, 기준선기간2)) / 2 ;
지수이평 = ema(C,지수이평기간);
if Bdate != Bdate[1] Then
Lcnt = 0;
if TotalTrades > TotalTrades[1] and IsExitName("StopLoss",1) == true Then
Lcnt = Lcnt+1;
IF Lcnt < LossCount and (MarketPosition <= 0 OR (MarketPosition == 1 and MaxEntries < 3)) Then
{
If (기준선1[0] >= 기준선2[0]) and (Crossup(지수이평[0],기준선2[0]) or Crossup(지수이평[0],기준선1[0])) Then
Buy("b");
}
IF Lcnt < LossCount and (MarketPosition >= 0 OR (MarketPosition == -1 and MaxEntries < 3)) Then
{
If (기준선1[0] < 기준선2[0]) and (CrossDown(지수이평[0],기준선2[0]) or CrossDown(지수이평[0],기준선1[0]))Then
Sell("s");
}
if MarketPosition == 1 Then
{
ExitLong("btr",AtStop,Highest(H,BarsSinceEntry)-PriceScale*트레일링스탑);
if CrossDown(지수이평[0],기준선2[0]) or CrossDown(지수이평[0],기준선1[0]) Then
ExitLong("bx");
}
if MarketPosition == -1 Then
{
ExitShort("Str",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*트레일링스탑);
if Crossup(지수이평[0],기준선2[0]) or Crossup(지수이평[0],기준선1[0]) Then
ExitShort("sx");
}
SetStopLoss(PriceScale*손절,PointStop);
2020-09-17
826
글번호 142468
답변완료
수정 부탁드립니다.
안녕하세요?
의도한바와같이 답변 정말 감사히 잘 받았습니다.
다만, 작동을 하지않아 문의 드립니다.
원글 69224 참조.
부디 문제점 수정부탁드립니다.
감사합니다.
input : b기준선(0.05),s기준선(0.95),n(3);
var : entry(0);
if Bdate != Bdate[1] Then
entry = 0;
var1 = C%1;
var2 = C%1;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if entry < n Then
{
if MarketPosition == 0 and C > O and C == var1 then
Buy();
if MarketPosition == 0 and C < O and C == Var2 then
Sell();
}
input : 익절틱수(50),손절틱수(50);
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2020-09-17
844
글번호 142462
답변완료
지표식 문의 드립니다
틱차트인데 90틱 차트에서
1. 4개의 봉을합쳐 1개의 봉으로 표현할려고 합니다
2. 5개의 봉을합쳐 1개의 봉으로 표현할려고 합니다
3. 4개의 봉을합쳐 1개의 봉으로 표현한 봉에대한 20이평선(MA)을 표현할려고 합니다
감사합니다.
2020-09-17
869
글번호 142461
답변완료
신호수식요청
안녕하세요 늘 도움 감사드립니다
아래의 수식을 시스템신호 수식으로 변경부탁드립니다.
그림 첨부..
input : 오프셋(1),봉수(4);
var1 = highest(h,봉수);
var2 = Lowest(L,봉수);
if var1 < var1[오프셋] Then
value1 = var1[오프셋];
Else
value1 = var1;
if var2 > var2[오프셋] Then
value2 = var2[오프셋];
Else
value2 = var2;
plot1(value1);
plot2(value2);
2020-09-17
867
글번호 142459
답변완료
문의드립니다
var1 과 var2 에 값이 작은것만 나타나게하려면 어케해야 합니까?
2020-09-17
962
글번호 142458
답변완료
함수요청
안녕하세요?
아래 전략에 대해 스크립트 작성 요청드립니다.
감사합니다.
- 나스닥 선물 5분봉, 참조1 10분봉, 참조2 30분봉
- 매수: 5분봉, 10분봉, 30분봉 모두 볼린져 밴드 상단 돌파 완성시 익봉 시가에 진입
- 매도: 5분봉, 10분봉, 30분봉 모두 볼린져 밴드 하단 이탈 완성시 익봉 시가에 진입
- 매수청산: 5분봉상 볼린져 밴드 하단 이탈 완성 and 10분봉상 5ma 이탈 and 30분봉상 20ma 이탈된 상태가 완성시 익봉 시가에 청산
- 매도청산: 5분봉상 볼린져 밴드 하단 돌파 완성 and 10분봉상 5ma 돌파 and 30분봉상 20ma 돌파된 상태가 완성시 익봉 시가에 청산
2020-09-17
963
글번호 142457
답변완료
수식어 부탁드립니다
var : entry(0);
if bdate != bdate[1] Then
entry = 0;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if MarketPosition <= 0 and entry < 1 Then
buy("b",atlimit,dayhigh-PriceScale*60);
if MarketPosition == 1 Then
exitlong("bx",atlimit,lowest(L,BarsSinceEntry)+PriceScale*80);
if MarketPosition >= 0 and entry < 1 Then
sell("s",atlimit,daylow+PriceScale*3500);
if MarketPosition == -1 Then
ExitShort("sx",atlimit,Highest(H,BarsSinceEntry)-PriceScale*120);
if sdate != sdate[1] Then
SetStopEndofday(55000);
if bdate != bdate[1] Then
SetStopEndofday(0);
---------------------------------------------------
위 수식어는 하루 1매매 입니다.
하루 2매매 수식어와 3매매 수식어도 부탁드립니다.
미리 감사드립니다. 수고하세요
2020-09-17
950
글번호 142456