예스스탁
예스스탁 답변
2020-02-17 15:42:48
안녕하세요
예스스탁입니다.
언급하신 진입조건들 중에 완성봉이 아닌 실시간은 가능하지 않습니다.
input : Period(12),Period1(20),익절틱수(100);
input : StartTime1(103000),EndTime1(125000);
input : StartTime2(141000),EndTime2(165000);
input : StartTime3(23000),EndTime3(015000);
input : P(10);
input : BBP(20),Dv(2);
var : Tcond(false),mav1(0),i1(0),i2(0),BBup(0),BBdn(0);
mav1 = ma(C,P);
BBup = BollBandUp(BBP,dv);
BBdn = BollBandDown(BBP,dv);
if (sdate != sdate[1] and stime >= StartTime1) or
(sdate == sdate[1] and stime >= StartTime1 and stime[1] < StartTime1) Then
Tcond = true;
if (sdate != sdate[1] and stime >= EndTime1) or
(sdate == sdate[1] and stime >= EndTime1 and stime[1] < EndTime1) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime2) or
(sdate == sdate[1] and stime >= StartTime2 and stime[1] < StartTime2) Then
Tcond = true;
if (sdate != sdate[1] and stime >= EndTime2) or
(sdate == sdate[1] and stime >= EndTime2 and stime[1] < EndTime2) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime3) or
(sdate == sdate[1] and stime >= StartTime3 and stime[1] < StartTime3) Then
Tcond = true;
if (sdate != sdate[1] and stime >= EndTime3) or
(sdate == sdate[1] and stime >= EndTime3 and stime[1] < EndTime3) Then
Tcond = False;
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);
input : g(12),r(25),s(2);
var11 = ema(ema(c-(highest(H,g) + lowest(L,g))*0.5,r),s) * 100/
(0.5 * ema(ema(highest(H,g)-lowest(L,g),r),s));
#plot1(var11);
#plot2(40);
#plot3(-40);
if CountIF(value1 == value2,3)[1] == 3 and
value1 <= value2-PriceScale*20 Then
i1 = index;
if MarketPosition <= 0 and
i1 > 0 and index >= i1 and index <= i1+7 and
C < mav1 and mav1 > mav1[1] and C > O and
value1 > value1[1] Then
buy("b1",OnClose,def,2);
if MarketPosition <= 0 and
countif(value1 == value2,10) == 10 and
value2 == value2[1] and
C < O and C < value2 Then
buy("b2",OnClose,def,2);
if MarketPosition == 1 then
{
ExitLong("bl",AtStop,value2[BarsSinceEntry]-PriceScale*25);
ExitLong("bp1",AtLimit,EntryPrice+PriceScale*50,"",1,1);
ExitLong("bp2",AtLimit,EntryPrice+PriceScale*100,"",1,1);
if CurrentContracts < MaxContracts Then
ExitLong("btr",AtStop,EntryPrice+PriceScale*5,"",1,1);
if value2 != value2[1] Then
ExitLong("bx1");
ExitLong("bx2",AtStop,highest(BBdn,BarsSinceEntry)-PriceScale*15);
if bbup < value1 Then
ExitLong("bx3");
}
if CountIF(value1 == value2,3)[1] == 3 and
value1 >= value2-PriceScale*20 Then
i2 = index;
if MarketPosition >= 0 and
i2 > 0 and index >= i2 and index <= i2+7 and
C > mav1 and mav1 < mav1[1] and C < O and
value2 < value2[1] Then
sell("s1",OnClose,def,2);
if MarketPosition >= 0 and
countif(value1 == value2,10) == 10 and
value1 == value1[1] and
C > O and C > value1 Then
sell("s2",OnClose,def,2);
if MarketPosition == -1 then
{
ExitShort("sl",AtStop,value2[BarsSinceEntry]+PriceScale*25);
ExitShort("sp1",AtLimit,EntryPrice-PriceScale*50,"",1,1);
ExitShort("sp2",AtLimit,EntryPrice-PriceScale*100,"",1,1);
if CurrentContracts < MaxContracts Then
ExitShort("str",AtStop,EntryPrice-PriceScale*5,"",1,1);
if value1 != value1[1] Then
ExitShort("sx1");
ExitShort("sx2",AtStop,Lowest(BBup,BarsSinceEntry)+PriceScale*15);
if bbdn > value2 Then
ExitShort("sx3");
}
즐거운 하루되세요
> as8282 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 아래 66038 글에서
1.매수.
1-1) value1의 가격과 value2의 가격이 3봉이상 같고( value1의 가격과 value2 의 가격이 동시 같은가격 유지 )
value1의 가격이 아래로 내려오면 매수기준봉으로 한다. ( 매수갯수는 2계약 )
( 단 value1의 가격과 value2 의 가격폭이 20틱 이하면 매수금지 )
*** 매수는 매수기준봉 다음봉부터시작하여 7봉이후까지만 아래조건이 충족되면 매수(7봉이후 매수취소)
아래1) 10일선 이하이고 10일선의 기울기가 우상향일때 양봉이 보이자마자 바로매수
( 완성봉아닌 실시간 ) >>> 완성봉이 음봉으로 끝나더라도 완성봉전에 양봉이 보이면 바로매수
아래2) 매수신호발생시 전봉 value1의 가격보다 현재봉value1의 가격이 높아야한다.
1-2) value1의 가격과 value2의 가격이 10봉이상 같고(value1의 가격과 value2 의 가격이 동시 같은가격 유지)
value2의 가격밑 음봉에서 매수 ( 완성봉 )
( 단, 전봉의value2 가격과 현재봉value2 가격이 같아야한다.
2. 매수청산
2-1) 매수봉 value2 가격 밑 25틱
2-2) (매수갯수 2계약 )
1계약은 50틱 익절 , 2번째는 100틱 익절
( 단, 1계약이 50틱 익절이되면 1계약은 매수가( 본전 )의 위 5틱 청산 ( 스탑인지 트레일링인지? )
2-3) 매수이후 value2가격이 변동이 있으면 청산 ( 위,아래 관계없이 가격변동이되면 청산 )
2-4) 매수가 유지되고있는 동안 계속 볼린저밴드의 하단을 확인(추적)하여 최고가격의 15틱밑에서 청산
2-5) 볼린저밴드의 상단밴드 값이 value1보다 작으면 청산
3.매도
3-1) value1의 가격과 value2의 가격이 3봉이상 같고( value1의 가격과 value2 의 가격이 동시 같은가격 유지 )
value2의 가격이 위로 올라가면 매도기준봉으로 한다. ( 매도갯수는 2계약 )
( 단 value1의 가격과 value2 의 가격폭이 20틱 이하면 매도금지 )
*** 매도는 매도기준봉 다음봉부터시작하여 7봉이후까지만 아래조건이 충족되면 매도(7봉이후 매도취소)
아래1) 10일선 이상이고 10일선의 기울기가 우하향일때 음봉이 보이자마자 바로매도
( 완성봉아닌 실시간 ) >>> 완성봉이 양봉으로 끝나더라도 완성봉전에 음봉이 보이면 바로매도
아래2) 매도신호발생시 전봉 value2의 가격보다 현재봉value2의 가격이 낮아야한다.
3-2) value1의 가격과 value2의 가격이 10봉이상 같고(value1의 가격과 value2 의 가격이 동시 같은가격 유지)
value1의 가격위 양봉에서 매도 ( 완성봉 )
( 단, 전봉의value1 가격과 현재봉value1 가격이 같아야한다.
4. 매도청산
4-1) 매도봉 value1 가격 위 25틱
4-2) (매수갯수 2계약 )
1계약은 50틱 익절 , 2번째는 100틱 익절
( 단, 1계약이 50틱 익절이되면 1계약은 매도가( 본전 )의 밑 5틱에서 청산 ( 스탑인지 트레일링인지? )
4-3) 매도이후 value1가격이 변동이 있으면 청산 ( 위,아래 관계없이 가격변동이되면 청산 )
4-4) 매도가 유지되고있는 동안 계속 볼린저밴드의 상단을 확인(추적)하여 최저가격의 15틱위에서 청산
4-5) 볼린저밴드의 하단밴드 값이 value2보다 크면 청산
지표식부탁합니다.
위 청산식 중
2-4) 매수가 유지되고있는 동안 계속 볼린저밴드의 하단을 확인(추적)하여 최고가격의 15틱밑에서 청산
4-4) 매도가 유지되고있는 동안 계속 볼린저밴드의 상단을 확인(추적)하여 최저가격의 15틱위에서 청산
선으로 표현될수있게 지표식으로 부탁드립니다.