커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3581
글번호 230811
답변완료
부탁드립니다.
시스템 수식 수정 부탁드립니다.
아래 수식에서 변수로 설정 부탁드립니다.
1.총누적 수익이 100point 이면 당일매매 종료
2.총누적 손실이 80point 이면 당일매매 종료
3.연속수익 3회 되면 당일매매 종료
4.연속손실 2회 되면 당일매매 종료
# 봉완성시 익절
input : StartTime(233500),EndTime(020000),진입횟수(6),익절(50),손절(50);
Input: FastLen(8), MedLen(25), SlowLen(50);
var : Tcond(false),entry(0);
Var : FastAvg(0), MedAvg(0), SlowAvg(0);
if EndTime > StartTime Then
{
SetStopEndofday(Endtime);
}
Else
{
if sdate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
entry = 0;
if EndTime <= StartTime Then
SetStopEndofday(0);
}
FastAvg = MA(Close, FastLen);
MedAvg = MA(Close, MedLen);
SlowAvg = MA(Close, SlowLen);
if Tcond == true Then
{
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if entry < 진입횟수 Then
{
If (FastAvg[1] < MedAvg[1] OR MedAvg[1] < SlowAvg[1]) AND (FastAvg > MedAvg AND MedAvg > SlowAvg) Then
Buy ("MAC3_LE");
If (FastAvg[1] > MedAvg[1] OR MedAvg[1] > SlowAvg[1]) AND (FastAvg < MedAvg AND MedAvg < SlowAvg) Then
Sell ("MAC3_SE");
}
}
SetStopProfittarget(익절,PointStop);
SetStopLoss(손절,PointStop);
2020-12-02
626
글번호 144338
새론시작 님에 의해서 삭제되었습니다.
2020-12-01
7
글번호 144337
답변완료
문의 드립니다.
안녕하세요
아래는 추세선 수식인데요...
추세선을 캔들이 완성봉으로 돌파할때 신호가 나오게 하고 싶습니다.
고점연결선을 캔들이 상방으로 돌파할때는 매수신호
저점연결선을 캔들이 하방으로 돌파할때는 매도신호를 나오게 하고 싶습니다.
도움좀 부탁드립니다.
Input : length(10),종가사용여부(0),수치표시(1),표시(0);
input : 추세두께(0),추세상승색(red),추세하락색(blue);
input : 고점연결두께(3),고점연결색상(LGREEN);
input : 저점연결두께(3),저점연결색상(MAGENTA);
Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),
TL1(0),Text1(0),TL11(0),TL12(0);
Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
#==========================================#
HH = IFF(종가사용여부==1,C,H);
LL = IFF(종가사용여부==1,C,L);
If Index == 0 Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Condition1 = Highest(HH,length) == HH and 최종고가 <> HH;
Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
TL_SetSize(TL1,추세두께);
TL_SetColor(TL1,추세상승색);
if 저[1,1] > 저[2,1] Then
{
if 표시 == 0 Then
TL_Delete(TL11);
TL11 = TL_New(저[2,3],저[2,4],저[2,1],저[1,3],저[1,4],저[1,1]);
TL_SetExtRight(TL11,true);
TL_SetColor(TL11,저점연결색상);
TL_SetSize(TL11,저점연결두께);
}
If 수치표시 == 1 Then
{
Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)+NewLine+"+"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱");
Text_SetStyle(Text1, 2, 1);
}
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
If 수치표시 == 1 Then
{
Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]);
Text_SetString(Text1,NumToStr(고[1,1],2)+NewLine+"+"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱");
}
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
TL_SetSize(TL1,추세두께);
TL_SetColor(TL1,추세하락색);
if 고[1,1] < 고[2,1] Then
{
if 표시 == 0 Then
TL_Delete(TL12);
TL12 = TL_New(고[2,3],고[2,4],고[2,1],고[1,3],고[1,4],고[1,1]);
TL_SetExtRight(TL12,true);
TL_SetColor(TL12,고점연결색상);
TL_SetSize(TL12,고점연결두께);
}
If 수치표시 == 1 Then
{
Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)+NewLine+"-"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱");
Text_SetStyle(Text1, 2, 0);
}
}
Else If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
If 수치표시 == 1 Then
{
Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]);
Text_SetString(Text1,NumToStr(저[1,1],2)+NewLine+"-"+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+"틱");
}
}
최종꼭지점 = "저점";
}
2020-12-01
613
글번호 144336
답변완료
항셍 종가청산 문의
안녕하세요,항셍 선물 실거래 중인데요
항셍선물 거래시간을 보면
10 : 15분부터 13:00까지
14:00 ~ 15 : 30까지
18:00 15분 ~ 04:00
총 세번에 걸쳐 진행되는데요
종가 각 시간별로 동시호가 진입 직전에 자동으로 청산하려면 어떻게 수식을 짜야 할까요?
IF MarketPosition <> 0 TheN BegiN
IF sTimE > 171500 AND sTimE < 171900 TheN SetStopEndofday(171800);
IF sTimE > 034500 AND sTimE < 034900 TheN SetStopEndofday(034800);
ElsE SetStopEndofday(0);
EnD;
제가 짠 수식은 이런데 적용이 안되는것 같습니다 ^^;;
2020-12-01
677
글번호 144335
답변완료
문의
1.
setstoploss 로 강제청산한 경우
- 고점을 3회차 갱신하면 buy
- 고점에서 1.00포인트 하락하면 buy
2.
청산명 "b"로 exitlong 한 경우
- 청산이후 발생한 7개봉 중 양봉수 > 음봉수 이면 buy
- 청산이후 연속으로 양봉 3개 발생하면 buy
수식 부탁드립니다.
2020-12-01
757
글번호 144328
답변완료
당일 분봉차트에서 저가 고가
데이트레이딩용으로 매일 첫봉 ~~~ 30번째 봉까지의 최저가를 종가가crossdown 하면 매도 하는식은 어떻게 되나요
2020-12-01
764
글번호 144327
답변완료
지표
항상감사합니다
수식문의
var10 = Day****(0)+(DayOpen(0)-Dayhigh(1))-(Day-----(0)--------(0));
Plot10(var10);
위식에서
시가가고가보다낮아서 진동폭이(-)마이너스가 나올때 부호상관없이 진동폭을 더하려면
어찌해야 하는지요?
2020-12-01
514
글번호 144323
답변완료
수식 문의드립니다.
안녕하세요.
하기 전략1 전략2 에
매수청산 스크립트 추가 부탁합니다.
즉, price channel(불린저밴드) 상단에 현재가 캔들이 터치하거나 돌파시 즉시 청산 (봉 완성후 아님).
그리고 시간 설정도 부탁드립니다.
오후 14시 40분 에 1차 시작하고, 오후 17시에 모든 포지션 청산 및 1차 종료하고,
다시 오후 18시 18분에 시작하여, 저녁 21시에 모든 포지션 청산 및 종료.
1
INPUT : LENGTH(10);
VAR : upv(0), dnv(0);
upv = HIGHEST(HIGH, LENGTH);
dnv = LOWEST(LOW, LENGTH);
if MarketPosition <= 0 and L > dnv Then
Buy("b",AtLimit,dnv);
2
INPUT : P(20),dv(2);
VAR : upv(0), dnv(0);
upv = BollBandUp(P,dv);
dnv = BollBandDown(P,dv);
if MarketPosition <= 0 and L > dnv Then
Buy("b",AtLimit,dnv);
2020-12-01
609
글번호 144315
답변완료
수식부탁드립니다
안녕하세요
수식좀 문의 드립니다~~~
1.매수진입:MFI(기간,시그널),RSI(기간,시그널),CCI(기간,시그널)동시에 골든크로스일때
매수청산: CCI(기간,시그널)이 데드크로스일때 매수청산
1.매도진입:MFI(기간,시그널),RSI(기간,시그널),CCI(기간,시그널)동시에 데드크로스일때
매도청산: MFI(기간,시그널)이 골든크로스일때 매도청산
*진입후 손익틱수를 10틱단위로 봉챠트에 문자로 표시되는식을 수식에 넣어주시면 감사하겠습니다
2020-12-01
647
글번호 144314