커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7539
글번호 230811
답변완료
수식요청
선물틱차트같은데...
첨부차트 만드는 수식 부탁해요...
2013-09-12
191
글번호 67479
답변완료
수식 부탁드립니다
선물 10분봉으로 매수 진입
1.코스피 종합주가지수 3주 이동평균선이 월요일로만 산출된 3주 이동평균선보다 크고
2. 코스피200 현재가가 전일 3일 이동평균선보다 클 경우
선물 10분봉으로 매도 진입
1.코스피 종합주가지수 3주 이동평균선이 월요일로만 산출된 3주 이동평균선보다 작고
2. 코스피200 현재가가 전일 3일 이동평균선보다 작을 경우
감사합니다.
2013-09-12
187
글번호 67478
답변완료
수식문의
당일최고저에서봉의크기가 2배일때 검색식과 시쓰템식 부탁합니다
2013-09-12
191
글번호 67477
답변완료
재문의 드립니다
var1 = ma(c,10);
if crossup(var1,dayopen) Then buy("b",OnClose,def,2);
if CrossDown(var1,dayopen) Then sell("s",OnClose,def,2);
if MarketPosition == 1 Then{ exitlong("bx1",atlimit,EntryPrice+0.5,"",1,1);
exitlong("bx2",atlimit,EntryPrice+1.0,"",1,1);}
if MarketPosition == -1 Then{ ExitShort("sx1",atlimit,EntryPrice-0.5,"",1,1);
ExitShort("sx2",atlimit,EntryPrice-1.0,"",1,1);}
이동평균 10선이 시가를 돌파하면 매수 매도하는 시스템을 만들려고 하는데 아침 시가에 갭상승을 하면 이동평균선 10선이 시가 아래에 있어서 당일 첫봉에서 매도신호가 나오고, 갭하락헀을 때는 10선이 시가 위에 있어서 첫봉에 매수신호가 나오는데 첫봉 신호 없애거나 보완 방법을 가르쳐주세요. 감사합니다
2013-09-12
187
글번호 67476
답변완료
문의드림니다
늘수고 많으십니다 아래수식 검증이상없는데 신호가 발생되지 않습니다 수정부탁드립니다
Value3=Average(C,5);
Value4=Average(C,20);
//Volality filter
Condition1=var3>Var4;
if Condition1 then{
if crossup(Value3,Value4) Then
buy();
if CrossDown(Value3,Value4) Then
sell();
}
if MarketPosition(0)== 1 and C < Value4 and
C<Lowest(L,12)[1] then
ExitLong();
if MarketPosition(0)== 1 and c> Value4 and
C> Highest(H,12)[1] Then
ExitShort();
var : Da1(0),Da2(0),Da3(0);
var :Va1(0),Va2(0),Va3(0);
Va1= int (date/100)-int(date/10000)*100; // 월
Va2=date-int(date/100)*100; //일
Va3= DayOfWeek(date); // 요일
if Da1 % 3==0 and //3,6,9,12월이고
Da2 >= 8 and Da2 <=14 and //8 에서 14일 사이이고
Da3 == 4 then {
SetStopEndofday(144500);
} Else{
SetStopEndofday(150000);
}
키움수식을 예스로 전환부탁합니다
매수/매도 청산
W= WillamsR(10);
CC= CCi(10);
if (W >-96&&W(1) <= -96&&CC >-137,1,0)
매수청산/매도
W= WilliamsR(10);
CC= CCi(10);
if(W<-32&& W(1) >= -32 && CC < 63 && CC(1) >=63,1,0)
매수 /매도청산
M= Macd(12,26);
(ma(c,5) > ma (c,20) && ma (c(1),5) <= ma (C(1),20)) &&(M > ma (m,9)&& M(1) <= Ma(1),9))
매도 /매수청산
M = Macd(12,26);
(M < MA (M,9) && M(1) >= MA (M (1),9)) && (MA(c,5)< MA (c,10)&& MA (C(1),5) >=MA(c(1),10))
많은것 질문드려서 죄송합니다 수고 하세요
2013-09-12
217
글번호 67475
답변완료
수식부탁드립니다.
콜 옵션과, 풋옵션을 이용해서 시스템을 만들려고 합니다.
콜 옵션챠트를 띄우고,
풋 옵션챠트를 참조1(data2) 로 세팅을 합니다.
콜 1개와 풋을 1개를 직접 매수한 후
이후부터 시스템을 돌리고 싶습니다.
콜에서 10틱(input변수로 만들어주세요.) 수익이 나면, 콜을 청산하고,
콜을 다시 1개 매수하고, 풋은 2개를 매수합니다.
현재( 콜 1개, 풋 3개 보유중)
이상태에서 경우의 수가 두가지가 생기는데요,
1. 콜에서 10틱 수익이 나면, 콜을 청산하고,
콜을 다시 1개 매수하고, 풋은 4개를 매수합니다.
현재(콜 1개, 풋 7개 보유중)
2. 풋에서 10틱 수익이 나면(1계약 기준), 풋(3개)을 청산하고,
풋을 다시 1개 매수하고, 콜은 2개를 매수합니다.
현재(콜 3개, 풋 1개 보유중)
ㅁ 이런식으로 1,2,4,8... 2배씩 증가하면서 총 보유갯수가 63개까지 제한하고,
(콜이나 풋 둘중 어느 포지션이든) 63개까지 보유한 후 5틱 이익이 나면
모두 청산하는 식을 만들어 주세요.
ㅁ 콜과 풋 양쪽다 같은 방법으로 매매되게 해주세요.
ㅁ 어느 한쪽이 15개까지 보유하면 반대포지션 1계약 매수는 없이,
한쪽에만 추가로 16개를 매수하려고 합니다.
늘 빠르고 좋은 수식 작성해 주셔서 감사드립니다.
2013-09-11
191
글번호 67474
답변완료
분봉 종가
안녕하세요~
다음 수식 부탁드립니다.
당일 분봉에서 종가평균을 구할 때
if date != date[1] Then{
var1 = 0;
var2 = 0;
var3 = 0;
}
var1 = var1+C;
var2 = var2+1;
var3 = var1/var2;
plot1(var3);
이렇게 작성하면 당일 종가평균값 지표를 볼 수 있는데,
여기에 전일 분봉기준으로 완성된 종가평균값(장마감까지 완성된 봉의 종가평균)을
당일에 수평선으로 표시하려면 어떻게 해야되는지 부탁드립니다.
1일전, 2일전, 3일전 이렇게 3개의 선으로 표시되면 좋겠습니다.
감사합니다 !!!
2013-09-11
213
글번호 67473
답변완료
부탁드립니다.
예스로 부탁드립니다.
_SECTION_BEGIN( "Heikin" );
HaC = EMA( ( O + C + H + L ) / 4, 3 );
HaO = AMA( Ref( HaC, -1 ), 0.8 );
HaH = Max( H, Max( HaC, HaO ) );
HaL = Min( L, Min( HaC, HaO ) );
e1 = EMA( C, 21 );
e2 = MA( C, 26 );
ehh = e1 > e2 ;
ell = e1 < e2 ;
ri = ( e1 + e2 ) / 2;
Colri = IIf( ehh, colorBlue, colorRed );
SetBarFillColor( IIf( Hac > Hao, colorBlue, colorRed ) );
Colcan = IIf( Hac > ri, colorBlue, colorRed );
PlotOHLC( HaO, HaH, HaL, HaC, "" + Name(), colcan, styleCandle | styleNoLabel );
_SECTION_END();
_SECTION_BEGIN( "KBrain" );
//========================Initiation================ ========
bts = ParamToggle( "BrainTrend1 signal", "No|Yes" , 1 );
btst = ParamToggle( "BrainTrend1 stop", "No|Yes" , 1 );
btsl = ParamToggle( "BrainTrend1 stop line", "No|Yes" , 1 );
period = Param( "Period", 14, 6, 20, 1 );
x1 = 53;
x2 = 47;
d = 2.3;
f = 7;
s = 1.5;
range = ATR( f );
Range1 = ATR( f ) / d;
Range2 = ( ATR( f ) * s ) / 4;
range3 = ATR( 10 );
R = ( ( HHV( H, period ) - C ) / ( HHV ( H, period ) - LLV ( L, period ) ) ) * -100;
EMA1 = EMA( R, Period );
EMA2 = EMA( EMA1, 5 );
Difference = EMA1 - EMA2;
ZeroLagEMA = EMA1 + Difference;
value2 = abs( ZeroLagEMA );
function PercentR( periods )
{
return -100 * ( HHV( H, periods ) - C ) / ( HHV( H, periods ) - LLV( L, periods ) );
}
for ( i = 1; i < Period - 1; i++ )
{
tm = 1;
bstop = 1;
sstop = 1;
p = 1;
}
for ( i = period + 10; i < BarCount; i++ )
{
C[0] = 0;
Value2[0] = 0;
p[0] = 0;
Plot1[0] = 0;
Plot2[0] = 0;
Val1 = 0;
Val2 = 0;
temp[0] = 0;
Value3[0] = 0;
tm[0] = 0;
p1[i] = 0;
bt1[0] = 0;
bt2[0] = 0;
r[0] = 0;
bt1a[0] = 0;
bt2a[0] = 0;
istop[0] = Val1[0];
stop[i] = Val1[0];
bstop[0] = 0;
sstop[i] = 0;
//==================================Indicators====== ======================
{
if ( value2[i] < x2 AND abs( Close[i] - Close[i-2] ) > range1[i] )
p[i] = 1 ;
else
{
if ( value2[i] > x1 AND abs( Close[i] - Close[i-2] ) > Range1[i] )
p[i] = 2 ;
else
p[i] = 0;
}
}
if ( ( value2[i] < x2 AND p[i] == 1 ) OR ( value2[i] < x2 AND p[i] == 0 ) )
{
if ( abs( Close[i] - Close[i-2] ) > Range1[i] )
{
Plot1[i] = H[i];
Plot2[i] = L[i];
}
else
{
Plot1[i] = Plot1[i-1];
Plot2[i] = Plot2[i-1];
}
}
else
{
if ( ( value2[i] > x1 AND p[i] == 2 ) OR ( value2[i] > x1 AND p[i] == 0 ) )
{
Plot1[i] = L[i];
Plot2[i] = H[i];
}
else
{
Plot1[i] = Plot1[i-1];
Plot2[i] = Plot2[i-1];
}
}
//==================KBrain Signal ====================================
{
if ( value2[i] < x2 AND ( abs( Close[i] - Close[i-2] ) > Range1[i] ) )
{
if ( p[i] == 1 OR p[i] == 0 )
Value3[i] = L[i] - range3[i];
val1[i] = Value3[i];
p[i] = 1;
temp[i] = 1;
}
else
{
temp[i] = temp[i-1];
}
{
if ( value2[i] > x1 AND ( abs( Close[i] - Close[i-2] ) > Range1[i] ) )
{
if ( p[i] == 2 OR p[i] == 0 )
Value3[i] = H[i] + range3[i];
val2[i] = Value3[i];
p[i] = 2;
temp[i] = 2;;
}
}
}
{
if ( temp[i] == 1 AND Plot1[i] > 0 AND tm[i] != 1 )
tm[i] = 1;
if ( temp[i] == 2 AND Plot2[i] > 0 AND tm[i] != 2 )
tm[i] = 2;
}
//===============================stop=============== =========================
{
if ( value2[i] < x2 AND ( abs( Close[i] - Close[i-2] ) > Range1[i] )AND p[i] != 2 )
{
value3[i] = L[i] - range3[i];
va1[i] = Value3[i];
p1[i] = 2;
r[i] = Va1[i];
bstop[i] = Va1[i];
bt2[i] = bt2[i-1];
}
if ( value2[i] > x1 AND ( abs( Close[i] - Close[i-2] ) > Range1[i] )AND p[i] != 1 )
{
Value3[i] = H[i] + range3[i];
va2[i] = Value3[i];
p1[i] = 1;
r[i] = Va2[i];
sstop[i] = Value3[i];
bt1[i] = bt1[i-1];
}
}
if ( val1[i] == 0 AND val2[i] == 0 AND p[i] == 0 )
{
bstop[i] = bstop[i-1];
sstop[i] = sstop[i-1];
}
if ( bstop[i] < bstop[i-1] AND tm[i] == 1 AND tm[i-1] == 1 )
bstop[i] = bstop[i-1];
if ( sstop[i] > sstop[i-1] AND tm[i] == 2 AND tm[i-1] == 2 )
sstop[i] = sstop[i-1];
}
//=============================SYSTEM=============== =======================
Mycolor = IIf( p == 1, colorLime, IIf( p == 2, colorRed, colorBlue ) );
PlotShapes( shapeCircle* ( bts AND tm == 1 AND Ref( tm, -1 ) == 2 ), colorTurquoise, 0, bstop, 0 );
PlotShapes( shapeCircle* ( bts AND tm == 2 AND Ref( tm, -1 ) == 1 ), colorCustom12, 0, sstop, 0 );
PlotShapes( IIf( btst AND p == 1, shapeSmallCircle, Null ), colorTurquoise, 0, bstop, 0 );
Plot( IIf( btsl AND tm == 1, bstop, Null ), "", colorPaleBlue, 1 );
PlotShapes( IIf( btst AND p == 2, shapeSmallCircle, Null ), colorCustom12, 0, sstop, 0 );
Plot( IIf( btsl AND tm == 2, sstop, Null ), "", colorLightYellow, 1 );
Buy = Cover = ( bts AND tm == 1 AND Ref( tm, -1 ) == 2 );
Sell = Short = ( bts AND tm == 2 AND Ref( tm, -1 ) == 1 );
SellPrice = ValueWhen( Sell, C, 1 );
BuyPrice = ValueWhen( Buy, C, 1 );
Long = Flip( Buy, Sell );
Shrt = Flip( Sell, Buy );
_SECTION_END();
//=================TITLE============================ ================================================== ==================
_SECTION_BEGIN( "Title" );
if ( Status( "action" ) == actionIndicator )
(
Title = EncodeColor( colorWhite ) + "KBrain V 1.1. " + " - " + Name() + " - " + EncodeColor( colorRed ) + Interval( 2 ) + EncodeColor( colorWhite ) +
" - " + Date() + " - " + "₩n" + EncodeColor( colorYellow ) + "Op-" + O + " " + "Hi-" + H + " " + "Lo-" + L + " " +
"Cl-" + C + " " + "Vol= " + WriteVal( V ) + "₩n" +
EncodeColor( colorLime ) +
WriteIf ( Buy , " GO LONG / Reverse Signal at " + C + " ", "" ) +
WriteIf ( Sell , " EXIT LONG / Reverse Signal at " + C + " ", "" ) + "₩n" + EncodeColor( colorWhite ) +
WriteIf( Sell , "Total Profit/Loss for the Last Trade Rs." + ( C - BuyPrice ) + "", "" ) +
WriteIf( Buy , "Total Profit/Loss for the Last trade Rs." + ( SellPrice - C ) + "", "" ) +
WriteIf( Long AND NOT Buy, "Trade : Long - Entry price Rs." + ( BuyPrice ), "" ) +
WriteIf( shrt AND NOT Sell, "Trade : Short - Entry price Rs." + ( SellPrice ), "" ) + "₩n" +
WriteIf( Long AND NOT Buy, "Current Profit/Loss Rs." + ( C - BuyPrice ) + "", "" ) +
WriteIf( shrt AND NOT Sell, "Current Profit/Loss Rs." + ( SellPrice - C ) + "", "" ) );
_SECTION_END();
BuyPrice = ValueWhen( Buy, C );
SellPrice = ValueWhen( Sell, C );
Filter = ( Buy OR Sell );;
AddColumn( IIf( Buy, BuyPrice, Null ), " Buy ", 6.2, 1, colorGreen );
AddColumn( IIf( Sell, SellPrice, Null ), " sell ", 6.2, 1, colorOrange );
2013-09-11
519
글번호 67472
답변완료
문의
안녕하세요
지난 질문 32399 번의 답변을 받았는데, 죄송하지만 식에 설명을 좀 달아주시면 감사하겠습니다.
그리고 한가지 더, 100틱과 300틱을 분차트 1분,3분으로 변경해서 부탁드립니다.
감사합니다.
2013-09-11
193
글번호 67468