커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3363
글번호 230811
유선 님에 의해서 삭제되었습니다.
2020-06-08
0
글번호 139616
답변완료
추가매수한 것이 최초 매수한것과 같은 값이 손절하는 수식 요청합니다.
최초 진입후 150틱 하락시마다 추가 매수 를 총 3회까지 하는 수식인데...
아래 청산수식은 진입한 계약수가 일괄 청산되는데요...
if C <= EntryPrice and sum >= 손절갯수 Then
exitlong("bx1");
아래 청산수식은 즉시손절값,터치익절값으로 청산이 되네요....(순차적으로)
SetStopProfittarget(터치익절 , PercentStop);
SetStopLoss(즉시손절 , PercentStop);
제가 원하는 청산 수식은 다음과 같습니다.
터치익절 1% 설정시
터치익절 최초 매수계약분은 1% 수익청산
만약 150틱하락해서 추가매수분은 1%+150틱 수익청산
결국 최초 매수된 값의 1% 수익시 추가매수분은 해당 청산값에 일괄 청산하는 청산식
손절청산도 마찬가지입니다.
현재는 -1% 손실시 추가매수분은 순차적으로 손실청산되는데요...
원하는 청산손실방법은
최초 진입가에 -1%가되면 추가로 매수된 2개 계약을 포함하여 일괄 청산되는 수식으로
요청드림니다.
제가
SetStopProfittarget(터치익절 , PercentStop);
SetStopLoss(즉시손절 , PercentStop);
를 쓰는 이유는 매수한 봉에서도 익절값이나 손절값이 도달시 청산되는 것이 구현하고 싶어서
저 수식을 사용하였던 것이였습니다.
그런데 추가진입하는 수식을 부여하니 위와 같은 생각하지 못한 변수들이 나오네요~~
저의고민을 풀어주시면 감사하겠습니다.
위 청산식에서는 최초
input : 우상향값(15);
input : 이평봉수(3);
input : 진입이평(3);
Input : DMIPeriod(25);
#청산 조건
input : 이평값5(5), 이평값6(15);
input : 터치익절(2.9),즉시손절(1.9);
input : MACDshortP(40);
input : 손절갯수(4),일프로미만청산갯수(4),이프로미만청산갯수(3);
input : 이익청산률(1.015);
Input : tr수익(200),tr하락(200);
Input : 분할매수횟수(3),분할매수틱수(150);
var : sarv(0,data1),BBup(0),BuyEntry(false);
var : ii(-1),mav1(0),mav2(0),mav3(0),mav4(0),mav5(0),mav6(0);
var : cond1(false,data1),cond2(false,data1),i1(0,data1),i2(0,data1);
var : T(0);
var1 = ma(C,우상향값);
var2 = ma(C,진입이평);
value1 = DIPlus(DMIPeriod);
value2 = DIMinus(DMIPeriod);
#-----------------------------------
Var : value(0) , macdosc(0) ;
value = MACD(MACDshortP,MACDshortP*2);
macdosc = value-ema(value,9);
#----------------------------------------
if var1 > var1[1] Then
T = 1;
if var1 < var1[1] Then
T = -1;
#상향반전
if T == 1 and T != T[1] Then
{
BuyEntry = true;
ii = index;
}
#상향반전후 10봉 이내
if MarketPosition == 0 and BuyEntry == true and index < ii+이평봉수 and value1 > value2 Then
{
if NextBarOpen <= var2 Then
buy("b1",AtStop,var2);
Else
buy("b2",Atlimit,var2);
}
#추가진입
if MarketPosition == 1 and MaxEntries < 분할매수횟수 Then
buy("추가매수",atlimit,LatestEntryPrice(0)-PriceScale*분할매수틱수,1);
#==========================================================================
mav5 = ma(c,이평값5);
mav6 = ma(c,이평값6);
var : sum(0);
if MarketPosition == 1 then
{
BuyEntry = false;
sum = 0;
if CrossDown(c,mav5) Then # 2번째 이평선
sum = sum+1;
if CrossDown(c,mav6) Then # 2번째 이평선
sum = sum+1;
if C < sarv Then
sum = sum+1;
if macdosc <= 0 Then
sum = sum+1;
if (sdate != sdate[1] and stime >= 050000) or
(sdate == sdate[1] and stime >= 050000 and stime[1] < 050000) then
sum = sum+1;
if (DayOfWeek(sdate) == 6 and sdate != sdate[1] and stime >= 050000) or
(DayOfWeek(sdate) == 6 and sdate == sdate[1] and stime >= 050000 and stime[1] < 050000) then
sum = sum+1;
if C <= EntryPrice and sum >= 손절갯수 Then
exitlong("bx1");
if C > EntryPrice and C <= EntryPrice*이익청산률 and sum >= 일프로미만청산갯수 Then
exitlong("bx2");
if C > EntryPrice*이익청산률 and sum >= 이프로미만청산갯수 Then
exitlong("bx3");
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*tr수익 Then
ExitLong("tr",AtStop, highest(H,BarsSinceEntry)-PriceScale*tr하락);
}
SetStopLoss(즉시손절 , PercentStop);
SetStopProfittarget(터치익절 , PercentStop);
2020-06-08
2125
글번호 139615
답변완료
문의드립니다!!
안녕하세요!
아래 수식에서 음성신호 발생시 특정횟수나 특정시간동안만 소리가 나오게할수는 없을까요?
수식에서와 같이 60분 기준선을 적용시 1시간 내내 소리가 나네요
감사합니다
----------------------------------------------------------------------------------------
Inputs: TurnLen(9), StdLen(26), PrdLen(52);
Variables: 기준선(0);
기준선 = (Highest(High, StdLen) + Lowest(Low, StdLen)) / 2;
Plot1(기준선, "기준선");
if crossup(h,기준선) or CrossDown(l,기준선) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩60분기준선.wav");
2020-06-08
2310
글번호 139612
답변완료
지지저항선
차트 툴바 지지저항 분석서 수식 부탁드립니다
수고하세요
2020-06-08
2345
글번호 139610
레전드 님에 의해서 삭제되었습니다.
2020-06-08
2
글번호 139608
답변완료
시스템식 부탁드려요
매매 시작시간은 오전 9시 10분 종료시간은 13시
매수조건 :
전양봉이 몸통으로 5 10 20이평을(순서는 상관없음) 돌파후 양봉시작 + CCI 우상향일시
+ 이전 최근 5봉의 최저점 최고점 진폭 50틱이상 + 이전 최근 5봉의 몸통으로 응봉이든 양봉이든 5 10 20분봉(순서는 상관없음) 돌파한봉이 3개이하 일경우
매도조건 :
전음봉이 몸통으로 5 10 20이평을(순서는 상관없음) 돌파후 양봉시작 + CCI 우하향일시 매도
+ 이전 최근 5봉의 최저점 최고점 진폭 50틱이상 + 이전 최근 5봉의 몸통으로 응봉이든 양봉이든 5 10 20분봉(순서는 상관없음) 돌파한봉이 3개이하 일경우
청산조건 :
매수후 완성봉이 음봉나올때 나 수익 100틱 손절 100틱
매도후 완성봉이 양봉이 나오면 청산 수익 100틱 손절 100틱
제가 숫자로 지정한것들은 변수로 설정 부탁드립니다
-----------------------
추가적으로 위 시스템이랑 모두 같은 조건에서
전양봉이 몸통으로 5 10 20분봉(순서는 상관없음) 돌파후 양봉시작 을
->
전양봉이 몸통으로 5 ,10,20,60,120 이평선중에 ( 순서는 상관없음) 2개 분봉 돌파
음봉도 반대의 경우로 매매할수있는 시스템식도 추가적으로 부탁드려요
총2개 부탁드려요
요청이 많아서 죄송 합니다
2020-06-08
2391
글번호 139607
답변완료
문의드립니다.
안녕하세요.
해외선물 거래입니다.
1. 시가와 비교하여 진입 : 시가가 dayopen인것 같은데요. 시가의 기준이 07시가 맞는지요?
- 현재가가 dayopen 보다 높으면 매수만 진입
- 현재가가 dayopen 보다 낮으면 매도만 진입
2. "전일대비"(호가창, 관심종목등에 나오는) 값과 비교하여 진입 : "전일대비"의 값이 시가와 다른 것 같아 문의드립니다.
-"전일대비"의 산출 기준이 무엇인지요?
-"전일대비" 값 산출하는 방법 부탁드립니다.
3. 2.의 전일대비와 비교하여 진입
- 전일대비 보다 높으면 매수만 진입
- 전일대비 보다 낮으면 매도만 진입
4. 당일 거래 내역 중 손실청산된 거래는 진입하지 않도록 적용
- 매수진입 후 손실청산시 이후에는 매도만 진입
- 매도진입 후 손실청산시 이후에는 매수만 진입
** 당일이 기준을 어떻게 정하는 것이 맞을지 설명과 수식 부탁드립니다.(24시~06시까지 시간)
5. 진입시간 안에서만 진입 : 새벽시간이 있어서 잘 구현이 되지 않네요.
- 매일 시작시간 ~ 종료시간을 Input으로 적용
- ex) 18시~새벽2시까지, 08시~23시까지
2020-06-08
2053
글번호 139606
답변완료
신호검색 문의드려요~
안녕하세요~
영웅문 수식 예스 랭귀지로 변환 요청드리려고 합니다.
1. 영웅문 → 예스 랭귀지
○ 조건
기간1 : 5
기간2 : 10
p : 20
○ 수식
M=ma(c,20);
상단선=TXaverage(c,기간1);
중심선=TXaverage(c,기간2);
이격값=상단선-중심선;
하단선=중심선-이격값;
A1=Valuewhen(1,Crossup(상단선,중심선) or Crossdown(상단선,중심선),중심선);
A2=Valuewhen(2,Crossup(상단선,중심선) or Crossdown(상단선,중심선),중심선);
Crossdown(A1,M) &&
(A2-A1)/A2*100>p
2. 1번 수식을 주봉으로 표현 요청드립니다.
5201.종목검색 > 기준봉 변경만으로도 동일한 수식으로 가능한지 여쭙습니다.
바쁘시겠지만 잘 부탁드립니다^^
항상 감사합니다.
2020-06-07
2168
글번호 139605
답변완료
문의합니다.
매수:
무포지션에서
30 이평선기준으로 value1 = Disparity(30) 이격도가
이격도 >= 100.4가 되면 매수조건1 = 1 되고
매수조건1 = 1 이 만족된 후 이격도가 감소해서
이격도 >= 100 and 이격도 <= 100.2 사이에
오면 매수조건2 = 1 가 되고 그 이후에
if 매수조건2 == 1 and 양봉이 2개가 연속되면 즉 C>O AND C[1]>O[1]
시장가 매수합니다. 이 때 손절가격= O[1] 로 정의합니다.
이격도가 <100 되면 위의 매수조건1 = 0 ,매수조건2 = 0 이 됩니다.
또 포지션이 청산되어도
위의 매수조건1 = 0 ,매수조건2 = 0 이 됩니다
매수손절 : 손절가격= O[1] 아래로 현재가가 떨어지면 손절합니다.
추적청산 : 수익의 최고가가 60틱 이상되면 최고가 대비 30% 이하로 떨어지지면
청산합니다.
목표 청산 :600틱 이익이 되면 즉시 시장가 청산합니다.
매도도 반대 논리로 수식을 부탁드립니다.
2020-06-08
2022
글번호 139604