예스스탁
예스스탁 답변
2025-08-06 10:07:22
안녕하세요
예스스탁입니다.
올리신 지표식을 시스템식으로 변경하면 아래와 같습니다.
다만 시스템은 직접 원하는 종목의 차트를 열어 해당 식을 자동주문으로 적용해 주셔야 하며
자동주문시 매수신호만 주문하고 매도는 주문되지 않게 할 수는 없습니다.
수동주문 여부를 시스템에서는 알수 없어 사용자분이 수동으로 청산해도
시스템에서 매도조건 만족하면 주문이 집행됩니다.
input : length(15);
input : show_levl(true);
var : up(0),dn(0),A(0),emaValue(0),correction(0),zlma(0);
var : signalUp(False),signalDn(False),zlma_color(0),ema_col(0);
var : TOP(0),BTM(0),box(0),tx(0),tx1(0),check_signals(False);
up = Black;
dn = Blue;
#var box1 = box(na) // Variable to store the box
a = atr(200);
emaValue = ema(close, length);
correction = close + (close - emaValue);
zlma = ema(correction, length);
signalUp = CrossUp(zlma, emaValue);
signalDn = CrossDown(zlma, emaValue);
zlma_color = iff(zlma > zlma[3] , up , iff(zlma < zlma[3] , dn , Nan));
ema_col = iff(emaValue < zlma , up , dn);
if signalUp Then
{
Top = zlma;
BTM = zlma-A;
var3 = (Top+BTM)/2;
}
else if signalDn Then
{
Top = zlma+A;
BTM = zlma;
var3 = (Top+BTM)/2;
}
check_signals = signalUp or signalDn;
if CrossDown(high, BTM) and emaValue > zlma Then
{
Buy("b");
}
if CrossUp(low, Top) and emaValue < zlma Then
{
ExitLong("bx");
}
즐거운 하루되세요
> 제너리 님이 쓴 글입니다.
> 제목 : 트레이닝 궁굼합니다. 가능할까요?
> 아래 지표설정대로 제가 지정하는 종목에(1개~다수) 대해서 일봉기준으로 매매하고 싶습니
다.
1. 매수후 중복으로 나오는 매수신호는 무시
2. 지정하는 종목(1~다수)
3. 매도신호시 청산(통합주문2101에서 해도 무방한가요?)
input : length(15);
input : show_levl(true);
var : up(0),dn(0),A(0),emaValue(0),correction(0),zlma(0);
var : signalUp(False),signalDn(False),zlma_color(0),ema_col(0);
var : TOP(0),BTM(0),box(0),tx(0),tx1(0),check_signals(False);
up = Black;
dn = Blue;
#var box1 = box(na) // Variable to store the box
a = atr(200);
emaValue = ema(close, length);
correction = close + (close - emaValue);
zlma = ema(correction, length);
signalUp = CrossUp(zlma, emaValue);
signalDn = CrossDown(zlma, emaValue);
zlma_color = iff(zlma > zlma[3] , up , iff(zlma < zlma[3] , dn , Nan));
ema_col = iff(emaValue < zlma , up , dn);
plot1(zlma, "ZLMA",zlma_color); // Plot ZLMA
plot2(emaValue,"EMA",ema_col);
if signalUp Then
{
Top = zlma;
BTM = zlma-A;
box = box_new(sDate,sTime,Top,NextBarSdate,NextBarStime,BTM);
Box_SetColor(box,up);
Box_SetFill(box,true);
var3 = (Top+BTM)/2;
tx = Text_New(NextBarSdate,NextBarStime,var3,NumToStr(C,2));
Text_SetStyle(tx,1,2);
}
else if signalDn Then
{
Top = zlma+A;
BTM = zlma;
box = box_new(sDate,sTime,Top,NextBarSdate,NextBarStime,BTM);
Box_SetColor(box,dn);
Box_SetFill(box,true);
var3 = (Top+BTM)/2;
tx = Text_New(NextBarSdate,NextBarStime,var3,NumToStr(C,2));
Text_SetStyle(tx,1,2);
}
Else
{
Box_SetEnd(box,sDate,sTime,BTM);
Text_SetLocation(tx,sDate,sTime,var3);
}
check_signals = signalUp or signalDn;
if CrossDown(high, BTM) and emaValue > zlma Then
{
tx1 = Text_New(sDate[1],sTime[1],H[1],"▼");
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,dn);
}
if CrossUp(low, Top) and emaValue < zlma Then
{
tx1 = Text_New(sDate[1],sTime[1],L[1],"▲");
Text_SetStyle(tx1,2,0);
Text_SetColor(tx1,up);
}