예스스탁
예스스탁 답변
2020-02-11 10:45:14
안녕하세요
예스스탁입니다.
input : Period(12),Period1(12),P(10);
input : sto1(10),sto2(5),sto3(5);
Input : BBP(20), MultiD(2);
var : BBmd(0),BBup(0),BBdn(0);
var : t1(0),t2(0),t3(0),diff(0),hh(0),ll(0),h1(0),l1(0);
var : stok(0),stod(0);
var : T(0),X(0),mav(0);
stok = StochasticsK(sto1,sto2);
stod = StochasticsD(sto1,sto2,sto3);
mav = ma(C,P);
var1 = trix(Period);
var2 = ma(C,Period1);
if crossup(var1,0) Then
value1 = var2;
if var2 > value1 Then
value1 = var2;
if CrossDown(var1,0) Then
value2 = var2;
if var2 < value2 Then
value2 = var2;
if crossup(stok,stod) Then
value11 = var2;
if var2 > value11 Then
value11 = var2;
if CrossDown(stok,stod) Then
value2 = var2;
if var2 < value22 Then
value22 = var2;
BBmd = ma(C,BBP);
BBup = BollBandUp(Period,BBP);
BBdn = BollBandDown(Period,BBP);
if bbup > bbup[1] Then
t1 = 1;
if bbup < bbup[1] Then
t1 = -1;
if bbdn > bbdn[1] Then
t2 = 1;
if bbdn < bbdn[1] Then
t2 = -1;
diff = bbup-bbdn;
if diff > diff[1] Then
t3 = 1;
if diff < diff[1] Then
t3 = -1;
if t3 == 1 and t3 != t3[1] then
{
hh = diff;
h1 = hh[1];
}
if t3 == -1 and t3 != t3[1] then
{
ll = diff;
l1 = ll[1];
}
if t3 == -1 and diff < ll Then
ll = diff;
if MarketPosition <= 0 and
value2 == value2[1] and
var2[1] >= value2[2] and var2[2] < value2[2] Then
{
T = 1;
X = index;
if C <= value2+PriceScale*30 and diff > highest(diff,30)*0.5 Then
{
buy("b1");
T = 2;
}
}
if MarketPosition <= 0 and
var2 > value2 and value2 == value2[1] and
value1 > value1[1] and value1[1] == value1[2] then
{
T = 1;
X = index;
if C < value2+PriceScale*30 and diff > highest(diff,30)*0.5 Then
{
X = 2;
buy("b2");
}
}
if MarketPosition <= 0 and
value22 == value22[1] and
var2[1] >= value22[2] and var2[2] < value22[2] Then
{
T = 1;
X = index;
if C <= value22+PriceScale*30 and diff > highest(diff,30)*0.5 Then
{
buy("b4-1");
T = 2;
}
}
if MarketPosition <= 0 and
var2 > value22 and value22 == value22[1] and
value11 > value11[1] and value11[1] == value11[2] then
{
T = 1;
X = index;
if C < value22+PriceScale*30 and diff > highest(diff,30)*0.5 Then
{
X = 2;
buy("b4-2");
}
}
if MarketPosition <= 0 and
T == 1 and index < X+5 and C > O and C < mav and diff > highest(diff,30)*0.5 Then
buy("b3");
if MarketPosition <= 0 and
value2 == value2[1] and
var2[1] <= value2[2] and var2[2] > value2[2] Then
{
T = -1;
X = index;
if C >= value2-PriceScale*30 and diff > lowest(diff,30)*2 Then
{
sell("s1");
T = -2;
}
}
if MarketPosition >= 0 and
var2 < value2 and value2 == value2[1] and
value1 < value1[1] and value1[1] == value1[2] then
{
T = -1;
X = index;
if C > value2-PriceScale*30 and diff > lowest(diff,30)*2 Then
{
X = -2;
sell("s2");
}
}
if MarketPosition >= 0 and
value22 == value22[1] and
var2[1] <= value22[2] and var2[2] > value22[2] Then
{
T = -1;
X = index;
if C > value22-PriceScale*30 and diff > lowest(diff,30)*2 Then
{
sell("s4-1");
T = -2;
}
}
if MarketPosition >= 0 and
var2 < value22 and value22 == value22[1] and
value11 < value11[1] and value11[1] == value11[2] then
{
T = -1;
X = index;
if C > value22-PriceScale*30 and diff > lowest(diff,30)*2 Then
{
X = -2;
sell("s4-2");
}
}
if MarketPosition >= 0 and
T == -1 and index < X+5 and C < O and mav and diff > lowest(diff,30)*2 Then
sell("s3");
if MarketPosition == 1 then
{
ExitLong("bx1",AtStop,value2[BarsSinceEntry]-PriceScale*15);
if t1 == -1 and t1 != t1[1] and t3 == -1 and hh >= l1*2 and countif(t3 !=t3[1],30) >= 1 Then
exitlong("bx2");
if var2[1] >= value2[1] and var2[2] < value2[2] and
value2 == value2[1] Then
exitlong("bx3");
}
if MarketPosition == -1 then
{
ExitShort("sx1",AtStop,value2[BarsSinceEntry]+PriceScale*15);
if t2 == 1 and t2 != t2[1] and t3 == 1 and ll <= h1/2 and countif(t3 !=t3[1],30) >= 1 Then
ExitShort("sx2");
if var2[1] <= value2[1] and var2[2] > value2[2] and
value2 == value2[1] Then
ExitShort("sx3");
}
즐거운 하루되세요
> as8282 님이 쓴 글입니다.
> 제목 : 부탁합니다
> input : Period(12),Period1(12);
Input : BBP(20), MultiD(2);
var : BBmd(0),BBup(0),BBdn(0);
var : t1(0),t2(0),t3(0),diff(0),hh(0),ll(0),h1(0),l1(0);
var1 = trix(Period);
var2 = ma(C,Period1);
BBmd = ma(C,BBP);
BBup = BollBandUp(Period,BBP);
BBdn = BollBandDown(Period,BBP);
if crossup(var1,0) Then
value1 = var2;
if var2 > value1 Then
value1 = var2;
if CrossDown(var1,0) Then
value2 = var2;
if var2 < value2 Then
value2 = var2;
#plot1(value1);
#plot2(value2);
#plot3(var2);
if bbup > bbup[1] Then
t1 = 1;
if bbup < bbup[1] Then
t1 = -1;
if bbdn > bbdn[1] Then
t2 = 1;
if bbdn < bbdn[1] Then
t2 = -1;
diff = bbup-bbdn;
if diff > diff[1] Then
t3 = 1;
if diff < diff[1] Then
t3 = -1;
if t3 == 1 and t3 != t3[1] then
{
hh = diff;
h1 = hh[1];
}
if t3 == -1 and t3 != t3[1] then
{
ll = diff;
l1 = ll[1];
}
if t3 == -1 and diff < ll Then
ll = diff;
if MarketPosition <= 0 then
{
if CrossUp(var2,value2) and value1 != value1[1] Then
buy("b1");
if var2 > value2 and value1 != value1[1] and C > O and C < ma(C,10) Then
buy("b2");
if CrossUp(var2,value2) and value1 != value1[1] and !(bbup < bbup[1] and bbdn > bbdn[1]) Then
buy("b3");
}
if MarketPosition == 1 then
{
ExitLong("bx1",AtStop,value2[BarsSinceEntry]-PriceScale*15);
if CrossDown(var2,value1) Then
exitlong("bx2");
if t1 == -1 and t1 != t1[1] and t3 == -1 and hh >= l1*2 and countif(t3 !=t3[1],30) >= 1 Then
exitlong("bx3");
}
if MarketPosition >= 0 then
{
if CrossDown(var2,value2) and value1 != value1[1] Then
sell("s1");
if var2 < value2 and value1 != value1[1] and C < O and C > ma(C,10) Then
sell("s2");
if CrossDown(var2,value2) and value1 != value1[1] and !(bbup > bbup[1] and bbdn < bbdn[1]) Then
sell("s3");
}
if MarketPosition == -1 then
{
ExitShort("sx1",AtStop,value2[BarsSinceEntry]+PriceScale*15);
if CrossUp(var2,value1) Then
ExitShort("sx2");
if t2 == 1 and t2 != t2[1] and t3 == 1 and ll <= h1/2 and countif(t3 !=t3[1],30) >= 1 Then
ExitShort("sx3");
}
2
Input : Period(12), sigPeriod(9);
var : TRIXv(0),TRIXsig(0);
TRIXv = TRIX(Period);
TRIXsig = ema(TRIX(Period),sigPeriod);
plot1(TRIXsig-TRIXsig[1],"sig",iff( TRIXsig-TRIXsig[1] > 0,red,BLUE));
즐거운 하루되세요
> as8282 님이 쓴 글입니다.
> 제목 : 부탁합니다
> input : Period(12),Period1(12);
var1 = trix(Period);
var2 = ma(C,Period1);
if crossup(var1,0) Then
value1 = var2;
if var2 > value1 Then
value1 = var2;
if CrossDown(var1,0) Then
value2 = var2;
if var2 < value2 Then
value2 = var2;
plot1(value1);
plot2(value2);
plot3(var2);
지표식인데 시스템으로 만들고 싶습니다.
1) 매수
1-1) 매수 첫번째 경우
*** plot3의 가격이 plot2의 가격 밑에서 올라오면서 plot2의 가격위로 올라오면 매수 ( 종가매수 )
( 단, 매수시점에 plot1의 가격이 일정하게 유지 ( 전봉과 같은가격 )되고 있으면 매수금지)
1-2 ) 매수 두번째
*** 위 1-1 )의 매수조건이 유지되고있는 상황에서 현재가가 이평선 10일 이하에서
양봉이 보이면 바로매수
( 마찬가지로 plot1의 가격이 일정하게 유지 ( 전봉과 같은가격 )되고 있으면 매수금지)
1-3) 매수 첫번째 1-1) 에서 볼린저밴드의 상한선이 하향하고 동시에
하한선이 상향하면 매수금지
2) 매수청산
2-1) 손절은 매수시점의 plot2의 가격 밑에서 15틱
( 손절이후 매수조건이 다시 충족되면 매수 )
2-2) 매수이후 plot3의 가격이 위에서 내려오면서 plot1의 가격을 내려가면
( 매도조건 ) 매수청산
2-3) 매수이후 전30봉을 확인하여 볼린저밴드가 최저폭의 2배이상 벌어졌다가
줄어들면서 볼린저밴드의 상한선이 상향에서 하향으로 바뀌면 청산
=========================================================================
예스님이 작성해주신 수식인데 조건을 변경해서 다시 부탁드립니다.
위의 조건을 모두 무시하고 새로운조건만 적용합니다.
1) 매수
1-1) 매수 첫번째 경우
전봉에서 plot3의 가격이 plot2의 가격이 같거나 밑에서 올라오고
현재봉의 plot2의 가격이 전봉의 plot2가격과 같을때 종가매수
(단, 매수신호가격이 plot2 가격의 30틱이상이면 매수금지 )
1-2) plot3의 가격이 plot2가격의 위에있으면서 plot2의 가격이 전봉과 같은가격이 (일정하게)유지되고있고
plot1의 가격이 전봉과 같은가격으로 유지되다가 plot1의 가격이 올라가면 매수
(단, 매수신호가격이 plot2 가격의 30틱이상이면 매수금지 )
1-3 )
위 1-1 ), 1-2)의 매수조건중 (단, 매수신호가격이 plot2 가격이 30틱이상이면 매수금지 ) 때문에 신호발생이 안되는 상황이면
이평선 10일 이하에서 양봉이 보이면 바로매수( 종가매수아닌 실시간체결 )
>>>( 매수신호가격이 plot2 가격의 30틱이상이면 매수금지 ) >>> 조건 없음
( 단 1-1),1-2) 신호조건이 발생후 5봉 이후까지만 신호발생되게 부탁합니다.)
1-4) 1-1) 1-2) 1-3)은 상기지표 2 트릭스시그널과
스토캐스틱도 같은 상황의 지표를 만들어서
두가지 지표가 모두 반대 ( 음봉 )이면 매수금지( 한가지 지표만 반대이면 매수가능 )
>>> 신호발생봉이 위 지표조건때문에 신호가 발생되지않고 다음봉이후 5봉까지 한가지 신호라도 양봉으로 조건이 바뀌면 매수조건 1-3)으로 매수신호 발생되게 부탁드립니다.( 5봉까지 == 5봉 이후에도 지표가 한가지라도 양봉이 안나오면 매수금지)
>>>> 이 조건은 주석 부탁드립니다.
아직 예스가 서툴러서 조건 삭제할수도 있으나 잘 몰라서 따로 부탁드립니다.
1-5 ) 1-1),1-2),1-3),1-4) 매수조건 공통으로
전봉 30봉을 확인하면서 최대폭의 50%이하로 줄면 매수금지
2) 매수청산
2-1) 손절은 매수시점의 plot2의 가격 밑에서 15틱
( 손절이후 매수조건이 다시 충족되면 매수 )
2-2) 매수이후 전30봉을 확인해가면서 볼린저밴드가 최저폭의 2배이상 벌어졌다가
줄어들면서 볼린저밴드의 상한밴드가 하향으로 바뀌면 청산
2-3) 전봉에서 plot3의 가격이 plot2의 가격이 같거나 밑에서 올라오고
현재봉의 plot2의 가격이 전봉의 plot2가격과 같을때 청산
매도는 반대