커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5396
글번호 230811
답변완료
수식 문의
모든 매수 매도 진입 타점에 일괄적으로 적용되는 청산 수식을 구성하고자 합니다.
시그널메이커에서 다음과 같은 수식으로 일괄청산 손절을 이용하였는데요.
예스에서도 이대로 사용이 가능한가요?
사용할 수 없다면 어떤식으로 변환해야하는지 부탁합니다.
//손절
input : stoploss_value2(20);
If CurrentContracts <> 0 Then
Begin
SetStopLoss( stoploss_value2*currentcontracts , PointStop );
End
Else
Begin
SetStopLoss( 0 );
end;
// 트레일링 스탑
input:profit_value (0);
Var : TickSize( 0 );
If CurrentContracts <> 0 Then
Begin
SetstopTrailing ( 50 * Ticksize * currentcontracts, 80 * Ticksize * currentcontracts) ;
SetstopTrailing ( 20 * Ticksize * currentcontracts, 50 * Ticksize * currentcontracts) ;
SetStopProfitTarget(profit_value * currentcontracts);
End
Else
Begin
SetStopTrailing(0,0);
SetStopProfitTarget(0);
End;
2024-08-08
965
글번호 182361
답변완료
Binary Wave MACD 조건검색 문의힙니다.
유안타 증권 사용자입니다.
종합차트에(5115) 사용중인 macd 검색식을 문의했는데
유안타에서 만들지 못한다고 해서 찾다가 여기까지 왔습니다.
(유안타 차트에 적용중인 수식을 유안타에서 만들지 못한다 하니 이해가 조금 안되네요)
아래 수식 8개를 넣어서 만들수 있는지 궁금합니다.
MAOsc1
MAOsc2
MASig
MA기간
ROC기간
스톡기간
기간1
기간2
일봉차트에서 위에 8개 조건을 다 넣어서 검색식을 만들수 있을까요?
아래는 5115차트 수식입니다. 조건검색으로 적용하려고 했는데 오류가 발생해서 포기 했습니다.
Binary Wave MACD
EMA(BinaryWave(MAOsc1,MAOsc2,MASig,MA기간,ROC기간,
스톡기간),기간1)
-
EMA(BinaryWave(MAOsc1,MAOsc2,MASig,MA기간,ROC기간,
스톡기간),기간2)
2024-08-08
1117
글번호 182359
답변완료
변동률
(h-l)/l*100
위 수식은 단순히 당일 고가와 저가의 변동률인데
여기에 갭을 포함한 수식으로 수정 부탁드립니다
2024-08-08
933
글번호 182358
답변완료
문의드립니다.
수고많습니다.
선물 2계약 시스템매매에서
진입은
20이평선과 60이평선 중에서 더 높은 가격보다 10틱이상 상승하면 바로 1계약 매수, 그 더 높은 가격보다 위에서 종가가 완성되면 1계약 추가 매수입니다. (추가매수는 더 높은 가격보다만 1틱이라도 더 크면 만족합니다)
청산은
1. 30틱 이상 상승한 후 20틱 밀리면 1계약 청산 또는 진입가에서 30틱 밀리면 1계약 청산
2. 나머지 1개는 20이평선과 60이평선중에 1개선이라도 10틱이상 하락하거나 두 이평선중에서 1틱이라도 이탈로 종가가 완성되면 청산. (이때 2계약이 다 남아 있다면 1계약 청산이 아니라 모두 청산입니다)
매도진입과 청산은 반대입니다.
※ 만일 10틱이상 상승, 하락시 바로 진입이 불가하다면 1계약은 1틱이라도 더 높으면 진입, 나머지 1계약은 10틱이상 더 높으면 진입으로 해주셔도 좋습니다. 즉 10틱이상 더 위에 있으면 2계약 모두 진입이고 5틱만 상승한 종가면 1계약만 진입했다가 이후 10틱이상 올라가는 봉에서 진입되면 됩니다.
두가지 방식 다 가능하다면 둘 다 만들어주셔도 감사하겠습니다.
주석도 조금 부탁드립니다.
미리 노고에 감사드립니다.
2024-08-08
1034
글번호 182357
답변완료
문의 드립니다.
아래 식에서 20 120 이평선을 추가하여 정배열 일때만
TRIX 0선아래 크로스 반복 매수 진입하도록 하고자 합니다.(피라미딩 방식)
손절(청산)은 TRIX 0선이 아니라 20 120 이평 정배열에서
주가가 120 이평선을 아래로 이탈할 때 매도 청산완료
부탁드립니다.
Input : Period(5), sigPeriod(10),수량(1);
var : TRIXv(0),TRIXs(0);
TRIXv = TRIX(Period);
TRIXs = ema(TRIXv,sigPeriod);
if C > DayOpen and CrossUp(TRIXv,TRIXs) and TRIXv < 0 Then
Buy("b",OnClose,Def,수량);
if MarketPosition == 1 and CrossDown(c,DayOpen) Then
ExitLong("bx");
2024-08-08
1194
글번호 182356
외국인 님에 의해서 삭제되었습니다.
2024-08-08
2
글번호 182355
답변완료
문의드립니다.
키움 수식인데 변환 좀 부탁드립니다.
제가 하기에는 어려워서요 부탁드립니다.
분봉 일봉 모두 사용 가능용으로 부탁드립니다.
a=adx(11);
b=sum(v*((Pow((C-L),2) - Pow((H-C),2))/(H-L)));
bb=BBandsUp(10,2);
en=EnvelopeUp(10,2);
s=(highest(high,26)+lowest(low,26))/2;
대금=v*(h+l+c+o)/4;
x=sum(v);
y=valuewhen(1,date(1)!=date,x(1));
z=x-y;
전거래량=valuewhen(1,date(1)!=date,z(1));
highest(h,3,1)<=c and ma(c,5)>ma(c,20) and
ma(c,20)>ma(c,60) and bb>en and c>bb and c>en and
a>a(1) and c>s and b>=b(1) and v>v(1)*1.1 and
(대금>2000000000 or sum(v)>전거래량)
2024-08-08
928
글번호 182354
para 님에 의해서 삭제되었습니다.
2024-08-08
5
글번호 182353
답변완료
문의
아래 수식은 b1은 한번만 거래하고, b2거래 부터는 장종료까지 제한없이 계속 반복거래하는 수식입니다.
그리고 반복거래하는 b2에 경과봉1을 필터로 사용하고 있습니다.
요청하는 내용은 다음과 같습니다.
b2거래가 1승을 할 때는 경과봉2(추가) 만큼 간격을 좁히고 싶습니다.
그러다 1패를 하면 경과봉1이 재적용되고 그러다 1승을 하면 경과봉2가 다시 적용됩니다.
이 내용을 수식에 반영해 주십시요.
항상 고맙습니다.
*******************************************************************************
input : 경과봉1(100)
if 진입수식1 then
buy("b1");
if (TotalTrades == 0 or (TotalTrades >= 1 and BarsSinceExit(1) > 경과봉1)) and 진입수식2 then
buy("b2");
2024-08-08
888
글번호 182349