커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8147
글번호 230811
답변완료
59885번 질문과 관련하여
보내주신 수식은 잘 사용하고 있습니다.
59885번과 관려하여
이번에는 10분봉은 20일선 상향,하향돌파
5분봉은 10일선 상향,하향돌파
2분봉은 5일선 상향,하향돌파를 동시에 할 경우(3가지 조건이 동시에)
음성신호가 나오는 함수를 부탁드립니다.
2018-11-05
260
글번호 123342
답변완료
거래 횟수 제한
영업일 기준으로 하루에 손실이 한번 발생(손절포함)되면 매수,매도가 발생되지 않는 수식 부탁드립니다.
감사합니다
2018-11-05
228
글번호 123341
답변완료
질문입니다.
안녕하세요.
궁금했는데요
60분, 30분, 5분, 일봉 차트에서
캔들 전봉몸통(시가,종가) 보다 더 큰 장대양봉 몸통(시가<종가) 이 나오면 화살표이나 별표 표시 나오게 할 수 있는 표시를 만들고 싶은데요 이것은 지표인가요? 아니면 강조인가요? 아니면 시스템신호인가요?
어떤 신호 표시 원하느냐면요
전봉 몸통(시가,종가) 보다 더 큰 장대양봉 몸통(시가<종가) 나올 경우 캔들 아래에 화살표이나 별표 나오게 하고 싶고 색깔은 빨간색입니다.
전봉 몸통(시가,종가) 보다 더 큰 장대음봉 몸통(시가>종가) 나올 경우 캔들 위에 화살표이나 별표 나오게 하고 싶고 색깔은 파란색입니다.
이렇게 구현할 수 있는 신호(표식)은 가능한가요?
그리고 분봉, 일봉 둘다 사용할 수 있나요?
이 수식은 지표, 강조, 시스템 중 어떤 문서에 넣어서 작업을 해야 하나요?
=====================최종 부탁====================
밤새 생각해보니까 이렇게 하면 신호 표시가 많이 나올것 같아서요
그러면 몸통이 50틱이면 장대양봉, 장대음봉으로 인정하고 표시 하는 방법 있나요?
나스닥 유로 경우에는 0.25 0.5 이렇게 틱으로 되어 있는데.. 각종목의 틱값을 계산해서 50틱 혹은 40틱 혹은 30틱 이렇게 확인하고 설정하는 수식이 무엇이죠?
그리고 볼린저 밴드 상단에 터치하고 나서 전봉 보다 더 큰 장대음봉 50틱 이상 발생하면 신호 표시 나오고 하고 싶습니다.
다시 최종 정리하자면
1. 볼린저 하단 터치 하고나서(종가가 볼밴 벗어나서) 혹은 비비면서 음봉(시가>종가) 몸통(30틱 이상) 보다 더 큰 장대양봉 몸통이 30 or 40틱 그 이상이면 빨간색 화살표 혹은 별표시가 나오게 하고 싶습니다.
2. 볼린저 상단 터치 하고나서(종가가 볼밴 벗어나서) 혹은 비비면서 양봉(시가<종가) 몸통(30틱 이상) 보다 더 큰 장대음봉 몸통이 30 or 40틱 이상이면 파란색 화살표 혹은 별표시가 나오게 하고 싶습니다.
3. 볼린저 상하단 터치 하지 않는 경우에도, 볼린저 밴드 제외한 캔들 몸통으로만(틱수) 판단해서 긴 장대양봉이면 빨간색 화살표 혹은 별표 표시, 긴 장대음봉이면 파란색 화살표 혹은 별표 표시 하고 싶습니다.
1,2번 수식과 3번 수식 따로 해주시면 매우 감사합니다.
구현 가능할까요?
많이 도와주고 가르쳐줘서
감사합니다.
2018-11-05
284
글번호 123340
답변완료
수식 부탁드립니다
안녕하세요
분봉에 표시할 일봉의 5, 20, 60일 지수이동평균선을 전일기준으로 하여 작성 부탁드립니다.
게시판에 당일 실시간으로 표시되는 것은 있으나, 전일기준 지수이평은 찾아보아도 없어서 부탁드립니다.
참조데이터 사용하지 않는 방법으로 부탁드립니다. 미리 감사드립니다.
2018-11-04
269
글번호 123339
답변완료
지표식 문의드립니다.
매번 성실한 답변에 감사드립니다.
5분봉 240볼린저밴드을 15분봉에서 구현하는 지표식
(커뮤니티의 분봉 타주기 지표식을 참조하였으나 상향 타주기는 오류가 나는것 같아서 문의드립니다).
5분봉 480이평선을 15분봉에서 구현 지표식을 부탁드립니다.
감사합니다.
2018-11-04
257
글번호 123338
답변완료
문의
A :
Params :
FastKPeriod(100), //FastK 기간
SlowKPeriod(28), //SlowK 기간
SlowDPeriod(13), //SlowD 기간
ShortPeriod(9), //단기
LongPeriod(23), //장기
SignalPeriod(8), //시그널기간
ShortPeriod2(9), //단기
LongPeriod2(23), //장기
SignalPeriod2(8), //시그널기간
_MaType_(2); //2은 가중
Vars:
v1(0),
v2(0),
V3(0),
V4(0),
V5(0),
V6(0);
v1 = StochasticsSlowK(FastKPeriod, SlowKPeriod, _MaType_);
v2 = EAvg(v1, SlowKPeriod);
V3 = MACD(Close, ShortPeriod, LongPeriod, _MaType_) ;
V4 = Eavg(v3, SignalPeriod);
V5 = MACD((High+Low+Close)/3, ShortPeriod2, LongPeriod2, _MaType_) ;
V6 = Eavg(v5, SignalPeriod2);
//1)매수진입
if Crossup(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
Buy();
if Crossup(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossup(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
Buy();
//2)매수청산
if Crossdown(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
ExitLong();
if Crossdown(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossdown(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
ExitLong();
//3)매도진입
if Crossdown(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
Sell();
if Crossdown(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossdown(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
Sell();
//4)매도청산
if Crossup(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
ExitShort();
if Crossup(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossup(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
ExitShort();
B :
Params :
FastKPeriod(100), //FastK 기간
SlowKPeriod(28), //SlowK 기간
SlowDPeriod(13), //SlowD 기간
ShortPeriod(11), //단기
LongPeriod(25), //장기
SignalPeriod(9), //시그널기간
ShortPeriod2(9), //단기
LongPeriod2(23), //장기
SignalPeriod2(8), //시그널기간
_MaType_(2); //2은 가중
Vars:
v1(0),
v2(0),
V3(0),
V4(0),
V5(0),
V6(0);
v1 = StochasticsSlowK(FastKPeriod, SlowKPeriod, _MaType_);
v2 = EAvg(v1, SlowKPeriod);
V3 = MACD(Close, ShortPeriod, LongPeriod, _MaType_) ;
V4 = Eavg(v3, SignalPeriod);
V5 = MACD((High+Low+Close)/3, ShortPeriod2, LongPeriod2, _MaType_) ;
V6 = Eavg(v5, SignalPeriod2);
//1)매수진입
if Crossup(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
Buy();
if Crossup(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossup(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
Buy();
//2)매수청산
if Crossdown(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
ExitLong();
if Crossdown(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossdown(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
ExitLong();
//3)매도진입
if Crossdown(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
Sell();
if Crossdown(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossdown(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
Sell();
//4)매도청산
if Crossup(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
ExitShort();
if Crossup(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossup(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
ExitShort();
C :
Params :
FastKPeriod(100), //FastK 기간
SlowKPeriod(28), //SlowK 기간
SlowDPeriod(13), //SlowD 기간
ShortPeriod(11), //단기
LongPeriod(25), //장기
SignalPeriod(9), //시그널기간
ShortPeriod2(9), //단기
LongPeriod2(23), //장기
SignalPeriod2(8), //시그널기간
ShortPeriod3(7), //단기
LongPeriod3(19), //장기
SignalPeriod3(5), //시그널기간
_MaType_(2); //2은 가중
Vars:
v1(0),
v2(0),
V3(0),
v31(0),
V4(0),
v41(0),
V5(0),
V6(0);
v1 = StochasticsSlowK(FastKPeriod, SlowKPeriod, _MaType_);
v2 = EAvg(v1, SlowKPeriod);
V3 = MACD(Close, ShortPeriod, LongPeriod, _MaType_) ;
V4 = Eavg(v3, SignalPeriod);
V31 = MACD(Close, ShortPeriod3, LongPeriod3, _MaType_) ;
V41 = Eavg(v31, SignalPeriod3);
V5 = MACD((High+Low+Close)/3, ShortPeriod2, LongPeriod2, _MaType_) ;
V6 = Eavg(v5, SignalPeriod2);
//1)매수진입
if Crossup(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
Buy();
if Crossup(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossup(v31, v41) And BarNumber >= LongPeriod3 + SignalPeriod3 And
Crossup(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
Buy();
//2)매수청산
if Crossdown(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
ExitLong();
if Crossdown(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossdown(v31, v41) And BarNumber >= LongPeriod3 + SignalPeriod3 And
Crossdown(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
ExitLong();
//3)매도진입
if Crossdown(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
Sell();
if Crossdown(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossdown(v31, v41) And BarNumber >= LongPeriod3 + SignalPeriod3 And
Crossdown(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
Sell();
//4)매도청산
if Crossup(v1, v2) And BarNumber > FastKPeriod+SlowKPeriod+1 Then
ExitShort();
if Crossup(v3, v4) And BarNumber >= LongPeriod + SignalPeriod And
Crossup(v31, v41) And BarNumber >= LongPeriod3 + SignalPeriod3 And
Crossup(v5, v6) And BarNumber >= LongPeriod2 + SignalPeriod2 Then
ExitShort();
부탁드립니다
2018-11-04
275
글번호 123337
답변완료
수식문의드립니다.
안녕하세요
수식 문의 드립니다.
2분봉 매매시...
- DATA2(30분봉) 설정
30분봉 SMI지표 값이 -40 상승돌파, SMI시그널 -40 이하시 매수 진입
30분봉 SMI지표 값이 40 하락돌파, SMI시그널 40 이상시 매도 진입
날씨가 추워지는데 감기 조심하세요~
2018-11-04
234
글번호 123336
답변완료
진입/이익청산은 봉완성시 ... 손절청산은 조건만족시 즉시 로 작동할수 있게 요청합니다.
제가 현재 사용중인 수식인데요...
진입 및 청산 시점은 설정에서 봉완성후로 설정해서 사용하고 싶습니다.
하지만 그러다보니 청산시점 특히 손절할 포인트가 봉청산시점이라서 상당히 큰 손실을 본적이 있어서요..
그렇다고 진입은 봉완성시로 진입하고 싶거든요...
아래 수식에서
"진입은 봉완성시 작동
청산(익절)도 봉완성시 작동
청산(손절)시 조건 만족시 즉시
로 할수 있게 도와주세요~~~
------------------------------------------------------------------------------------
input : P1(-0.4),P2(0.8),P3(20),P4(0.2),P5(0.4),p6(870),starttime(230000),endtime(150000),P7(1.9),P8(0.5);
input : 손절틱수(54),익절틱수(80);
var : cnt(0),sum(0),sum1(0),mav(0),mav1(0),T(0),mav2(0),mav3(0);
var : sum3(0),Tcond(false);
Condition1 = MarketPosition == 0 and ExitDate(1) == sdate and
(IsExitName("StopLoss",1) or IsExitName("StopProfitTarget",1)) and
TimeToMinutes(stime) <= TimeToMinutes(ExitTime(1))+p6;
#설정
if sdate != sdate[1] then
SetStopEndofday(endtime);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
SetStopEndofday(0);#해제
Condition1 = false;
}
if TotalTrades > TotalTrades[1] and
(IsExitName("StopLoss",1) or IsExitName("StopProfitTarget",1)) Then
Condition1 = true;
if Condition1 == true and BarsSinceExit(1) >= P6 Then
Condition1 = false;
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
if DayClose(P3) > 0 Then
{
sum = 0;
sum1 = 0;
for cnt = 0 to P3-1
{
sum = sum + DayClose(cnt);
sum1 = sum1 + DayClose(cnt+1);
}
mav = sum/P3;
mav1 = sum1/P3;
T = 0;
if mav > mav1 Then
T = 1;
if mav < mav1 Then
T = -1;
if T == 1 Then
mav2=p2 ;
if T == -1 Then
mav2=p5;
if T == 1 Then
mav3=p1 ;
if T == -1 Then
mav3=p4 ;
sum3 = 0;
for cnt = 1 to 20
{
sum3 = sum3 + (DayHigh(cnt)-DayLow(cnt));
}
value1 = sum3/20 ;
If MarketPosition == 0 and C >= (dayopen+value1*mav3) and C<C[1] and Condition1 == false Then
{
Buy("매수");
}
if MaxEntries == 1 and MarketPosition == 1 Then
{
buy("추가매수",atlimit,EntryPrice-P7);
}
If MarketPosition == 0 and C <= (dayopen-value1*mav2) and C>C[1] and Condition1 == false Then
{
sell("매도");
}
if MaxEntries == 1 and MarketPosition == -1 Then
{
Sell("추가매도",atlimit,EntryPrice+P8);
}
}
SetStopLoss(PriceScale*손절틱수,PointStop);
SetStopProfittarget(PriceScale*익절틱수,PointStop);
2018-11-04
293
글번호 123335
답변완료
안녕하세요
반갑습니다.
아래식 지표를 1번과2번을
하나(통합)묶어서 사용 하고자 합니다
가능 하다면 부탁합니다
****1.번식
INPUT : LENGTH(10);
VAR : TCHAN(0), BCHAN(0);
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
PLOT1(TCHAN, "TOPCHAN");
PLOT2(BCHAN, "BOTCHAN");
plot3((TCHAN+BCHAN)/2,"mid");
*****2.번식
INPUT : LENGTH(20);
VAR : TCHAN(0), BCHAN(0);
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
PLOT1(TCHAN, "TOPCHAN");
PLOT2(BCHAN, "BOTCHAN");
plot3((TCHAN+BCHAN)/2,"mid");
감사합니다.
2018-11-04
263
글번호 123334