커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4420
글번호 230811
답변완료
문의
예수금에는 매도 3개가 있는데 스팟식에서 인식을 못하는데요
왜그런지 알려주세요 ?
추가질문입니다.
미완성 신호와 완성신호는 해당봉에서만 유효한건가요 ? 아니면 다음 신호 발생때까지 유효한건가요 ?
2018-08-02
200
글번호 121072
답변완료
58847
안녕하세요.
문의글 58847번의 연장입니다.
알려주신 지표로는 거래시간(20:00 ~ 익일 05:00)이 제대로 표시가 됩니다.
그런데, 막상 시스템 수식에서는 20시가 아닌 자정 이후부터 거래가 시작이 됩니다.
아래는 테스트를 위해서 만든 간단한 시스템 수식입니다. (컴파일 / 실행 가능)
대부분의 진입로직을 제외하고는 거의 알려주신 그대로 적용했습니다.
//--------- 미국 CME 거래소 매매용 ---------//
Inputs: SSTIME(200000), EETIME(050000);
Vars: ST(0), ET(0), Year(0), TimeCond(False);
Vars: MP(0);
Inputs: Exit_L(40);
MP = MarketPosition;
//--------- 써머타임 체크 로직 ---------//
Year = Floor(sDate / 10000);
Var18 = DayofWeek( (10000 * Year) + (100 * 3) + 1 );
If Var18 == 0 Then Value98 = 8;
Else Value98 = 15 - Var18; // 3월 두번째 일요일 날짜
Var20 = DayofWeek( (10000 * Year) + (100 * 11) + 1 );
If Var20 == 0 Then Value99 = 1;
Else Value99 = 8 - Var20; // 11월 첫번째 일요일 날짜
If sDate > (10000 * Year) + (100 * 3) + Value98 And sDate < ( 10000 * Year) + (100 * 11) + Value99 Then
Begin
ST = 070000; // 써머타임 적용 시, 장 시작 시간
ET = 060000; // 써머타임 적용 시, 장 종료 시간
End
Else
Begin
ST = 080000; // 장 시작 시간
ET = 070000; // 장 종료 시간
End;
//--------- 시간과 봉 계산 ---------//
CONDITION1 = ( IntPortion(Time / 10000) > IntPortion(ET / 10000) And IntPortion(Time[1] / 10000) <= IntPortion(ET / 10000) ) Or ST <> ST[1];
//------- 매매 시간대 -------//
If (sDate != sDate[1] and sTime >= SSTIME) or (sDate == sDate[1] and sTime >= SSTIME and sTime[1] < SSTIME) Then
Begin
//MessageLog("SSTIME @TimeLogic = %.f", SSTIME);
TimeCond = True;
End;
If (sDate != sDate[1] and sTime >= EETIME) or (sDate == sDate[1] and sTime >= EETIME and sTime[1] < EETIME) Then
Begin
//MessageLog("EETIME @TimeLogic = %.f", EETIME);
TimeCond = False;
End;
Input : shortPeriod(5), longPeriod(20);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
//--------- 진입 로직 ---------//
If TimeCond Then
Begin
If CrossUp(Value1, Value2) Then Buy();
If CrossDown(Value1, Value2) Then Sell();
End;
//--------- 손절 로직 ---------//
//SetStopLoss(Exit_L * TickSize * CurrentContracts, PointStop);
SetStopLoss(Exit_L * PriceScale , PointStop);
// 장 마감 전 모든 포지션 강제청산
If (MP <> 0) then SetStopEndofday(051430);
2018-08-01
195
글번호 121071
답변완료
문의드립니다
1
Var : cnt_total(0);
Var : Entrycnt(0);
Entrycnt = 0;
for cnt_total = 0 to 100
{ if sdate == EntryDate(cnt_total)
Then Entrycnt = Entrycnt+1;}
input : stime11(90000);
input : stime12(95900);
if MarketPosition == 0
and entrycnt <1
and Time >= stime11
and Time <= stime12
and RSI(10) > 60
Then
buy("매수");
if MarketPosition == 0
and entrycnt <1
and Time >= stime11
and Time <= stime12
and RSI(10) < 40
Then
sell("매도");
SetStopLoss(0.21,PointStop);
SetStopProfittarget( 0.50 ,PointStop);
SetStopTrailing(0.30,0.10,PointStop);
위의 기본식에서
매수
매도
시그널이 나오고
N봉 뒤 진입을 하고 싶습니다
2
1번 기본식에서
매수시그널이 나오면
청산 시그널이 나오기 전까지
봉에 +1 +2 +3 +4.... 이런식으로 번호를 매기고 싶습니다
1번 기본식에서
매도시그널이 나오면
청산 시그널이 나오기 전까지
봉에 -1 -2 -3 -4.... 이런식으로 번호를 매기고 싶습니다
2018-08-01
176
글번호 121070
답변완료
지표 수식 문의드립니다
안녕하세요.
var1 = ma(c,5);
var2 = ma(c,10);
var3 = ma(c,15);
var4 = ma(c,20);
var5 = ma(c,25);
var6 = ((var1-lowest(var1,20))/(highest(var1,20)-lowest(var1,20)));
var7 = ((var2-lowest(var2,20))/(highest(var2,20)-lowest(var2,20)));
var8 = ((var3-lowest(var3,20))/(highest(var3,20)-lowest(var3,20)));
var9 = ((var4-lowest(var4,20))/(highest(var4,20)-lowest(var4,20)));
var10 = ((var5-lowest(var5,20))/(highest(var5,20)-lowest(var5,20)));
var11 = (var6+var7+var8+var9+var10)/5;
* 구하는 수식은 위수식을 기본수식으로, 아래함수에 나오는 x값을 지표로 만들고자 합니다.
아래수식은 설명을 위한 별개의 함수로, 아래수식을 참고용으로 대신 하겠습니다.
* 예를들면 var11의 값이 0.5555 이고 종가가 100 이면,
var11+0.0001 인 0.5556 일때의 x값(종가)을 구하고자 합니다.
* var6에서 var11 까지의 값은 모두 최대값 1, 최소값 0 입니다.
var11의 값이 1 보다 작을 때는 var11+0.0001을,
var11의 값이 1 일때만 var11-0.0001을 적용합니다.
var21 = (c에서c[3]+ x값)/5;
var22 = (c에서c[8]+ x값)/10;
var23 = (c에서c[13]+ x값)/15;
var24 = (c에서c[18]+ x값)/20;
var25 = (c에서c[23]+ x값)/25;
var26 = ((var21-lowest(var21,20))/(highest(var21,20)-lowest(var21,20)));
var27 = ((var22-lowest(var22,20))/(highest(var22,20)-lowest(var22,20)));
var28 = ((var23-lowest(var23,20))/(highest(var23,20)-lowest(var23,20)));
var29 = ((var24-lowest(var24,20))/(highest(var24,20)-lowest(var24,20)));
var30 = ((var25-lowest(var25,20))/(highest(var25,20)-lowest(var25,20)));
var31 = (var26+var27+var28+var29+var30)/5;
(예) var11 = 0.5555 이면, var31 = 0.5556의 수식을 만족하는 x값,
var11 = 1.0000 이면, var31 = 0.9999의 수식을 만족하는 x값을
선으로 그리고자 합니다.
* 무더운 여름 잘 보내시고, 항상 좋은 하루가 되었으면 합니다.
2018-08-01
211
글번호 121068
회원 님에 의해서 삭제되었습니다.
2018-08-01
24
글번호 121067
답변완료
문의드립니다
안녕하세요...문의내용은 MACD보조지표에 MACD라인과 MACD시그널라인 을
기본차트(데이터1)에서도 사용할수있나요.
가능하다면글번호48820 에 추가해주시면 감사하겠읍니다.
1.MACD 라인
2.MACD 시그널라인
수고하세요..꾸벅
2018-08-01
149
글번호 121063
답변완료
지표가 안그려지네요
VAR2의 지표를 그려가고 싶은데 안그려지네요.
어디가 잘못되었는지 수정해주셔요.
Input:Pd1(60);
Vars:HB(0),LB(0);
HB=Highest(high,Pd1);
LB=Lowest(Low,Pd1);
If LB>LB[1] Then
Var1=1;
If LB=LB[1] Then
Var1=0;
If LB<LB[1] Then
Var1=-1;
Var2=Var2+VAR1;
PLOT1(Var2);
2018-08-01
132
글번호 121062
fighter 님에 의해서 삭제되었습니다.
2018-08-01
2
글번호 121055
답변완료
문의드립니다.
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
분봉용
-국선,해선 공통
-전일까지 마감한 일봉 3개봉(3일전,2일전,하루전)가운데 양봉갯수,음봉갯수 계산
-둘 중에 양봉이 많을 경우 -> 당일 시가 즉시 매수, 종가 청산
-둘 중에 음봉이 많을 경우 -> 당일 시가 즉시 매도, 종가 청산
2. 시스템
분봉용
-국선,해선 공통
-00시00분 기준 일봉 3개봉(2일전,1일전, 오늘*) 가운데 양봉갯수,음봉갯수 계산
*설정 시간 기준으로 양봉인지 음봉인지 판단
-둘 중에 양봉이 많을 경우 -> 종가매수, 다음날 시가 청산
-둘 중에 음봉이 많을 경우 -> 종가매도, 다음날 시가 청산
3. 시스템
2번을 다음날 종가 청산으로
4. 지표
-틱에서 일봉 볼린저밴드
2018-08-01
156
글번호 121053