예스스탁
예스스탁 답변
2021-04-23 13:18:09
안녕하세요
예스스탁입니다.
3분봉의 10일이평과 20일이평은 단순이평이면
var1 = Ema(C,Period1);
Var2 = Ema(C,Period2);
Var3 = Ema(C,Period3);
아래 시스템식에서 위 내용을 아래와 같이 변경하시면 됩니다.
var1 = Ema(C,Period1);
Var2 = ma(C,Period2);
Var3 = ma(C,Period3);
3분봉에서 60분봉의 지수이평을 별도로 계산해서 사용합니다.
지수이평이 과거봉수에 영향을 받는 지표이므로 차트에 가능한 많은 봉을 조회하고 적용하셔야 합니다.
2번의 지표식은 3분봉에서 60분봉 지수이평을 그리는 지표식입니다.
참고하시기 바랍니다.
1. 시스템
Input : ntime(60),P1(5),P2(20);
input : Period1(5),Period2(10),Period3(20);
var : S1(0),D1(0),TM(0),TF1(0),idx(0);
Var : Ep1(0), JISU1(0), PreJISU1(0);
Var : Ep2(0), JISU2(0), PreJISU2(0);
var1 = Ema(C,Period1);
Var2 = Ema(C,Period2);
Var3 = Ema(C,Period3);
value1 = Highest(H,10);
value2 = Lowest(L,10);
#타분봉지수이평 계산
Ep1 = 2/(P1+1);
Ep2 = 2/(P2+1);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF1 = TM%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF1 < TF1[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
idx = idx+1;
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
}
if idx <= 1 then {
JISU1 = C;
JISU2 = C;
}
else{
JISU1 = C * EP1 + PreJISU1 * (1-EP1);
JISU2 = C * EP2 + PreJISU2 * (1-EP2);
}
if MarketPosition >= 0 and
C < JISU1 and JISU1 < JISU2 and
var1 < Var2 and Var2 < Var3 and
Var2 > H and H > var1 and var1 > C Then
Sell("s");
if MarketPosition == -1 Then
{
ExitShort("sl",AtStop,value1[BarsSinceEntry]);
ExitShort("sp",AtLimit,EntryPrice-(value1[BarsSinceEntry]-Value2[BarsSinceEntry]));
}
if MarketPosition <= 0 and
C > JISU1 and JISU1 > JISU2 and
var1 > Var2 and Var2 > Var3 and
O > var1 and var1 > L and L > Var2 Then
Buy("b");
if MarketPosition == 1 Then
{
ExitLong("bl",AtStop,value2[BarsSinceEntry]);
ExitLong("bp",AtLimit,EntryPrice+(value1[BarsSinceEntry]-Value2[BarsSinceEntry]));
}
}
2 타분봉 지수이평 지표
Input : ntime(60),P1(5),P2(20);
var : S1(0),D1(0),TM(0),TF1(0),idx(0);
Var : Ep1(0), JISU1(0), PreJISU1(0);
Var : Ep2(0), JISU2(0), PreJISU2(0);
Ep1 = 2/(P1+1);
Ep2 = 2/(P2+1);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF1 = TM%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF1 < TF1[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
idx = idx+1;
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
}
if idx <= 1 then {
JISU1 = C;
JISU2 = C;
}
else{
JISU1 = C * EP1 + PreJISU1 * (1-EP1);
JISU2 = C * EP2 + PreJISU2 * (1-EP2);
}
Plot1(JISU1);
Plot2(JISU2);
}
즐거운 하루되세요
> 황금룰 님이 쓴 글입니다.
> 제목 : 수식 부탁드립니다
> 수고해 주셔서 감사드립니다.
아래의 조건에 따른 매매식 부탁을 드립니다.
매도조건
60분봉 상태
1. 5일 지수이동평균과 20일 지수이동평균 역배열 상태
2. 5일 지수이동평균 > 60분봉 현재가
3분봉 상태
1. 5일 지수이동평균과 10일 이동평균과 20일 이동평균 역배열 상태
2. 10일 이동평균 > 고가 > 5일 이동평균 AND 5일 이동평균 > 종가
3. 60분봉 조건과 3분봉 1번과 2번 조건 만족시 종가 매도
손절
1. 조건봉 직전 10켄들의 고점
익절
1. 조건봉 직전 10켄들의 고점과 저점의 폭
매수조건
60분봉 상태
1. 5일 지수이동평균과 20일 지수이동평균 정배열 상태
2. 60분봉 현재가 > 5일 지수이동평균
3분봉 상태
1. 5일 지수이동평균과 10일 이동평균과 20일 이동평균 정배열 상태
2. 시가 > 5일 이동평균 AND 5일 이동평균 > 저가 > 10일 이동평균
3. 60분봉 조건과 3분봉 1번과 2번 조건 만족시 종가 매수
손절
1. 조건봉 직전 10켄들의 저점
익절
1. 조건봉 직전 10켄들의 고점과 저점의 폭
감사드립니다.