예스스탁
예스스탁 답변
2019-11-28 15:46:20
안녕하세요
예스스탁입니다.
input : P(20),dv(2);
var : BBup1(0,data1),BBdn1(0,data1),BBmd1(0,data1);
var : BBup2(0,data2),BBdn2(0,data2),BBmd2(0,data2);
var : BBup3(0,data3),BBdn3(0,data3),BBmd3(0,data3);
var : BBup4(0,data4),BBdn4(0,data4),BBmd4(0,data4);
BBup1 = data1(BollBandUp(P,dv));
BBdn1 = data1(BollBandDown(P,dv));
BBmd1 = data1(ma(C,P));
BBup2 = data2(BollBandUp(P,dv));
BBdn2 = data2(BollBandDown(P,dv));
BBmd2 = data2(ma(C,P));
BBup3 = data3(BollBandUp(P,dv));
BBdn3 = data3(BollBandDown(P,dv));
BBmd3 = data3(ma(C,P));
BBup4 = data4(BollBandUp(P,dv));
BBdn4 = data4(BollBandDown(P,dv));
BBmd4 = data4(ma(C,P));
if data1(time < 101500 and NextBarStime >= 101500) then
{
if data1(C[1] > BBup1[1] and O < BBdn1) and data2(C[1] > BBup2[1] and O < BBdn2) then
buy("b1",AtMarket);
if data3(C[1] > BBup3[1] and O < BBdn3) or data4(C[1] > BBup4[1] and O < BBdn4) then
buy("b2",AtMarket);
if data1(C[1] > BBup1[1] and O > BBup1) and data2(C[1] > BBup2[1] and O > BBup2) then
buy("b3",AtMarket);
if data3(C[1] > BBup3[1] and O > BBup3) or data4(C[1] > BBup4[1] and O > BBup4) then
buy("b4",AtMarket);
}
if data1(time < 101500 and NextBarStime >= 101500) then
{
if data1(C[1] < BBdn1[1] and O > BBup1) and data2(C[1] < BBdn2[1] and O > BBup2) then
sell("s1",AtMarket);
if data3(C[1] < BBdn3[1] and O > BBup3) or data4(C[1] < BBdn4[1] and O > BBup4) then
sell("s2",AtMarket);
if data1(C[1] < BBdn1[1] and O < BBdn1) and data2(C[1] < BBdn2[1] and O < BBdn2) then
sell("s3",AtMarket);
if data3(C[1] < BBdn3[1] and O < BBdn3) or data4(C[1] < BBdn4[1] and O < BBdn4) then
sell("s4",AtMarket);
}
if MarketPosition == 1 then
{
if (IsEntryName("b1") == true or
IsEntryName("b2")) and
(data1(crossup(c,BBmd1)) or
data2(crossup(c,BBmd2)) or
data3(crossup(c,BBmd3)) or
data4(crossup(c,BBmd4))) Then
ExitLong("bx1",AtMarket);
if (IsEntryName("b3") == true or
IsEntryName("b4")) and
(data1(CrossDown(c,BBup1)) or
data2(CrossDown(c,BBup2)) or
data3(CrossDown(c,BBup3)) or
data4(CrossDown(c,BBup4))) Then
ExitLong("bx2",AtMarket);
}
if MarketPosition == -1 then
{
if (IsEntryName("s1") == true or
IsEntryName("s2")) and
(data1(CrossDown(c,BBmd1)) or
data2(CrossDown(c,BBmd2)) or
data3(CrossDown(c,BBmd3)) or
data4(CrossDown(c,BBmd4))) Then
ExitShort("sx1",AtMarket);
if (IsEntryName("s3") == true or
IsEntryName("s4")) and
(data1(Crossup(c,BBdn1)) or
data2(Crossup(c,BBdn2)) or
data3(Crossup(c,BBdn3)) or
data4(Crossup(c,BBdn4))) Then
ExitShort("sx2",AtMarket);
}
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
아래 전략에 대해 스크립트 작성 요청드립니다.
※
1) 적용하고자 하는 상품
data1 = 항셍지수 선물 5분봉
data2 = 항셍지수 선물 10분봉
data3 = 항셍지수 선물 15분봉
data4 = 항셍지수 선물 20분봉
2) 매수진입 조건
(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입
or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입
or (data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입
or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입
3) 매도진입 조건
(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입
or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입
or (data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입
or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입
4) 매수청산 조건
{(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입
or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입}한 경우에는
현재가가 (data1 or data2 or data3 or data4)의 볼린저밴드 중심선을 상향이탈시 익봉 시가에 청산
{(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입
or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입}
한 경우에는
현재가가 (data1 or data2 or data3 or data4)의 볼린저밴드 상단선을 하향이탈시 익봉 시가에 청산
5) 매도청산 조건
{(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입
or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입}
한 경우에는
현재가가 (data1 or data2 or data3 or data4)의 볼린저밴드 하단선을 상향이탈시 익봉 시가에 청산
{(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입
or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입}
한 경우에는
현재가가 (data1 or data2 or data3 or data4)의 볼린저밴드 중심선을 상향이탈시 익봉 시가에 청산
※
아래 글번호 65045번에 답변주셨던 내용을 수정하여 답변 요청드립니다.
input : P(20),dv(2);
var : BBup1(0,data1),BBdn1(0,data1);
var : BBup2(0,data2),BBdn2(0,data2);
var : BBup3(0,data3),BBdn3(0,data3);
var : BBup4(0,data4),BBdn4(0,data4);
BBup1 = data1(BollBandUp(P,dv));
BBdn1 = data1(BollBandDown(P,dv));
BBup2 = data2(BollBandUp(P,dv));
BBdn2 = data2(BollBandDown(P,dv));
BBup3 = data3(BollBandUp(P,dv));
BBdn3 = data3(BollBandDown(P,dv));
BBup4 = data4(BollBandUp(P,dv));
BBdn4 = data4(BollBandDown(P,dv));
if data1(time < 101500 and NextBarStime >= 101500) and
((data1(O < C[1] and O < BBdn1) and
data2(O < C[1] and O < BBdn2)) or
data3(O < C[1] and O < BBdn3) or
data4(O < C[1] and O < BBdn4)) Then
buy("b",AtMarket);
if data1(time < 101500 and NextBarStime >= 101500) and
((data1(O > C[1] and O > BBup1) and
data2(O > C[1] and O > BBup2)) or
data3(O > C[1] and O > BBup3) or
data4(O > C[1] and O > BBup4)) Then
sell("s",AtMarket);
if MarketPosition == 1 and
(data1(c > BBup1) or
data2(c > BBup2) or
data3(c > BBup3) or
data3(c > BBup4)) Then
ExitLong("bx",AtMarket);
if MarketPosition == -1 and
(data1(c < BBdn1) or
data2(c < BBdn2) or
data3(c < BBdn3) or
data4(c < BBdn4)) Then
ExitShort("sx",AtMarket);