예스스탁
예스스탁 답변
2025-06-23 16:38:53
안녕하세요
예스스탁입니다.
if c > Value3 Then
{
buy("b");
if c < Value3 Then
{
sell("s");
수식의 신호발생 if문에 보시면 위와 같이 종가로 되어 있습니다.
이전 올려드린 수식에도 관련 설명을 드렸습니다.
value1이 shortPeriod이평, value2가 longPeriod이평, value3이 60이평입니다.
종가만 원하시는 이평으로 변경하시면 됩니다.
2개 이평이 모두 60이평보다 크거나 작을때로 변경해 드립니다.
var : shortPeriod(5), longPeriod(20) ,Period(60);
var : bh(0),bd(0),bt(0),tl1(0),tx1(0),A1(0),A2(0),A3(0);
var : sl(0),sd(0),st(0),tl2(0),tx2(0),B1(0),B2(0),B3(0);
var : A31(0),B31(0);
var : t(0);
value1 = wma(C, shortPeriod);
value2 = wma(C, longPeriod);
Value3 = WMa(c, Period);
If CrossUP(value1, value2) Then
{
t = 1;
bh = h;
bd = sDate;
bt = sTime;
if value2 > Value3 Then
{
buy("b");
if sl > 0 Then
{
A1 = sd;
A2 = st;
A3 = sl;
A31 = A3[1];
TL_SetEnd(TL1,A1,A2,A3[1]);
TL1 = TL_New(A1,A2,A3,NextBarSdate,NextBarStime,A3);
Text_SetLocation(Tx1,A1,A2,A3[1]);
if A3 > A31 Then
tx1 = Text_New(NextBarSdate,NextBarStime,A3,"▲"+NumToStr(A3,1));
Else
tx1 = Text_New(NextBarSdate,NextBarStime,A3,NumToStr(A3,1));
Text_SetColor(tx1,Blue);
Text_SetStyle(tx1,1,0);
}
}
ExitShort("sx");
}
If CrossDown(value1, value2) Then
{
t = -1;
sl = h;
sd = sDate;
st = sTime;
if value2 < Value3 Then
{
sell("s");
if bh > 0 Then
{
B1 = bd;
B2 = bt;
B3 = bh;
B31 = B3[1];
TL_SetEnd(TL2,B1,B2,B3[1]);
TL2 = TL_New(B1,B2,B3,NextBarSdate,NextBarStime,B3);
Text_SetLocation(tx2,B1,B2,B3[1]);
if B3 < B31 Then
tx2 = Text_New(NextBarSdate,NextBarStime,B3,"▼"+NumToStr(B3,1));
Else
tx2 = Text_New(NextBarSdate,NextBarStime,B3,NumToStr(B3,1));
Text_SetColor(tx2,Red);
Text_SetStyle(tx2,1,1);
}
}
ExitLong("bx");
}
if t == 1 Then
{
if h > bh Then
{
bh = h;
bd = sDate;
bt = sTime;
}
}
if t == -1 Then
{
if l < sl Then
{
sl = l;
sd = sDate;
st = sTime;
}
}
TL_SetEnd(tl1,NextBarSdate,NextBarStime,A3);
TL_SetEnd(tl2,NextBarSdate,NextBarStime,B3);
Text_SetLocation(tx1,NextBarSdate,NextBarStime,A3);
Text_SetLocation(tx2,NextBarSdate,NextBarStime,B3);
즐거운 하루되세요
> 와우리 님이 쓴 글입니다.
> 제목 : 부탁드립니다
> 60 이평 위에서 10, 20 이평 골든크로스
60 이평 아래서 10, 20 이평 데드크로스
기준으로 부탁드립니다 올려주신 수식을 적용해 보니 이미지 처럼 뜨네요
var : shortPeriod(5), longPeriod(20);
var : bh(0),bd(0),bt(0),tl1(0),tx1(0),A1(0),A2(0),A3(0);
var : sl(0),sd(0),st(0),tl2(0),tx2(0),B1(0),B2(0),B3(0);
var : A31(0),B31(0);
value1 = wma(C, shortPeriod);
value2 = wma(C, longPeriod);
If CrossUP(value1, value2) Then
{
buy();
bh = h;
bd = sDate;
bt = sTime;
if sl > 0 Then
{
A1 = sd;
A2 = st;
A3 = sl;
A31 = A3[1];
TL_SetEnd(TL1,A1,A2,A3[1]);
tl1 = TL_New(A1,A2,A3,NextBarSdate,NextBarStime,A3);
Text_SetLocation(Tx1,A1,A2,A3[1]);
if A3 > A31 Then
tx1 = Text_New(NextBarSdate,NextBarStime,A3,"▲"+NumToStr(A3,1));
Else
tx1 = Text_New(NextBarSdate,NextBarStime,A3,NumToStr(A3,1));
Text_SetColor(tx1,Blue);
Text_SetStyle(tx1,1,0);
}
}
If CrossDown(value1, value2) Then
{
sell();
sl = l;
sd = sDate;
st = sTime;
if bh > 0 Then
{
B1 = bd;
B2 = bt;
B3 = bh;
B31 = B3[1];
TL_SetEnd(TL2,B1,B2,B3[1]);
TL2 = TL_New(B1,B2,B3,NextBarSdate,NextBarStime,B3);
Text_SetLocation(tx2,B1,B2,B3[1]);
if B3 < B31 Then
tx2 = Text_New(NextBarSdate,NextBarStime,B3,"▼"+NumToStr(B3,1));
Else
tx2 = Text_New(NextBarSdate,NextBarStime,B3,NumToStr(B3,1));
Text_SetColor(tx2,Red);
Text_SetStyle(tx2,1,1);
}
}
if MarketPosition == 1 Then
{
if h > bh Then
{
bh = h;
bd = sDate;
bt = sTime;
}
}
if MarketPosition == -1 Then
{
if l < sl Then
{
sl = l;
sd = sDate;
st = sTime;
}
}
TL_SetEnd(tl1,NextBarSdate,NextBarStime,A3);
TL_SetEnd(tl2,NextBarSdate,NextBarStime,B3);
Text_SetLocation(tx1,NextBarSdate,NextBarStime,A3);
Text_SetLocation(tx2,NextBarSdate,NextBarStime,B3);