예스스탁
예스스탁 답변
2021-04-28 15:42:30
안녕하세요
예스스탁입니다.
var : Period1(3),Period2(10),Period3(30),Period4(120),U(0),K(0),W(0),N(0),X(0),Y(0),Z(0);
var : B(0),S(0),Bcnt(0),Scnt(0);
var26 = ema(Ema(Ema(c,period1),period1),period1); //5선
var27 = ema(Ema(Ema(c,period2),period2),period2); //20선
Var28 = ema(Ema(Ema(c,period3),period3),period3); //60선
Var29 = ema(Ema(Ema(c,period4),period4),period4); //240선
수식에 주석으로 5,20,60,240선인데
실제 지정된 기간은 3,10,30,120입니다.
아래 주석내용 참고하시기 바랍니다.
#Period3이평-Period4이평골드구간이고 Period2선 상승구간
if W == 1 and Y == 1 Then
{
#Period2선 상승첫봉에서는 B는 1
if Y != Y[1] Then
{
B = 1;
}
#Period2선 상승후 양봉이고 평균가가 Period1선보다 크면
#B는 2
if B == 1 and C > O and (C+O)/2 >= var26 Then
{
B = 2;
}
}
else
B = 0;
#Period2이평-Period3이평골드구간
if K == 1 Then
{
#골드 첫봉
#Bcnt는 0으로 초기화
if K != K[1] Then
Bcnt = 0;
#B가 2가 아니었다가 2가된 봉이 나오면
if B == 2 and B != B[1] Then
{
#카운트1식 증가
Bcnt = Bcnt+1;
#무포지션이거나 매도포지션이고 Bcnt가 3일때까지만
#매수진입
if MarketPosition <= 0 and Bcnt < 3 Then
Buy("콜");
}
}
즐거운 하루되세요
> 중추신경 님이 쓴 글입니다.
> 제목 : 보내주신 함수식 설명좀 부탁드릴게요
> 받아본 수식에 의하면 예를 들어 20과 60이 골든 크로스한 조건이 만족하고, 20선이 변곡이 나오고단다음, 5선이 변곡이 나올때 콜을 들어가는 조건인건데요..
K == 1 Then
{
if K != K[1] Then
Bcnt = 0;
if B == 2 and B != B[1] Then
{
Bcnt = Bcnt+1;
if MarketPosition <= 0 and Bcnt < 3 Then
Buy("콜");
}
}
이부분이 잘 이해가 안가서요.. Bcnt란 값을 넣어줘서 Bcnt = Bcnt + 1 값으로 Bcnt < 3 일때 매수하는 수식을 만드는 부분이 잘 이해가 안되네요...
이것도 변곡있는 부분에서 매수하는것을 말하는것 같은데요...
설명좀 부탁드립니다
///////////////////////////////////////
var : Period1(3),Period2(10),Period3(30),Period4(120),U(0),K(0),W(0),N(0),X(0),Y(0),Z(0);
var : B(0),S(0),Bcnt(0),Scnt(0);
var26 = ema(Ema(Ema(c,period1),period1),period1); //5선
var27 = ema(Ema(Ema(c,period2),period2),period2); //20선
Var28 = ema(Ema(Ema(c,period3),period3),period3); //60선
Var29 = ema(Ema(Ema(c,period4),period4),period4); //240선
//5-20 cross
if CrossUp(Var26,Var27) Then
U = 1;
if CrossDown(Var26,Var27) Then
U = -1;
//20-60 cross
if CrossUp(Var27,Var28) Then
K = 1;
if CrossDown(Var27,Var28) Then
K = -1;
//60-240 cross
if CrossUp(Var28,Var29) Then
W = 1;
if CrossDown(Var28,Var29) Then
W = -1;
//5-60 cross
if CrossUp(Var26,Var28) Then
N = 1;
if CrossDown(Var26,Var28) Then
N = -1;
//5선 상승하락
if Var26 > var26[1] Then
X = 1;
if Var26 < var26[1] Then
X = -1;
//20선 상승하락
if Var27 > var27[1] Then
Y = 1;
if Var27 < var27[1] Then
Y = -1;
//60선 상승하락
if Var28 > var28[1] Then
Z = 1;
if Var28 < var28[1] Then
Z = -1;
if W == 1 and Y == 1 Then
{
if Y != Y[1] Then
{
B = 1;
}
if B == 1 and C > O and (C+O)/2 >= var26 Then
{
B = 2;
}
}
else
B = 0;
if W == -1 and Y == -1 Then
{
if Y != Y[1] Then
{
S = 1;
}
if S == 1 and C < O and (C+O)/2 <= var26 Then
{
S = 2;
}
}
else
S = 0;
if K == 1 Then
{
if K != K[1] Then
Bcnt = 0;
if B == 2 and B != B[1] Then
{
Bcnt = Bcnt+1;
if MarketPosition <= 0 and Bcnt < 3 Then
Buy("콜");
}
}
if K == -1 Then
{
if K != K[1] Then
Scnt = 0;
if S == 2 and S != S[1] Then
{
Scnt = Scnt+1;
if MarketPosition >= 0 and Scnt < 3 Then
Sell("풋");
}
}
if MarketPosition == 1 Then
{
if U == 1 and CountIf(U == -1,BarsSinceEntry) == 0 and
X == -1 and X != X[1] and CountIf(X == -1 and X != X[1],BarsSinceEntry) == 3 Then
ExitLong("콜청산1");
if Y == -1 and C < O and (C+O)/2 <= var27 Then
ExitLong("콜정산2");
}
if MarketPosition == -1 Then
{
if U == -1 and CountIf(U == 1,BarsSinceEntry) == 0 and
X == 1 and X != X[1] and CountIf(X == 1 and X != X[1],BarsSinceEntry) == 3 Then
ExitShort("풋청산1");
if Y == 1 and C > O and (C+O)/2 >= Var27 Then
ExitShort("풋정산2");
}
SetStopEndofday(153000);