커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5470
글번호 230811
답변완료
수식 요청드립니다.
안녕하세요. 아래조건으로 수식 작성 요청드립니다.
1) 매수진입 조건 ㅡ 현재가격(예 50.00) 아래에 있는 직접 입력한 A가격(예시 49.50)에서 첫번째 터치시 매수
매수 청산후 두번째 진입은 직접 입력한 B가격(예시 49.00)에서 첫번째 터치시 매수
2) 매도진입 조건 ㅡ 현재가격(예 50.00) 위에 있는 직접 입력한 C가격(예시 50.50)에서 첫번째 터치시 매도
매도 청산후 두번째 진입은 직접 입력한 D가격(예시 51.00)에서 첫번째 터치시 매도
3) 매수청산 조건 ㅡ 2계약 진입후 첫번째 계약은 20틱 청산. 두번째 계약은 40틱 청산
4) 매도청산 조건 ㅡ 2계약 진입후 첫번째 계약은 20틱 청산. 두번째 계약은 40틱 청산
5) 익절 조건 ㅡ 매수/매도 청산 조건과 동일
6) 손절 조건 ㅡ 기본 20틱. 매수진입후 1차 20틱 청산후 매수 진입후 최고가 대비 20틱 하락시 청산.
매도진입후 1차 20틱 청산후 매도 진입후 최저가 대비 20틱 상승시 청산.
7) 기타 ㅡ A.B.C.D가격은 직접 입력
위 조건으로 수식 작성 부탁드립니다.
감사합니다.
2020-02-27
411
글번호 136419
답변완료
수식 작성 부탁 드립니다
2개의 매수 진입 조건을 같이 사용 할수 있도록 부탁 드립니다
매수 진입 수식에 {input : period(20);} 이 상승 할때{CurrentBar > 20 and ma(haClose,period) > ma(haOpen,period) } 진입 허용 하도록 설정 되어 있습니다
아래 수식에서 input : period2(10);이 상승 할때 조건을 첨부 원합니다
input : period(20);
var : haClose(0), haOpen(0), haHigh(0), haLow(0);
if CurrentBar > 1 then {
haClose = (Open+High+Low+Close)/4;
haOpen = (haOpen[1] + haClose[1])/2 ;
haHigh = Max(High, haOpen, haClose);
haLow = Min(Low, haOpen, haClose) ;
var1 = ma(haOpen,period);
}
}
if CurrentBar > 20 then {
if ma(haClose,period) > ma(haOpen,period) Then{
var2 =ma(haClose,period);
}
input : period2(10);
var : haClose(0), haOpen(0), haHigh(0), haLow(0);
if CurrentBar > 1 then {
haClose = (Open+High+Low+Close)/4;
haOpen = (haOpen[1] + haClose[1])/2 ;
haHigh = Max(High, haOpen, haClose);
haLow = Min(Low, haOpen, haClose) ;
var3 = ma(haOpen,period2);
}
}
if CurrentBar > 20 then {
if ma(haClose,period2) > ma(haOpen,period2) Then{
var4 =ma(haClose,period2);
}
if CurrentBar > 20 and ma(haClose,period) > ma(haOpen,period)
and 매수진입 조건 then buy("B");
2020-02-27
393
글번호 136418
답변완료
수정 부탁드립니다.
안녕하세요? 답변해주신 아래의 내용에서 수정할 부분이 있어 도움요청드립다.
1. #포지션이 변경되어 새로운 진입포지션 발생시마다 1씩 증가 이 부분을 삭제하고 싶습니다.
2. 교차매매없이 정해진 익절손절에만 청산후, 새로운신호에 진입하고 싶습니다.
1씩증가 저부분을 삭제도 해보았지만 잘 안되네요.
수정부탁드립니다.
감사합니다.
input : 매수음봉틱수(5),매수양봉틱수(5);
input : 매도양봉틱수(5),매도음봉틱수(5);
input : 진입횟수(5);
input : 익절틱수(50),손절틱수(50);
var : entry(0);
#영업일 변경
if bdate != bdate[1] Then
entry = 0;
#포지션이 변경되어 새로운 진입포지션 발생시마다 1씩 증가
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
if entry < 진입횟수 and #진입횟수가 지정한 값 이하
MarketPosition >= 0 and #매수나 무포지션 상태
C[1] >= O[1]+매도양봉틱수*PriceScale and #1봉전종가가 1봉전시가+매도양봉틱수 이상
C[0] <= O[0]-매도음봉틱수*PriceScale Then #현재봉 종가가 1봉전시가-매도음봉틱수 이하
sell("s");
if entry < 진입횟수 and #진입횟수가 지정한 값 이하
MarketPosition <= 0 and #매도나 무포지션 상태
C[1] <= O[1]-매수음봉틱수*PriceScale and #1봉전종가가 1봉전시가-매수음봉틱수 이하
C[0] >= O[0]+매수양봉틱수*PriceScale Then #현재봉 종가가 1봉전시가+매수양봉틱수 이상
buy("b");
#목표수익 설정
SetStopProfittarget(PriceScale*익절틱수,PointStop);
#손절매 설정
SetStopLoss(PriceScale*손절틱수,PointStop);
2020-02-27
406
글번호 136417
답변완료
부탁좀 드립니다
수고가 많으십니다
신호발생 캔들에 종가라인이 우측으로 그려지면서 수치를 나타내는 수식을 기존의 수식에 추가하고자 합니다.
다음신호가 나올때 까지 유지되었으면 합니다.
2020-02-27
407
글번호 136404
답변완료
강조
var : month(0);
month = int(date/100)-int(date/10000)*100;
if month != month[1] and month == 1 Then
PlotPaintBar(o,c,"강조",WHITE);
2017년 부터 년초가 제공되않아요
2020-02-27
442
글번호 136403
답변완료
강조
힝 매주 목요일 금요일아니고
3월 6월 9월 12월
두쨰주 목요일
셋쨰주 금요일 안되냐용1
1
var : count(0);
var : month(0);
month = int(date/100)-int(date/10000)*100;
if month != month[1] Then
{
count = 0;
if month%3 == 0 Then
Condition1 = true;
Else
Condition1 = false;
}
if bdate != bdate[1] and DayOfWeek(bdate) == 4 Then
{
count = count+1;
PlotPaintBar(H,L,"강조",MAGENTA);
}
2
var : count(0);
var : month(0);
month = int(date/100)-int(date/10000)*100;
if month != month[1] Then
{
count = 0;
if month%3 == 0 Then
Condition1 = true;
Else
Condition1 = false;
}
if bdate != bdate[1] and DayOfWeek(bdate) == 5 Then
{
count = count+1;
PlotPaintBar(H,L,"강조",MAGENTA);
}
2020-02-27
520
글번호 136402
답변완료
안녕하세요
//Variable:
//cp = 2 (default)
if high[cp] >= highest[2*cp+1](high) then
LH = 1
else
LH=0
endif
if low[cp] <= lowest[2*cp+1](low) then
LL= -1
else
LL=0
endif
if LH=1 then
hil = high[cp]
endif
if LL = -1 then
LOL=low[cp]
endif
return lol coloured(255,0,0) as "LF",hil coloured(0,255,0) as "HF"
수식 변환 문의드립니다. 감사합니다
2020-02-27
516
글번호 136398
답변완료
수식문의드립니다
crossup(rsi(perood1),40)
period1 10
============================
종목검색이 가능하게 수식문의드립니다.
2020-02-27
510
글번호 136392
답변완료
피라미딩 분할 익절
input : up익절1(150),up익절2(200);
if MarketPosition == 1 and EntryPrice+PriceScale*up익절1 Then
exitlong("bx1",AtLimit,def,"",Floor(MaxContracts*0.50),1);
if MarketPosition == 1 and EntryPrice+PriceScale*up익절2 Then
exitlong("bx2",AtLimit);
input : dn익절1(150),dn익절2(200);
if MarketPosition == -1 and EntryPrice-pricescale*dn익절1 Then
exitshort("sx1",AtLimit,def,"",Floor(MaxContracts*0.50),1);
if MarketPosition == -1 and EntryPrice-pricescale*dn익절2 Then
exitshort("sx2",AtLimit);
1.피라미딩 2개 되었을 때 분할익절 수식입니다. 맞는지요?
2.맥스계약비율을 맥스계약수량으로 변경하는 수식도 요청합니다.
2020-02-27
529
글번호 136391