커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7665
글번호 230811
답변완료
수식부탁드립니다---------------
지수가 10봉동안 10% 상승하고 거래량이 10봉동안 15%상승하면 매수하게해주세요
2012-04-10
357
글번호 49919
답변완료
수식문의요
당일 매수조건1을 만족시 1번만 매수
5%이상 수익발생시 매도
이후 거래 없어야함
매수가 대비 -3% 손실발생시 손절하지만,,
조건2을 만족할경우에는 손절보류하고 추가매수 1번만 허용
추가매수후 평단가대비 -3%손실 발생시 손절~! 이후 거래없어야함
추가매수후 평단가대비 5%이상 수익발생시 매도
이후 거래없어야함
2012-04-10
345
글번호 49915
느긋하게 님에 의해서 삭제되었습니다.
2012-04-10
43
글번호 49911
답변완료
참조 외국인 데이터
안녕 하세요..
외국인 데이터 참조 해서 보는데요..
데이터가 1분봉으로 점으로 찍히네요...
그점인 1000이라고 하면 1분에 1000계약을 했다는 말인가요?
아님 그점에 외국인이 1000계약을 매수하고 있다는 말인가요??
그리고
처음 시가에 외국인 선물순매수가 613인데.전날 마지막은 -2700정도인데요...
외국인 순매수는 날이 바뀌면 0부터 다시 시작하는건가요??
답변 부탁 드립니다.
2012-04-10
389
글번호 49910
답변완료
수식문의
if c>o then buy();
if c<o then sell();
setstoploss(1,pointstop);
이런 식이 있을때.
손절 후 손절했던 방향으론 매수금지! 식 부탁드립니다
예를들어 매수 진입 후 손절 => 추후 매수금지 and 매도신호 출현시 매도진입...
감사드립니다~ ^^
2012-04-10
350
글번호 49908
답변완료
안녕하세요~
안녕하세요!
수고 많으십니다~
아래 식 처럼 분챠트 에서도 시간 체크 할수 있는 식이 가능 한지요?
가능 하시면 좀 부탁 올리겠습니다.
plot1(ticks);
감사 합니다. == 꾸 뻑 ===
2012-04-10
385
글번호 49905
답변완료
질문이요..
if dayindex == 0 Then
value1 = 0;
if value1 == 0 then {
if C[1]>O[1] and C>C[1]then { #전봉이양봉이고 현재종가가 전봉종가보다크면
var1 = C; #var1은 종가
var2 = O; #var2는 시가
value1 = 1; #value1에 1을저장.
}
if C[1]<O[1] and C>O[1] then { #전봉이음봉이고 현재종가가 전봉시가보다 크면
var1 = C; #var1은 종가
var2 = 0; #var2는 시가
value1 = 1; #value1에 1을저장.
}
}
if value1 >= 1 then { #value1이 1보다 크거나같을때
if var1>var2 and C>var1 then { #양봉이고 현재종가가 var1보다 크면
var1 = C; #현재종가를 var1에 저장.
value1= value1+1; #value1에 value1+1을 저장.
}
if var1<var2 and C>var2 then { #음봉이고 현재종가가 var2보다 크면
var1 = C; #현재종가를 var1에 저장.
value1 = value1+1; #value1에 value1+1을 저장.
}
}
if value1 >=3 then { #value1이 3이상이고
if C < var1 then { #종가가 var1보다 작으면
var1=0; #var1 초기화
var2=0; #var2 초기화
value1=0; #value1 초기화
}
if C[1]>O[1] and C < O[1] then { #전봉이 양봉이고 종가가 전봉시가보다 작으면
var1=0; #var1 초기화
var2=0; #var2 초기화
value1=0; #value1 초기화
}
if C[1]<O[1] and C < C[1] then { #전봉이 음봉이고 종가가 전봉종가보다 작으면
var1=0; #var1 초기화
var2=0; #var2 초기화
value1=0; #value1 초기화
}
}
여기에서 초기화 봉을 만족하는 조건이 3개잖아요?
value1 생성~ 초기화봉생성 까지 시가와 종가중 최고가를 var5에 저장하고싶습니다.
var5에 저장되고 나머지 var1과 var2는 초기화.
value1의 종가와 시가, 초기화조건만족한 봉의 시가와 종가도 포함됩니다.
물론 그 사이에생성된봉들의 시가와 종가포함은당연한거구요.
수식문의좀부탁드립니다.
2012-04-10
382
글번호 49904
답변완료
지표 수정 부탁드려요
메타4의 ATR 채널이란 인디케이터인데...이걸 예스랭귀지로 바꿔주셨으면 감사하겠습니다. 부탁드립니다.
#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 Aqua //Moving Average
#property indicator_color2 DeepSkyBlue // Lower band 1
#property indicator_color3 DeepSkyBlue // Upper band 1
#property indicator_color4 RoyalBlue // Lower band 2
#property indicator_color5 RoyalBlue // Upper band 2
#property indicator_color6 BlueViolet // Lower band 3
#property indicator_color7 BlueViolet // Upper band 3
//---- indicator buffers
double MA_Buffer0[];
double Ch1up_Buffer1[];
double Ch1dn_Buffer2[];
double Ch2up_Buffer3[];
double Ch2dn_Buffer4[];
double Ch3up_Buffer5[];
double Ch3dn_Buffer6[];
//---- input parameters
extern int PeriodsATR=18;
extern int MA_Periods=49;
extern int MA_type=MODE_LWMA;
extern double Mult_Factor1= 1.6;
extern double Mult_Factor2= 3.2;
extern double Mult_Factor3= 4.8;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string mat;
//---7- indicators
// MA
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,MA_Buffer0);
SetIndexDrawBegin(0,0);
/*if (MA_type==MODE_LWMA)SetIndexLabel(0,"WMA"+MA_Periods) else
{
if (MA_type==MODE_SMA) SetIndexLabel(0,"SMA"+MA_Periods) else
{
if (MA_type==MODE_EMA) SetIndexLabel(0,"EMA"+MA_Periods) else
SetIndexLabel(0,"SMMA"+MA_Periods);
};
};*/
// ATR 1 up
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,Ch1up_Buffer1);
SetIndexDrawBegin(1,0);
SetIndexLabel(1,"ATRu "+PeriodsATR+", "+Mult_Factor1);
// ATR 1 down
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,Ch1dn_Buffer2);
SetIndexDrawBegin(2,0);
SetIndexLabel(2,"ATRd "+PeriodsATR+", "+Mult_Factor1);
// ATR 2 up
SetIndexStyle(3,DRAW_LINE);
SetIndexBuffer(3,Ch2up_Buffer3);
SetIndexDrawBegin(3,0);
SetIndexLabel(3,"ATRu "+PeriodsATR+", "+Mult_Factor2);
// ATR 2 down
SetIndexStyle(4,DRAW_LINE);
SetIndexBuffer(4,Ch2dn_Buffer4);
SetIndexDrawBegin(4,0);
SetIndexLabel(4,"ATRd "+PeriodsATR+", "+Mult_Factor2);
// ATR 3 up
SetIndexStyle(5,DRAW_LINE);
SetIndexBuffer(5,Ch3up_Buffer5);
SetIndexDrawBegin(5,0);
SetIndexLabel(5,"ATRu "+PeriodsATR+", "+Mult_Factor3);
// ATR 3 down
SetIndexStyle(6,DRAW_LINE);
SetIndexBuffer(6,Ch3dn_Buffer6);
SetIndexDrawBegin(6,0);
SetIndexLabel(6,"ATRd "+PeriodsATR+", "+Mult_Factor3);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int fixed_bars=IndicatorCounted();
for(int i=0;i< Bars - fixed_bars;i++)
{
double atr=iATR(NULL,0,PeriodsATR,i);
double ma=iMA(NULL,0,MA_Periods,0,MA_type,PRICE_TYPICAL,i);
MA_Buffer0[i]=ma;
Ch1up_Buffer1[i]=ma+atr*Mult_Factor1;
Ch1dn_Buffer2[i]=ma-atr*Mult_Factor1;
Ch2up_Buffer3[i]=ma+atr*Mult_Factor2;
Ch2dn_Buffer4[i]=ma-atr*Mult_Factor2;
Ch3up_Buffer5[i]=ma+atr*Mult_Factor3;
Ch3dn_Buffer6[i]=ma-atr*Mult_Factor3;
}
//----
//----
return(0);
}
2012-04-10
491
글번호 49901
답변완료
시스템식 보완좀 부탁드립니다.
다름이 아니라 (20.2) 엔벨롭 하단선에 닿을때 매수, 매수시점에서 4%하락시 추가매수
이방법으로 시스템식을 짜주셨는데,
시스템식을 돌려보니 해당 봉의 종가가 엔벨롭 하단선 이하에 위치해야 매수신호가 발생하더군요.
해당 봉의 종가가 형성이 되어야 되는것이 아니라 해당조건, 즉 20.2엔벨롭 하단선에 닿는 즉시 매수되게 할수는 없을까요?
그리고 매도 역시 종가가 해당조건에 맞아야 되는것이 아니라 조건을 만족하는 즉시 매도되게 할수 없을까요?
부탁드립니다.
밑은 현재 시스템식입니다.
input : 투입금액(5000000);
if CodeCategory == 1 Then{ #코스피
if BasePrice < 50000 Then
Var1 = int(int(투입금액/C)/10)*10;
Else
Var1 = int(투입금액/C);
}
if CodeCategory == 2 Then#코스닥
Var1 = int(투입금액/C);
value1 = EnvelopeDown(20,2);
if MarketPosition == 0 and CrossDown(c,value1) Then
buy("b1",OnClose,def,var1);
if MarketPosition == 1 and CurrentEntries == 1 Then
buy("b2",Atlimit,EntryPrice*0.96);
if MarketPosition == 1 and MaxEntries == 1 Then{
exitlong("bx11",atlimit,EntryPrice*1.013);
if crossup(c,ma(c,20)) Then
exitlong("bx12");
}
if MarketPosition == 1 and MaxEntries == 2 Then{
exitlong("bx21",atlimit,AvgEntryPrice*1.003);
if crossup(c,ma(c,20)) Then
exitlong("bx22");
}
2012-04-10
399
글번호 49894