예스스탁
예스스탁 답변
2016-03-29 09:30:18
안녕하세요
예스스탁입니다.
매수매도시점은 주석 참고하시기 바랍니다.
진입청산내용은 주석으로 판단하시기 바랍니다.
어떤의미에서 해당 조건으로 진입청산하는지 정확히 모르겠습니다.
var : entry1(0);
var : ho1(0),OL1(0),HL1(0);
var : maho1(0),maOL1(0),maHL1(0);
var : cnt1(0),sumho1(0),sumOL1(0),sumHL1(0);
var : EntryCnt1(0);
var : V1(0),V2(0),V3(0),V4(0),V5(0);
var : V6(0),V7(0),V8(0),V9(0),V10(0);
#새로운 영업일 시작되면 entry1은 0
if bdate != bdate[1] Then
entry1 = 0;
#진입이 발생하면 entry1은 1씩 증가(진입횟수 카운트)
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry1 = entry1+1;
#당일고가-당일시가
ho1 = Dayhigh-Dayopen;
#당일시가-당일저가
OL1 = DayOpen-DayLow;
#일일고가-당일저가
HL1 = DayHigh-DayLow;
#10일간 일간고가-일간시가의 평균값 계산
#10일간 일간시가-일간저가의 평균값 계산
#10일간 일간고가-일간저가의 평균값 계산
sumho1 = 0;
sumOL1 = 0;
sumHL1 = 0;
for cnt1 = 1 to 10{
sumho1 = sumho1 + (dayhigh(cnt1)-dayopen(cnt1));
sumOL1 = sumOL1 + (DayOpen(cnt1)-DayLow(cnt1));
sumHL1 = sumHL1 + (DayHigh(cnt1)-DayLow(cnt1));
}
maho1 = sumho1/10;
maOL1 = sumOL1/10;
maHL1 = sumHL1/10;
#당일시가 + 10일간고가시가의 평균값
V1 = dayopen(0)+maho1;
#당일시가 + 10일간시가저가의 평균값
V2 = DayOpen(0)-maOL1;
#당일시가 + 10일간고가저가의 평균값
V3 = DayOpen(0)+maHL1;
#당일시가 - 10일간고가시가의 평균값
V4 = DayOpen(0)-maHL1;
#위 4개 값중 1,2,3,4번째 값 저장
V5 = NthMaxList(1,V1,V2,V3,V4);
V6 = NthMaxList(2,V1,V2,V3,V4);
V9 = NthMaxList(3,V1,V2,V3,V4);
V10 = NthMaxList(4,V1,V2,V3,V4);
#4개 값중 가장큰값과 가장작은값의 중간값
V7 = (V5+V10)/2;
#4개값중 2번째,3번째 큰값의 평균
V8 = (V6+V9)/2;
#무포지션이고 당일 첫진입일때만
if MarketPosition == 0 and entry1 == 0 Then{
#v7이 v8보다 큰상태에서 v7보다 작은값 발생시 매도
if V7 > V8 Then
sell("s1",AtStop,v7);
#v7이 v8보다 작은상태에서 v8보다 큰값 발생시 매도
if V7 < V8 Then
sell("s2",Atlimit,v8);
}
#매도후
if MarketPosition == -1 and IsEntryName("s1") == true Then{
#v9이하의 시세 발생하면 청산
ExitShort("sp1",atlimit,V9);
#1봉 이후에 v6이상의 시세발생하면 청산
if BarsSinceEntry >= 1 then
ExitShort("sl1",AtStop,V6);
}
#매수 후
if MarketPosition == -1 and IsEntryName("s2") == true Then{
#v9이상의 값 발생하면 청산
ExitShort("sp2",atlimit,V9);
#1개봉 이후에 v6이하의 시세 발생하면 청산
if BarsSinceEntry >= 1 Then
ExitShort("sl2",AtStop,V6);
}
즐거운 하루되세요
> 통큰베팅 님이 쓴 글입니다.
> 제목 : 함수 각주 및 해석 요청(11-1)
> 안녕하세요?
아래의 함수를 해석 요청드립니다.
1. 각 구문에 주석(#)을 달아서 요청드립니다.
2. 아래의 함수가 의미하는 바,즉 언제 사고 언제 파는지를 서술해주시기 바랍니다.
1번과 2번 각각 요청드립니다.
------------------------------------------------------------------------------------
var : entry1(0);
var : ho1(0),OL1(0),HL1(0);
var : maho1(0),maOL1(0),maHL1(0);
var : cnt1(0),sumho1(0),sumOL1(0),sumHL1(0);
var : EntryCnt1(0);
var : V1(0),V2(0),V3(0),V4(0),V5(0);
var : V6(0),V7(0),V8(0),V9(0),V10(0);
if bdate != bdate[1] Then
entry1 = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry1 = entry1+1;
ho1 = Dayhigh-Dayopen;
OL1 = DayOpen-DayLow;
HL1 = DayHigh-DayLow;
sumho1 = 0;
sumOL1 = 0;
sumHL1 = 0;
for cnt1 = 1 to 10{
sumho1 = sumho1 + (dayhigh(cnt1)-dayopen(cnt1));
sumOL1 = sumOL1 + (DayOpen(cnt1)-DayLow(cnt1));
sumHL1 = sumHL1 + (DayHigh(cnt1)-DayLow(cnt1));
}
maho1 = sumho1/10;
maOL1 = sumOL1/10;
maHL1 = sumHL1/10;
V1 = dayopen(0)+maho1;
V2 = DayOpen(0)-maOL1;
V3 = DayOpen(0)+maHL1;
V4 = DayOpen(0)-maHL1;
V5 = NthMaxList(1,V1,V2,V3,V4);
V6 = NthMaxList(2,V1,V2,V3,V4);
V9 = NthMaxList(3,V1,V2,V3,V4);
V10 = NthMaxList(4,V1,V2,V3,V4);
V7 = (V5+V10)/2;
V8 = (V6+V9)/2;
if MarketPosition == 0 and entry1 == 0 Then{
if V7 > V8 Then
sell("s1",AtStop,v7);
if V7 < V8 Then
sell("s2",Atlimit,v8);
}
if MarketPosition == -1 and IsEntryName("s1") == true Then{
ExitShort("sp1",atlimit,V9);
if BarsSinceEntry >= 1 then
ExitShort("sl1",AtStop,V6);
}
if MarketPosition == -1 and IsEntryName("s2") == true Then{
ExitShort("sp2",atlimit,V9);
if BarsSinceEntry >= 1 Then
ExitShort("sl2",AtStop,V6);
}