커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4375
글번호 230811
답변완료
시스템수식부탁드립니다.
안녕하세요 늘 도움 감사합니다.
아래의 수식에서 상승의 경우 TEMA 25 선 위에 TEMA 5 선있는 조건에서 TEMA 5 선의 두번째 봉에서 매수 신호가 나오게 부탁드립니다.
하락신호도 TEMA 25 선 아래 TEMA 5선이 있는 조건에서 TEMA 5 선의 두번째 봉에서 하락신호가 나오도록 부탁드립니다.
INPUTS: P1(4),P2(6),P3(8),P4(10),P5(12),P6(14);
VARS: TEMA3(0),TEMA4(0),TEMA5(0),TEMA6(0),TEMA7(0),TEMA8(0),TEMA9(0),TEMA10(0);
vars : line20(0),line60(0),line100(0);
TEMA3 = tema(p1);
TEMA4 = tema(p2);
TEMA5 = tema(p3);
TEMA6 = tema(p4);
TEMA7 = tema(p5);
TEMA8 = tema(p6);
PLOT1(TEMA3,"TEMA3");
PLOT2(TEMA4,"TEMA4");
PLOT3(TEMA5,"TEMA5");
PLOT4(TEMA6,"TEMA6");
PLOT5(TEMA7,"TEMA7");
PLOT6(TEMA8,"TEMA8");
2018-04-23
136
글번호 118390
답변완료
문의드립니다.
10분봉에서
초기 3봉 거래량이 연속 증가하는 검색식이 궁금합니다.
2018-04-23
124
글번호 118389
답변완료
수식 요청드립니다.
1. 윗그림의 참고하여
선을 위아래로 나타냈으면 좋겠습니다.
고점위 4개
저점아래 4개
2. 윗식을 해당년 기준으로 부탁드립니다.
nt값 같이 구현이 어렵다면 가능한 범위에서만 부탁드리겠습니다.
2018-04-22
185
글번호 118388
답변완료
안녕하세요
아래식에서
당일저가와 현재가 차이가 +200틱이상이면 매수진입금지
당일고가와 현재가 차이가 -200틱이상이면 매도진입금지 입니다만 이조건을
당일시가와 현재가 차이가 +200틱이상이면 매수진입금지
당일시가와 현재가 차이가 -200틱이상이면 매도진입금지 로 변경식 부탁드립니다
Input : shortPeriod(100), longPeriod(200);
Input : 당일손실틱수(800),당일수익틱수(800);
var : DH(0),DL(0);
var : HH(0),LL(0),T1(0),entry(0);
var : cnt(0),count(0),dayPl(0),당일손실(0),당일수익(0);
var : Xcond(false),N1(0);
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and stime >= 100000 and stime[1] < 100000) Then{
Condition1 = true;
DH = H;
DL = L;
Xcond = false;
N1 = NetProfit;
}
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] and
(IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or
IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
if Condition1 == true then{
if H > DH Then
DH = H;
if L < DL Then
DL = L;
}
if stime == 101500 or (stime > 101500 and stime[1] < 101500) Then
{
HH = H;
LL = L;
T1 = TotalTrades;
}
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
if stime >= 104500 and stime < 114500 then{
if H > HH Then
HH = H;
if L < LL Then
LL = L;
if HH >= LL+PriceScale*10 and entry < 20000
and Xcond == false then
{
if DL > 0 and C < DL+PriceScale*200 and crossup(value1,value2) Then
buy();
if DH > 0 and C > DH-PriceScale*200 and CrossDown(value1,value2) Then
sell();
}
}
SetStopLoss(PriceScale*30,PointStop);
SetStopProfittarget(PriceScale*60,PointStop);
if MarketPosition == 1
Then{
HH = highest(H,BarsSinceEntry);
if HH >= EntryPrice+PriceScale*39 and HH < EntryPrice+PriceScale*44 Then
ExitLong("수청0",AtStop,EntryPrice+PriceScale*10);
if HH >= EntryPrice+PriceScale*50 and HH < EntryPrice+PriceScale*55 Then
ExitLong("수청1",AtStop,EntryPrice+PriceScale*20);
if HH >= EntryPrice+PriceScale*44 and HH < EntryPrice+PriceScale*50 Then
ExitLong("수청2",AtStop,EntryPrice+PriceScale*15);
if HH >= EntryPrice+PriceScale*55 and HH < EntryPrice+PriceScale*60 Then
ExitLong("수청3",AtStop,EntryPrice+PriceScale*30);
}
if MarketPosition == -1 Then{
LL = lowest(L,BarsSinceEntry);
if LL <= EntryPrice-PriceScale*39 and LL > EntryPrice-PriceScale*44 Then
Exitshort("도청0",AtStop,EntryPrice-PriceScale*6);
LL = lowest(L,BarsSinceEntry);
if LL <= EntryPrice-PriceScale*50 and LL > EntryPrice-PriceScale*55 Then
Exitshort("도청1",AtStop,EntryPrice-PriceScale*20);
LL = lowest(L,BarsSinceEntry);
if LL <= EntryPrice-PriceScale*44 and LL > EntryPrice-PriceScale*50 Then
Exitshort("도청2",AtStop,EntryPrice-PriceScale* 15);
if LL <= EntryPrice-PriceScale*55 and LL > EntryPrice-PriceScale*90 Then
Exitshort("도청3",AtStop,EntryPrice-PriceScale* 30);
}
if MarketPosition == 1 then{
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then{
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
2018-04-22
146
글번호 118387
느림 님에 의해서 삭제되었습니다.
2018-04-24
10
글번호 118386
답변완료
수식 의뢰 합니다!
안녕하세요!
키움 수식을 예스로 변환 부탁드려요!
감사합니다!
-----------------------------------------------------------------------------------
수식1: 당일고가
•dayHigh()
수식2: 상
•Q = (dayHigh() - dayLow())/4;
•dayHigh() - Q
수식3: 중
•dayHigh() - 2*Q
수식4: 하
•dayLow() + Q
수식5: 당일저가
•dayLow()
------------------------------------------------------------------------------------
그림 첨부>
특별한 수식은 아니지만 이건 수식을 몰라서 그림으로 첨부 합니다!
이평선이 골드크로스와 데드트로스시점 < 5이평이 20이평을 교차시> 에 첨부 그림하고 똑같이
이평선바탕에도 분홍과 파랑색을 나타내고 교차지점에 옆으로 빨강과 파란색 점선이
똑같이 나타나게 하고 싶습니다!
--------------------------------------------------------------------------------------
2018-04-23
287
글번호 118385
답변완료
지표 추가 부탁드립니다.
안녕하십니까?
추가수정 부탁드립니다.
1. 피보나치값이 상승만 나타나는데 하락방향도 같이 나타나게 부탁드립니다.
2. 피보나치값 r[1],r[5] 표시되게하고 나머지는 나타나지 않도록 해 주시기 바랍니다.
3. 피보나치값 r[1],r[5] 표시값을 r[1] 라인에 r[1] 라인값과 r[5]값하고 r[1] 과 r[0] 차이
틱수를 같이 표시 부탁드립니다. r[5] 라인에 r[1] 라인과 같이
r[5]라인 값과 r[1] 값하고 r[5] 과 r[6] 차이 틱수를 표시 되도록 부탁드립니다.
예) r[1]라인값/r[5]라인값/r[1]과 r[0]차이틱수 * 오일기준표시 - ( 67.88/67.33/틱수20 )
Input:ShortPeriod(5),LongPeriod(20),선두께(2),상승색(red), 하락색(blue);
Var:j(0),ma1(0),ma2(0);
Var: date11(0),date12(0),time11(0),time12(0),TL1(0),
date21(0),date22(0),time21(0),time22(0),
date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0);
Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0),ZZ[20](0);
Array:r[7](0),fr[7](0),TL2[7](0),TL3[7](0);
r[0] = 0;
r[1] = 2;
r[2] = 0.382;
r[3] = 0.50;
r[4] = 0.618;
r[5] = -1;
r[6] = 1;
For j = 0 To 19
{
HiBar[j] = HiBar[j] + 1;
LoBar[j] = LoBar[j] + 1;
}
ma1 = ma(C,ShortPeriod);
ma2 = ma(C,LongPeriod);
If ma1 < ma2 Then
{
If ma1[1] >= ma2[1] Then
{
For j = 18 DownTo 0
{
LoVal[j+1] = LoVal[j];
LoBar[j+1] = LoBar[j];
ZZ[j+1] = ZZ[j];
}
LoVal[0] = L;
LoBar[0] = 0;
ZZ[0] = L;
date11 = date[HiBar[0]];
time11 = stime[HiBar[0]];
Value11 = HiVal[0];
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,상승색);
tx = Text_New(date11,time11,Value11,NumToStr(value11,2)+NewLine+"틱수:"+NumToStr(abs(value11-value11[1])/PriceScale,0));
Text_SetStyle(tx,2,1);
date21 = date[HiBar[0]];
time21 = stime[HiBar[0]];
date22 = date[0];
time22 = stime[0];
for j = 0 to 6
{
fr[j] = LoVal[1] + ((HiVal[0] - LoVal[1]) * r[j]);
TL2[j] = TL_New(date21,time21,fr[j],date22,time22,fr[j]);
TL_SetColor(TL2[j],red);
tx1 = Text_New(date22,time22,fr[j],NumToStr(fr[j],2));
Text_SetStyle(tx1,0,0);
}
}
Else If LoVal[0] > L Then
{
LoVal[0] = L;
LoBar[0] = 0;
ZZ[0] = L;
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date22 = date[0];
time22 = stime[0];
for j = 0 to 6
{
TL_SetEnd(TL2[j],date22,time22,fr[j]);
}
}
}
Else If ma1 > ma2 Then
{
If ma1[1] <= ma2[1] Then
{
For j = 18 DownTo 0
{
HiVal[j+1] = HiVal[j];
HiBar[j+1] = HiBar[j];
ZZ[j+1] = ZZ[j];
}
HiVal[0] = H;
HiBar[0] = 0;
ZZ[0] = H;
date11 = date[LoBar[0]];
time11 = stime[LoBar[0]];
Value11 = LoVal[0];
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,하락색);
tx = Text_New(date11,time11,Value11,NumToStr(value11,2)+NewLine+"틱수:"+NumToStr(abs(value11-value11[1])/PriceScale,0));
Text_SetStyle(tx,2,0);
date31 = date[LoBar[0]];
time31 = stime[LoBar[0]];
date32 = date[0];
time32 = stime[0];
for j = 0 to 6
{
fr[j] = LoVal[0] + ((HiVal[1] - LoVal[0]) * r[j]);
TL3[j] = TL_New(date31,time31,fr[j],date32,time32,fr[j]);
TL_SetColor(TL3[j],blue);
}
}
Else If HiVal[0] < H Then
{
HiVal[0] = H;
HiBar[0] = 0;
ZZ[0] = H;
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date32 = date[0];
time32 = stime[0];
for j = 0 to 6
{
TL_SetEnd(TL3[j],date32,time32,fr[j]);
}
}
}
TL_SetSize(TL1,선두께);
2018-04-22
160
글번호 118384
답변완료
매수 매도 수식 의뢰 드려요
안녕하세요! 시스템 수식 의뢰 드립니다!
첨부 파일도 보냅니다!
항상 감사합니다!
----------------------------------------------------------------------------
5분 기준 >
상위챠트 30분의 10선이나 15분의 75선이 봉을 지지 또는 저항할때
5분의 25선이 75선을 골든크로스한 이후에, 10선 아래로 봉이 내려 왔다가 올라와서
종가기준 10선에 이탈하는 시점에 진입. 이때 10선 아래로 봉이 완전 하향 이탈 할수도 있고
10선에 걸쳐 있을수도 있음 >>>>>>>> (이미지에서 빨간 동그라미 표시부분)
매수 조건 1 > 아래로 내려 왔다가 다시 위로 상승하는 시점에 매수
매수 조건 2 > 꼭 내러 오지 않더라도 10선에 닿았다가 상승하는 시점에 매수
손절 조건 > 상승하지 못하고 횡보하다 하락시 10틱 손절
매도 조건 1, 2 와 손절 조건은 위와 동일합니다!
--------------------------------------------------------------------------------
그리고 30분 10선과 15분 75선을 5분챠트에 같이 표현하고 싶습니다!
--------------------------------------------------------------------------------
아래는 일반적인 시스템식입니다!
아래 시스템식과 동일하게 강세 약세 배경패턴을 만들기를 원합니다!
Input : EmaLen(13), macd1(12), macd2(26), macd3(9);
input: LongEmaLen(65), Longmacd1(60), Longmacd2(130), Longmacd3(45);
var : emaV(0), MacdV(0), MacdS(0), MacdOsc(0);
var : LemaV(0), LmacdV(0), LmacdS(0), LmacdOsc(0);
# intermediate timeframe(일간)
emaV = ema(C,EmaLen);
MacdV = macd(macd1,macd2);
MacdS = ema(MacdV,macd3);
MacdOsc = MacdV-MacdS;
# intermediate timeframe * 5(주간)
LemaV = ema(C,LongEmaLen);
LmacdV = macd(Longmacd1,Longmacd2);
LmacdS = ema(LmacdV,Longmacd3);
LmacdOsc = LmacdV-LmacdS;
# 매수진입
If LemaV > LemaV[1] and LmacdOsc > LmacdOsc[1] then {
if emaV > emaV[1] and macdOsc > MacdOsc[1] Then
buy();
}
# 매도진입
If LemaV < LemaV[1] and LmacdOsc < LmacdOsc[1] then {
if emaV < emaV[1] and macdOsc < MacdOsc[1] Then
sell();
}
------------------------------------------------------------------------------------
분봉 과 틱봉 동일 적용
이평 60선, 120선 적용
매수조건1 > 이평 60선이 120선 골드정배열시 봉이 60선 이탈하향 후 120선에 닿고
다시 반등하여 60선을 종가기준으로 완전히 뚫고 다시 60선에 눌림준 후
양봉 시작시 매수
매수조건2 > 이평 60선이 120선 골드정배열시 봉이 60선 이탈하향 후 또는 60선에 닿은 후
다시 반등하여 60선을 종가기준 완전히 뚫고 60선에 눌림준 후 양봉 시작시 매수
매도 조건은 위 매수 조건의 반대 조건시 매도 진입
2018-04-25
204
글번호 118383
레전드 님에 의해서 삭제되었습니다.
2018-04-22
4
글번호 118382