커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7445
글번호 230811
답변완료
문의드립니다
이평선 골든크로스 데드크로스 났을때 강세면 빨간선 약세만 파란선 나오게 한건데요
수식좀 부탁드립니다
2015-10-14
160
글번호 91244
mj5217 님에 의해서 삭제되었습니다.
2015-10-14
1
글번호 91238
ysman 님에 의해서 삭제되었습니다.
2015-10-14
6
글번호 91235
답변완료
수식문의드립니다
60분봉 완성봉을 기준으로
아랫꼬리가 캔들 전체길이의 50%가 넘을때 매수진입
윗꼬리가 캔들 전체길이의 50%가 넘을때 매도진입
청산,손절은 진입 이후 60분봉이 완성될때마다
매수진입은 직전캔들의 최저점 1틱 아래
매도진입은 직전캔들의 최고점 1틱 위
부탁드립니다
2015-10-14
113
글번호 91234
답변완료
수식문의드립니다..
1. 진입가에서 20틱떨어지면 청산의 조건에서
10틱이상 떨이진후 진입가 이상올라왔다가 다시 10틱떨어지면 청산,,
예를들어 101.20매수 손절은 100.20이지만
100.60을 찍고 101.10 올라갔다 두번째 101.70에 다으면 손절청산//
이것도 가능 할까요?
2. 손절 틱수를 시스템트레이딩 설정의 변수설정에서 변수값을 변경할수 있나요?>
수고 해주세요^^
2015-10-14
141
글번호 91233
답변완료
수식 부탁드립니다 ^^*
안녕하세요 ~!
연결선물지수에서
9시30분까지의 최고가 최저가에 터치하면 예약주문 하는것중에
최고가에 터치하면 같은방향으로 매수로 0.60포인트에 진입
최저가에 터치하면 반대방향으로 매로로 0.40포인트에 진입 하고
먹는포인트는 0.75포인트
손절은 0.50 포인트
3시에 청산할수 있는 시스템 드립니다 ~!!
감사합니다 ^^*
2015-10-14
125
글번호 91232
yooneee7 님에 의해서 삭제되었습니다.
2015-10-14
1
글번호 91231
답변완료
고점 저점지표식
안녕하세요.
< 어제와 오늘 >의 차트를 포함하여 고점 및 저점을 자동으로 표시하고(선),
고점 저점 변동폭을 기준으로 76.4%, 63.2%, 50%, 36.8%, 23.6% 조정값을 나타내는 지표식
부탁드립니다. 감사합니다.
2015-10-14
157
글번호 91230
답변완료
시스템식 검토 부탁드립니다.
안녕하세요
다음과 같은 시스템식에서 그림1)과 그림2) 처럼 진입횟수를 2로 했을 경우
첫번째 진입시 각각의 매수타점에서의 신호는 제대로 나오는데
두번째 진입시 1차매수타점의 신호가 그림에서 보는바와 같이 예정된 매수타점보다 높은
위치에서 신호가 잡히네요.
단 두번째 진입시 2차매수타점의 신호는 제대로 잡힙니다.
두번째 진입시 잘못된 1차매수타점의 위치를 검토 부탁드립니다.
또한 44436번글 아직 검토 안하셨다면 다시한번 부탁드립니다.
------------------------------------------------------------------------------------
input : 전략식시작일자(20151012), 전략식시작시간(090000), 전략총매수금액(100)
input : 매수위치1차(1), 매수위치2차(2), 매수위치3차(3);
input : 매도위치1차(1.5), 매도위치2차(2), 매도위치3차(2.5);
input : 매수비중1차(20), 매수비중2차(30), 매수비중3차(50);
input : 매도비중1차(20), 매도비중2차(30), 매도비중3차(50);
input : 전략식진입횟수(1);
input : 최종손절위치(4);
input : Period(384);
var : CL(0),V0.5(0),V1(0),V2(0),V3(0);
var : mid(0),V4(0),V5(0),V6(0),V7(0);
var : diff(0),TF(0),cnt(0),value(0);
var : entrycond1(false),entrycond2(false),entrycond3(false);
Array : HH[400](0),LL[499](0);
TF = TimeToMinutes(stime)%15;
if date != date[1] or (date == date and TF < TF[1]) Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 399{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
if HH[Period] > 0 Then{
var1 = HH[0];
var2 = LL[0];
var11 = HH[1];
var12 = LL[1];
for cnt = 0 to Period-1{
if HH[cnt] > var1 Then
var1 = HH[cnt];
if HH[cnt+1] > var11 Then
var11 = HH[cnt+1];
if LL[cnt] < var2 Then
var2 = LL[cnt];
if LL[cnt+1] < var21 Then
var21 = LL[cnt+1];
}
if var11 < var1 Then
CL = (var1+var2)/2;
V0.5 = var1-((var1-CL)/5)*1;
V1 = var1-((var1-CL)/5)*2; ## 1매수타점
V2 = var1-((var1-CL)/5)*3; ## 2매수타점
V3 = var1-((var1-CL)/5)*4; ## 3매수타점
mid = (var1+var2)/2;
V4 = var1-((var1-CL)/5)*5;
V5 = var1-((var1-CL)/5)*6;
V6 = var1-((var1-CL)/5)*7;
V7 = var1-((var1-CL)/5)*8;
value = abs(var1-V0.5);
if sdate >= 전략식시작일자 and TotalTrades < 전략식진입횟수 then{
if MarketPosition == 0 and stime >= 전략식시작시간 and
((stime < 120000 and O > C[1]*0.985) or (stime >= 120000 and C > V2)) Then{
if NextBarOpen > var1-value*(매수위치1차+1) and EntryCond1 == false Then
buy("1차매수",atlimit,var1-value*(매수위치1차+1),Floor((전략총매수금액*10000*(매수비중1차/100))/C));
Else
buy("1차매수.",AtMarket,def,Floor((전략총매수금액*10000*(매수비중1차/100))/C));
}
if MarketPosition == 1 then{
diff = abs(var1[BarsSinceEntry]-V0.5[BarsSinceEntry]);
if MaxEntries == 1 and L >= var1-value*(매수위치2차+1) and EntryCond2 == false Then
buy("2차매수",atlimit,var1-value*(매수위치2차+1),Floor((전략총매수금액*10000*(매수비중2차/100))/C));
if MaxEntries == 2 and L >= var1-value*(매수위치3차+1) and EntryCond3 == false Then
buy("3차매수",atlimit,var1-value*(매수위치3차+1),Floor((전략총매수금액*10000*(매수비중3차/100))/C));
if LatestExitName(0) == "1차매도" Then
Condition1 = true;
if LatestExitName(0) == "2차매도" Then
Condition2 = true;
if LatestExitName(0) == "3차매도" Then
Condition3 = true;
if Condition1 == false then
exitlong("1차매도",atlimit,lowest(L,BarsSinceEntry)+diff*매도위치1차,"",Floor(MaxContracts*(매도비중1차/100)),1);
if Condition2 == false then
exitlong("2차매도",atlimit,lowest(L,BarsSinceEntry)+diff*매도위치2차,"",Floor(MaxContracts*(매도비중2차/100)),1);
if Condition3 == false then
exitlong("3차매도",atlimit,lowest(L,BarsSinceEntry)+diff*매도위치3차);
exitlong("최종손절",AtStop,var1-value*(최종손절위치+1));
}
Else{
Condition1 = false;
Condition2 = false;
Condition3 = false;
}
}
}
if MarketPosition == 1 and (LatestEntryName(0) == "1차매수" or LatestEntryName(0) == "1차매수.") Then
entrycond1 = true;
if MarketPosition == 1 and LatestEntryName(0) == "2차매수" Then
entrycond2 = true;
if MarketPosition == 1 and LatestEntryName(0) == "3차매수" Then
entrycond3 = true;
if MarketPosition == 0 Then{
entrycond1 = false;
entrycond2 = false;
entrycond3 = false;
}
2015-10-14
176
글번호 91227