커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7216
글번호 230811
답변완료
함수식
안녕하세요 미리 감사인사올립니다
질문 1 아래식에서 현재가가 중심선을 돌파후 5거래량 이평이 20일 거래량이평을 돌파한후
매수 신호발생시 10틱 아래에서 매수대기
매도는 반대입니다
Input : Period(20), MultiD(2);
var : BBmd(0),BBup(0),BBdn(0);
BBmd1 = ma(C,Period);
BBup1 = BollBandUp(Period,MultiD);
BBdn1 = BollBandDown(Period,MultiD);
질문2
당일의 싯가가 전일의 중심선 위에서 시작하면 A 로직
당일의 싯가가 전일의 중심선 아래에서 시작하면 B 로직
질문3 지표식
전일의 중심선을 수평선으로 표시되게 부탁드려요
항상 감사합니다
2019-01-25
170
글번호 125553
답변완료
수식 수정부탁드립니다.
아래 수식으로 진입 시간이나 종료 시간을 함수로 조정하려하는데
예를 들어 진입 시간이나 종료 시간을 변경하여 시스템 매매를 하여도
0~24시로 인식하여 매매되는 현상이 일어나는데 수식중 어디가 잘못된건지
찾지를 못하겠습니다. 수정 부탁드립니다.
그리고 함수식으로 정해진 매매시간동안 하루 지정 횟수만 매매가 되도록
수식도 포함 부탁드립니다.
input: b_time1(000000),e_time1(240000);
input: 상단(95),하단(5),익절틱수(10);
input : 당일수익틱수(160);
input : 당일목표손실(100);
Input : short(16), long(26), signal(25);
Var : MACDv(0), MACDs(0),macdo(0) ;
MACDv = MACD(short, long);
MACDs = ema(MACDv,signal);
macdo = MACDv-MACDs;
Var : stoK(0),stoD(0),T1(0),T2(0);
var : Tcond(false);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false);
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일목표손실;
if (sdate != sdate[1] and stime >= b_time1) or
(sdate == sdate[1] and stime >= b_time1 and stime[1] < b_time1) Then
{
Tcond = true;
Xcond = false;
N1 = NetProfit;
}
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] Then
{
if (IsExitName("금일종료",1) == true or IsExitName("금일종료1",1) == true or
IsExitName("금일종료2",1) == true or IsExitName("금일종료3",1) == true) then
Xcond = true;
if daypl >= 당일수익 or daypl <= -당일손실 Then
Xcond = true;
}
If b_time1<=sTime and sTime<= e_time1 Then
{
stoK = StochasticsK(stoK_p11,stoK_p12);
stoD = StochasticsD(stoK_p11,stoK_p12,stoK_p13);
}
if Xcond == false and
MarketPosition == 0 and
MarketPosition >= 0 and
CrossDown(MACDo,0) then
sell("매도",AtMarket);
if MarketPosition == -1 Then
{
ExitShort("금일종료",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
ExitShort("금일종료1",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
if Crossup(stok,상단) then
ExitShort("매도청산",AtMarket);
}
if Xcond == false and
MarketPosition == 0 and
MarketPosition <= 0 and
crossup(MACDo,0) then
buy("매수",AtMarket);
if MarketPosition == 1 Then
{
ExitShort("금일종료2",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
ExitShort("금일종료3",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
if Crossdown(stok,하단) then
Exitlong("매수청산",AtMarket);
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
2019-01-24
169
글번호 125539
답변완료
문의합니다.
매수진입
C < C[1] < C[2] 인
즉 종가가 3연속으로 하락하는
가장 최근의 3연속 음봉을 찾아서 최초음봉 2번째음봉 3번째음봉중에서
최초음봉의 시가 O[2] 를 매수기준가로 저장합니다.
무포지션이나 매도포지션에서
현재봉 종가가 위의 매수기준가를 위로 돌파하면 매수진입합니다.
매도진입
C > C[1] >C[2] 인
즉 종가가 3연속으로 상승하는
가장 최근의 3연속 양봉을 찾아서 최초양봉 2번째양봉 3번째양봉중에서
최초양봉의 시가 O[2]를 매도기준가로 저장합니다.
무포지션이나 매수포지션에서
현재봉 종가가 위의 매도기준가를 하방으로 돌파하면 매도진입합니다.
청산
매수이던지 매도이던지 수익이 10틱나면 수익청산합니다.
2019-01-24
164
글번호 125536
답변완료
질문입니다.
아래의 수식을 사용자 함수로 변환 부탁드립니다.(분봉에서 사용)
var : HL0(0),HL1(0),HL2(0),HL3(0);
#당일 HL0
if H[1] == dayhigh Then
HL0 = L;
if L < HL0 Then
HL0 = L;
if date != date[1] Then{
HL1 = HL0[1];#전일 HL
HL2 = HL1[1];#전전일 HL
HL3 = HL2[1];#전전전일 HL
}
2019-01-24
168
글번호 125530
답변완료
부탁드립니다 !
항상 수고하심에 감사드립니다 ^^
1, 아래 수식에서 선이 발생되어 봉과 만날때(몸통으로 만나든 꼬리로 만나든 상관없이)
음성신호가 발생되도록 수정 부탁드립니다
2, 또 이때 이 만남봉과 이전의 기준이된 봉과의 거리(그동안 발생된 봉의 수)를 수치로
봉 근처에 표시할수있을까요?
예를들어 쌍바닥선이 완성된 경우라면 이전 저점자리의 봉과 현재 만남봉 사이에서 발생된
봉의 갯수가 총 몇개인지 알고자함입니다
가능하다면 수치는 좀 두껍게 부탁드리고요 색상도 수정가능했으면 좋겠습니다
감사합니다!!!
input : af(0.02), maxAF(0.2);
input : 텍스트출력(1),선굵기(2);
var : T(0),cnt(0),count(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0),day1(0),day0(0),TL3(0);
var : TL1(0),TL2(0),tx1(0),tx2(0),tx11(0),tx22(0);
Array : HD[20](0),HT[20](0),HH[20](0),LD[20](0),LT[20](0),LL[20](0);
var1 = CSar(af,maxAF);
if bdate != bdate[1] Then
{
day0 = sdate;
day1 = day0[1];
}
if crossup(c,var1) Then
{
T = 1;
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
for cnt = 1 to 19
{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
}
if LL[0] > 0 Then
{
if 텍스트출력 == 1 then
{
Tx11 = Text_New(HD[1],HT[1],HH[1],NumToStr((HH[1]-LL[1])/PriceScale,0)+NewLine+NumToStr(HH[1],2));
Text_SetStyle(tx11,2,1);
Text_SetColor(tx11,BLACK);
Text_Delete(tx1);
Tx1 = Text_New(HD[0],HT[0],HH[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(HH[0],2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,GRAY);
Condition1 = false;
for cnt = 1 to 19
{
if Condition1 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition1 = true;
TL1 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetSize(TL1,선굵기);
TL_SetColor(TL1,yellow);
}
}
}
}
}
if CrossDown(c,var1) Then
{
T = -1;
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
for cnt = 1 to 19
{
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
if HH[0] > 0 Then
{
if 텍스트출력 == 1 then
{
Tx22 = Text_New(LD[1],LT[1],LL[1],NumToStr((HH[1]-LL[1])/PriceScale,0)+NewLine+NumToStr(LL[1],2));
Text_SetStyle(tx22,2,0);
Text_SetColor(tx22,RED);
Text_Delete(tx2);
Tx2 = Text_New(LD[0],LT[0],LL[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(LL[0],2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,MAGENTA);
Condition2 = false;
for cnt = 1 to 19
{
if Condition2 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition2 = true;
TL2 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetSize(TL2,선굵기);
TL_SetColor(TL2,yellow);
}
}
}
}
}
if T == 1 then
{
if H > HH[0] Then
{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
if 텍스트출력 == 1 then
{
Text_Delete(tx1);
Tx1 = Text_New(HD[0],HT[0],HH[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(HH[0],2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,black);
TL_Delete(TL3);
Condition3 = false;
for cnt = 1 to 19
{
if Condition3 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetSize(TL3,선굵기);
TL_SetColor(TL3,yellow);
}
}
}
}
}
if T == -1 then
{
if L < LL[0] Then
{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
if 텍스트출력 == 1 then
{
Text_Delete(tx2);
Tx2 = Text_New(LD[0],LT[0],LL[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(LL[0],2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,red);
TL_Delete(TL3);
Condition3 = false;
for cnt = 1 to 19
{
if Condition3 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetSize(TL3,선굵기);
TL_SetColor(TL3,yellow);
}
}
}
}
}
2019-01-24
195
글번호 125524
답변완료
수식의뢰드립니다
안녕하세요!
항상 도움을 주셔서 감사합니다!
아래의 가격선들이 3개의 행사가에 자동으로 나타나는 수식을 만들고 싶습니다!
어떤 행사가나 적용할 수 있게 하고 싶습니다.
행사가격은 제가 수정할 수 있게 변수 조정할 수 있게 만들어 주세요!
부탁드립니다.
예)
콜외가행사가 : 277.5 ---> (근월물 첫날저가)기준가 / 월고 / 월저 / 전고 / 전저
당일 등가콜행사가 : 275 ---> (근월물 첫날저가)기준가 / 월고 / 월저 / 전고 / 전저
콜내가행사가 : 272.5 ---> (근월물 첫날저가)기준가 / 월고 / 월저 / 전고 / 전저
풋내가행사가 : 277.5 ---> (근월물 첫날저가)기준가 / 월고 / 월저 / 전고 / 전저
당일 등가풋행사가 : 275 ---> (근월물 첫날저가)기준가 / 월고 / 월저 / 전고 / 전저
풋외가행사가 : 272.5 ---> (근월물 첫날저가)기준가 / 월고 / 월저 / 전고 / 전저
2019-01-24
202
글번호 125522
회원 님에 의해서 삭제되었습니다.
2019-01-24
32
글번호 125521
답변완료
문위드립니다
1,,williams,r 이신호에다가 조건하나를 더하고 싶습니다
macd 영역이 0선위에서는 매수신호만 발생하고 0선아래에서는 매수신호만 나오게 해주세요 감사드립니다~
2,,,지표식
keltner channel 지표를
10분봉을 보앗을때 10분봉에 5분,30분 지표를 추가해서 보고싶습니다
매번 감사를 드립니다
좋은하루 돼세요
2019-01-24
191
글번호 125520
답변완료
수식작성 부탁드려요
장 시작했을때
갭하락이면서 등락률(전날 종가대비)이 -1.0% 이하이면 매수
9시 15분에 매도
수식 부탁드려요
2019-01-24
173
글번호 125519