커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6361
글번호 230811
답변완료
수식문의 드립니다
선물 일봉 매매 로직입니다.
전일 종가가 전일 20일이동평균선 위에 있고 코스피200-선물지수 > +0.5 이면
당일 시가 매수, 당일 종가 청산 (손절 1포인트)
전일 종가가 전일 20일이동평균선 아래에 있고 코스피200-선물지수 < -0.5 이면
당일 시가 매수, 당일 종가 청산 (손절 1포인트)
미리 감사드립니다. ^^
2016-11-21
115
글번호 104200
답변완료
문의드립니다.
위그림처럼 제가 고점과 저점을 입력하면 저렇게 라인이 자동계산되서 목표치하고 보이게 만들고 싶습니다. 0.65란 65%를 말하는것입니다.
2016-11-21
217
글번호 104197
답변완료
문의드립니다
안녕하세요
아래 지표식을 매매식으로 전환 부탁드립니다.
지표식
======================================================
Input : af(0.05), maxAF(0.5);
Var : value(0);
value = sar(af,maxAF);
If crossup(c, value) Then
{
var1 = H;
var2 = L;
var3 = var1[1];
var4 = var2[1];
}
If CrossDown(c, value) Then
{
var1 = H;
var2 = L;
var3 = var1[1];
var4 = var2[1];
}
if H > var1 Then
var1 = H;
if L < var2 Then
var2 = L;
##직전고저점
if crossUp(C, value) then
var5 = var4;
if CrossDown(C, value) then
var6 = var3;
##직고저점 이평up/Down
if ma(c,5) > var6 Then
var7 = var5;
if ma(c,5) < var5 Then
var7 = var6;
##5ma 돌파이탈
if ma(c,5)>var7 then
var8= 1;
if ma(c,5)<var7 then
var8= -1;
plot1(var8,"양음");
PlotBaseLine1(0);
==========================================================
매수/청산
=========
매수 : var8 = 1 일경우 파라볼릭이 매도신호가 발생한적이 있다
그러면
5ma > var6 일때 매수
청산 : 5ma < var7 일때 청산
매도/청산
=========
매도 : var8 = -1 일경우 파라볼릭이 매수신호가 발생한적이 있다
그러면
5ma < var5 일때 매도
청산 : 5ma > var7 일때 청산
감사합니다.
2016-11-21
126
글번호 104196
답변완료
수식문의 드립니다
안녕하세요
수식문의 드립니다
분봉지표로 (당일중심값+전일중심값+전전일중심값)/3 을
var : HH(0),LL(0),RR(0);
HH = dayhigh;
LL = daylow;
RR = (((HH + LL)/2)+((HH[1]+LL[1])/2)+((HH[2]+LL[2])/2))/3;
plot1(RR);
이렇게 했는데 이상하게 표시가 되는데 잘못된건가요?
Var1 = ma(m,30)[1];
Var2 = ma(C,5);
Var3 = (((H + L)/2)+((H[1]+L[1])/2)+((H[2]+L[2])/2))/3;
if Var1 >= 3000000000 and Var2 < Var2[1]
and Var3 < Var3[1] and Var3[1] < Var3[2] and Var3[2] < Var3[3] and Var3*1.03 >= C and Var3 <= C
and countif(H>=L*1.1,30) >= 1 Then
value1 = 1;
Else
value1 = 0;
if countif(value1 == 1,200) >=1 Then
find(1);
이것도 이상이 없는거죠?
항상 감사합니다
2016-11-21
140
글번호 104193
knb 님에 의해서 삭제되었습니다.
2016-11-21
92
글번호 104187
답변완료
틱 데이타를 늘릴 수 있을까요?
안녕하세요.
항상 수고가 많으십니다.
---- 질문입니다 -----------------------------------------------------
해외 선물에서 틱데이타를 이용하려는데 데이타 수가 너무 부족합니다.
현대 선물을 이용중인데, 틱으로 시스템을 적용하려고 보니 틱 데이타가 4~5일 정도만
제공되더군요.
틱 데이타를 늘릴 수 있는 방법이 있는지 궁금합니다.
감사합니다.
항상 하시는 일에 좋은 결실 거두시기를 ~~
2016-11-21
133
글번호 104186
답변완료
질문 드립니다.
if MarketPosition == 1 Then{
var1 = int((highest(h,BarsSinceEntry)-EntryPrice)/(PriceScale*12));
var2 = var1*(PriceScale*12);₩
if var1 == 0 Then
exitlong("bx1",AtStop,EntryPrice-(PriceScale*11));
if var1 >= 1 Then
exitlong("bx2",AtStop,EntryPrice+var2-(PriceScale*11));
}
if MarketPosition == -1 Then{
var3 = int((EntryPrice-lowest(l,BarsSinceEntry))/(PriceScale*12));
var4 = var3*(PriceScale*12);
if Var3 == 0 Then
ExitShort("sx1",AtStop,EntryPrice+(PriceScale*11));
if Var3 >= 1 Then
ExitShort("sx2",AtStop,EntryPrice-var4+(PriceScale*11));
}
상위 식은 예전에 여쭤 봤었던,
1. 진입 후 0.55 손절
2 손절 되지 않고 0.6 익절 시 그 시점에서 손절 0.55
3. 2번 계속 반복.
에 대한 식입니다.
그런데 제대로 작동하지 않는 점을 발견하여 질문 드립니다.
첫번째 스마일에 보시면, 진입가 250.50 으로 부터
0.6 익절을 두 번 된 시점인 249.30 까지 도달하였습니다.
그리하여 249.30에서 0.55 상승한 249.85에 매도청산이 이루어 져야 하나,
작동 하지 않습니다.
식이 무엇인가 잘못 된 것일까요?
감사합니다.
2016-11-21
137
글번호 104185
새로운돌 님에 의해서 삭제되었습니다.
2016-11-21
0
글번호 104184
답변완료
수식 부탁 드립니다.
안녕하세요.
연결선물 당일청산 피라미딩 아래 수식에서 목표 청산 후 재진입이 안되네요.
차트에 적용 수식 점검 수정 부탁 드립니다.
input : N(1),PN(2),당일손실(1.0);
var : cnt(0),BCount(0),SCount(0);
var : NP(0),PreNP(0),DayPL(0),lossK(0),v1(0);
var : Bxcond(false),SxCond(false);
var : Xcond(false),ProfitCond(false);
var : BE2(false),BE3(false),SE2(false),SE3(false);
var : B2(0),B3(0),S2(0),S3(0);
NP = NetProfit;
if date != date[1] Then{
preNP = NP[1];
Condition1 = false;
v1 = 0;
Xcond == false;
ProfitCond == false;
}
dayPL = NP-PreNP;
BCount = 0 ;
SCount = 0 ;
for cnt = 0 to 10 {
if EntryDate(cnt) == sdate and MarketPosition(cnt) == 1 then
BCount = BCount + 1;
if EntryDate(cnt) == sdate and MarketPosition(cnt) == -1 then
SCount = SCount + 1;
}
if Condition1 == false and TotalTrades > TotalTrades[1] Then{
Condition1 = true;
if PositionProfit(1) > 0 Then
v1 = PositionProfit(1);
}
//=======================================================================================================
#당일손실제한
if MarketPosition == 1 Then{
ExitLong("당일손실제한bx3",AtStop,avgEntryPrice-(당일손실+(dayPL-v1))/CurrentContracts);
}
if MarketPosition == -1 Then{
ExitShort("당일손실제한sx3",AtStop,avgEntryPrice+(당일손실+(dayPL-v1))/CurrentContracts);
}
//=======================================================================================================
#피라미딩진입수식
Input : i증감(0.2),누적진입횟수(3),진입수량(1);
if MarketPosition == 1 and MaxEntries < 누적진입횟수 and Bxcond == false Then
Buy("PBB",AtStop,LatestEntryPrice(0)+i증감,진입수량);
if MarketPosition == -1 and MaxEntries < 누적진입횟수 and SxCond == false Then
sell("PSS",AtStop,LatestEntryPrice(0)-i증감,진입수량);
//=======================================================================================================
#합산목표수익청산
Input : SPPT(2.0);
SetStopPosition;
SetStopProfittarget(SPPT,PointStop);
//=======================================================================================================
# 목표청산 재진입
input : ATRP(10),X(2);
var1 = ma(c,5);
var2 = ma(c,10);
#직전거래가 매수포지션이고 SetStopProfittarget으로 청산했으면
#이평 데드일때 매도진입
if MarketPosition == 0 and
MarketPosition(1) == -1 and
IsEntryName("StopProfitTarget",1) == true and BCount == true and
CrossDown(var1,var2) Then
Buy("rebuy");
#직전거래가 매도포지션이고 SetStopProfittarget으로 청산했으면
#이평 골드일때 매수진입
if MarketPosition == 0 and
MarketPosition(1) == -1 and
IsEntryName("StopProfitTarget",1) == true and SCount == true and
CrossDown(var1,var2) Then
sell("resell");
if MarketPosition == 1 and IsEntryName("rebuy") == true then {
ExitLong("bx",AtStop,EntryPrice-0.5);
ExitLong("btr",AtStop,highest(H,BarsSinceEntry)-ATR(ATRP)*X);
}
if MarketPosition == -1 and IsEntryName("resell") == true then {
ExitShort("sx",AtStop,EntryPrice-0.5);
ExitShort("str",AtStop,highest(H,BarsSinceEntry)+ATR(ATRP)*X);
}
SetStopPosition;
if IsEntryName("rebuy") == false or IsEntryName("resell") == false then
SetStopProfittarget(1.5,PointStop);
Else
SetStopProfittarget(0);#해제
//=======================================================================================================
#진입식예제
Input : Period(12), Period1(5);
Var : value(0);
value = StochasticsK(Period,Period1);
# 매수/매도청산
If CrossUP(value, 20) and BCount+SCount < N and dayPL > -당일손실 Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value, 80) and BCount+SCount < N and dayPL > -당일손실 Then
{
Sell();
}
//=====================================================================================================
#당일 청산시간
SetStopEndofday(153000);
//=====================================================================================================
2016-11-21
137
글번호 104183