커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7717
글번호 230811
답변완료
시스템식 해석 좀 부탁드립니다.
하이투자증권 시스템 교육가서 교재에 나온 "변동성 채널돌파" 예제 입니다.
1. 해석 좀 부탁드립니다.
Input:value(2.7),p1(36),p2(28),p3(5),stopPer(1);######2004폐기
Var: chUp(0), chDn(0),slowK(0),slowD(0), Bap(0);
setstoploss(StopPer);
chUp=dayOpen()+(DayHigh(1)-DayLow(1))/Value;
chDn=dayOpen()-(DayHigh(1)-DayLow(1))/Value;
slowK=StochasticsK(p1,p2);
slowD=StochasticsD(p1,p2,p3);
bap=(daylow()+dayhigh())/2;
if CrossUp(slowK,slowD)then {var1=C;var5=1;}
if CrossDown(slowK,slowD)then {var2=C;var6=1;}
#buy/Sell
if dayindex()==0 then {if H >=chUP Then Buy(); if L <=ChDn then sell(); var5=0; var6=0;}
if C > (chUP+ChDn)/2 and accumN(iff(H>=ChUP,1,0),dayindex()+1)==0 and stime<143000 then buy ("Buy",AtStop,ChUP);
if C < (chUP+ChDn)/2 and accumN(iff(L<=ChUP,1,0),dayindex()+1)==0 && stime<143000 then buy ("Sell",AtStop,ChDn);
#ExitLong
if slowK<slowD and stime>=100000 and var6==1 then exitlong("EL1",AtStop,var2-0.01);
if stime<= 100000 and MarketPosition(0)==1 Then ExitLong("El2",atstop,L[dayindex()]);
if stime<= 100000 and MarketPosition(0)==1 Then {ExitLong("El3",atstop,(dayopen()+(Chup))/2);exitlong("El4",AtStop,bap);}
if stime==145000 then ExitLong("El5");
//ExitShort
if slowK<slowD and stime>=100000 and var5==1 Then ExitShort("ES1", AtStop,var1+0.01);
if stime <= 100000 and MarketPosition(0)==-1 then ExitShort("ES2", AtStop,H[dayindex()]);
if stime >= 100000 and MarketPosition(0)==-1 Then {exitshort("ES3",AtStop,(DayOpen()+(ChDn))/2);
ExitShort("ES4", AtStop,baP);}
if stime==145000 then ExitShort("ES5");
//만기일 청산
if (date==20050310 || date==20050609 || date==20050908 || date==20051208 || date==20060309 || date==20060608
|| date==20060914 || date==20061214 || date==20070308 || date==20070614 || date==20070913 || date==20071213
|| date==20080313 || date==20080612 || date==20080911 || date==20081211 || date==20090312 || date==20090611
|| date==20090910 || date==20091210 || date==20091210 || date==20100311 || date==20100610 || date==20100610
|| date==20100909 || date==20101209 || date==20110310 || date==20110609) then setstopendofday(1449);
Else SetStopEndofday(1504);
2. 위 식을 지표로도 변환 좀 부탁드리겠습니다.
늘 감사합니다.
2011-06-08
731
글번호 39517
답변완료
수식 부탁드립니다.
- 선물 거래
- 시가 대비 0.5P 하락시 매수
- 손절 0.5P
- 종가 청산
2011-06-08
690
글번호 39515
답변완료
조건식 부탁드립니다.
항상 감사합니다.
고려사항
1. 구고저간격보다 신고저간격이 클경우 신고점 스탑buy, 신저점 스탑sell 진입이후
2. 조건청산시(즉 진입이후 신고저 간격이 클경우 반대조건에 익절, 손절) 진입이후 새로운 고저점에 의해 청산(진입 반대조건)
3. 위와 같이 고저고 3점은 새로운 저점 출현시 저고저 3점 으로 변하므로 이 점들간 간격을 연속적으로 비교하여 진입과 청산이 이루어지는 식을 말합니다.
2011-06-08
637
글번호 39514
답변완료
수식 문의 부탁 드립니다.
하루총 손실 3포인트시 그날 거래 중단 수식 문의 부탁드립니다.
2011-06-08
671
글번호 39513
답변완료
set 3형제
안녕하세요?
1.) SetStopLoss, SetStopTrailing, SetStopProfit 함수들을 진입명에 따라 각각 다르게 세팅하고 싶은데, 가능할런지요?
즉, buy("매수1")이나 sell("매도1")로 진입했을 경우 SetStopTrailing(a1, b1);
buy("매수2")나 sell("매도2")로 진입했을 경우 SetStopTrailing(a2, b2);
가 가능할까요?
또는, 좀 더 광범위하게,
buy("매수1")이나 sell("매도1")로 진입했을 경우 {청산식들1}로 청산,
청산식1은 SetStopTrailing(a1, b1); 을 포함해서, 여러 수식들로 구성.
buy("매수2")이나 sell("매도2")로 진입했을 경우 {청산식들2}로 청산,
청산식2는 SetStopTrailing(a2, b2); 를 포함해서, 여러 수식들로 구성.
...
이런 식이 가능합니까?
2.) 갭보정의 정확한 뜻을 잘 모르겠습니다. 하지만, 뭔가 갭이 왕창 떳을 때, 지표를 조정해주는 것으로 느끼고 있습니다. 이부분 간단한 설명이 가능하면 좋겠구요, 제가 원하는 식은 아래와 같습니다.
제가 선물을 기반으로 ab 라는 지표식을 만들었다고 가정합니다. 이 때,
2-1) 선물의 어제 종가와 오늘 시가의 차이가 1 포인트 이하면 갭보정을 안합니다.
2-2) 선물의 어제 종가와 오늘 시가의 차이가 1 ~ 2 포인트면 클래식한 갭보정의 1/3 배만 갭보정을 합니다.
2-3) 선물의 어제 종가와 오늘 시가의 차이가 2포인트 이상이면 클래식한 갭보정의 2/3 배 만큼만 갭보정을 합니다.
이런 걸 어떻게 구현하나요?
참, 갭보정이란 것을 할 때, 혹시, 지표를 만드는데 들어가는 주차트와 보조차트들도 뭔가 조정되는 건가요? 가급적이면 그들은 가만히 있고, 그것들로 만든 ab라는 지표만 갭보정되면 좋겠습니다.
늘, 감사드립니다.
2011-06-08
659
글번호 39512
답변완료
지표만 갭보정 처리된 세븐바이너리MACD와 OSC
안녕하세요.
지난번
세븐 바이너리 웨이브 오실레이터의 수식을 의뢰하였고
답변주신대로 잘 쓰고 있습니다.
여기서 하나더,
분봉은 갭보정을 하지 않고
지표만 갭보정한
-세븐바이너리웨이브
-세븐바이너리웨이브MACD
-세븐바이너리웨이브오실레이터의 수식을 얻고 싶습니다.
참고로 일전에 주신 세븐바이너리osc를 올려드립니다.
===============================================
안녕하세요
예스스탁입니다.
죄송합니다. 오실레이터를 추가했습니다.
Input: shortPeriod(12), longPeriod(26), Period(9), maPeriod(20), ROCPeriod(12), stoPeriod1(5),
stoPeriod2(3), CCIPeriod(9);
input: P1(12),P2(26),P3(9);
var: value(0),BW_SEVEN(0);
//문장1 : MACD가 MACD 시그널선 보다 큼
if ema(C,shortPeriod)-ema(C,longPeriod) >= ema(ema(C,shortPeriod)-ema(C,longPeriod),Period) then
value = 1;
else
value = -1;
//문장2 : 종가가 이동평균선보다 큼
if C >= ma(C, maPeriod) then
value = value + 1;
else
value = value - 1;
//문장3 : Price ROC가 0선보다 큼
if (C - C[ROCPeriod]) / C[ROCPeriod] * 100 >= 0 then
value = value + 1;
else
value = value - 1;
//문장4 : StochasticsK선이 50선 보다 큼
if ema((C-lowest(L, stoPeriod1)) / (highest(H, stoPeriod1) - lowest(L, stoPeriod1)) * 100, stoPeriod2)>=50 then
value = value + 1;
else
value = value - 1;
//CCI가 0선 보다 큼
if CCI(CCIPeriod) > 0 then
value = value + 1;
else
value = value - 1;
//CO가 0선 보다 큼
if ema(accum(((C -L)-(H- C))/ (H-L)*V), 3) - ema(accum(((C -L)-(H- C))/(H-L)*V), 10) >=0 then
value = value + 1;
else
value = value - 1;
//문장7 : 종가가 파라볼릭보다 큼
if SAR(0.02,0.2) < C then
value = value + 1;
else
value = value - 1;
BW_SEVEN = value;
var1 = ema(BW_SEVEN,P1)- ema(BW_SEVEN,P2);
var2 = ema(var1,P3);
var3 = var1-var2;
Plot1(BW_SEVEN,"세븐 바이너리웨이브");
plot2(var1,"세븐 바이너리웨이브 MACD");
plot3(var2,"세븐 바이너리웨이브 MACD signal");
plot4(var3,"세븐 바이너리웨이브 MACD Osc");
PlotBaseLine1(0,"기준선0");
2011-06-08
681
글번호 39511
답변완료
수식문의
안녕하세요
다음과 같이 문의 드립니다.
선물 10분차트에서 하루에 나는 매수/도신호수가 모두 합하여 총 4개로 제한하고자 합니다..
도와 주세요..
예)
# 매수/매도청산
If C>O[1] && C>O && C[1]<>O[1] && (C-0.25)>=O
Then
{
Buy();
}
# 매도/매수청산
If C<O[1] && C<O && C[1]<>O[1] && (O-0.25)>=C
Then
{
Sell();
}
2011-06-08
612
글번호 39510
doosung 님에 의해서 삭제되었습니다.
2011-06-08
0
글번호 39509
doosung 님에 의해서 삭제되었습니다.
2011-06-08
0
글번호 39508