커뮤니티
식 부탁드립니다.
2010-11-03 02:27:26
488
글번호 33281
이 식에서
input : 총투자금(4500000), period1(20);
var : L10(0),cnt(0),sum(0),count(0);
sum = 0;
for count = 1 to Period1{
sum = sum + max(abs(dayclose(count+1)-DayHigh(count)),abs(Dayclose(count+1)-DayLow(count)),abs(dayhigh(count)-daylow(count)));
}
value1 = sum/period1; #일간 20 ATR
value2 = int(((총투자금*0.01)/(value1*3))/10)*10;
value8 = 13450; #이익청산구간
value6 = 12300; #박스권상단
value7 = 11800; #박스권귀속
#전일 기준 10일 최저가
L10 = DayLow(1);
for cnt = 1 to 10{
if DayLow(cnt) < L10 Then
L10 = DayLow(cnt);
}
#1차
#value6 상향돌파때 매수
if MarketPosition == 0 and stime < 150000 and sdate >= 20101028 and ExitDate(1) != sdate Then{
if H <= value6 Then# 매수가격대 돌파시 매수.
buy("first_",AtStop,value6+PriceScale,value2);
}
#2차
if MarketPosition == 1 Then{
#진입이 있을 때마다 value3에 value1저장 value4에 해당봉 고가저장
if CurrentEntries > CurrentEntries[1] Then{
value3 = value1;
value4 = H;
}
#첫번째 피라미딩
if CurrentEntries == 1 Then{
if H <= value6+value1 Then
buy("up_", AtStop, value6+value1,value2);# value6+value1 이상에서 진입
}
}
#청산 포지션이 3번 누적이후에 발동
if MarketPosition == 1 Then{
if L >= L10-PriceScale Then# L7-PriceScale 위에 있다가 내려가면 청산입니다.
exitlong("L10",AtStop,L10-PriceScale);
if L >= value4-value3*3 then # value4-value3*3 위에 있다가 내려가면 청산입니다.
exitlong("변동성2",AtStop,value4-value3*3);
if L >= value6-value3*3 Then
exitlong("변동성3",atstop,value6-value3*3); #박스권하향하면 청산.
if L >= value7 Then
exitlong("박스권귀속",atstop,value7-pricescale); #박스권하향하면 청산.
}
if MarketPosition == 1 Then{
exitlong("이익청산",atlimit,value8+PriceScale); #이익실현가격대에서 한틱상승하면 매수청산
}
이익청산까진 됐습니다. 이익청산은 모두 청산하는 거구요.
음 그런데 시초가 매수때에
if stime == 150000 then
buy("b",atmarket);
이식을 어디에 넣어야하는지, 그리고 매수 주식의수는 value2만큼으로 정하고 싶은데
매수가격대가 정할수없으니, 매수주식의수또한 정하기 곤란하군요
어떻게 해야 합니까?
수고하세요^^
답변 1
예스스탁 예스스탁 답변
2010-11-03 15:49:07
안녕하세요
예스스탁입니다.
원하시는 곳에 추가하시면 됩니다.
수식에 젤 하단에 추가하시고
if stime == 150000 then
buy("b",atmarket,def,value2);
거래량을 buy함수안에 표기하시면 됩니다.
해당식은 시가수신시에 바로 신호가 나오게 됩니다.
수량은 그때 계산한 value2값입니다.
즐거운 하루되세요
> 오벨 님이 쓴 글입니다.
> 제목 : 식 부탁드립니다.
> 이 식에서
input : 총투자금(4500000), period1(20);
var : L10(0),cnt(0),sum(0),count(0);
sum = 0;
for count = 1 to Period1{
sum = sum + max(abs(dayclose(count+1)-DayHigh(count)),abs(Dayclose(count+1)-DayLow(count)),abs(dayhigh(count)-daylow(count)));
}
value1 = sum/period1; #일간 20 ATR
value2 = int(((총투자금*0.01)/(value1*3))/10)*10;
value8 = 13450; #이익청산구간
value6 = 12300; #박스권상단
value7 = 11800; #박스권귀속
#전일 기준 10일 최저가
L10 = DayLow(1);
for cnt = 1 to 10{
if DayLow(cnt) < L10 Then
L10 = DayLow(cnt);
}
#1차
#value6 상향돌파때 매수
if MarketPosition == 0 and stime < 150000 and sdate >= 20101028 and ExitDate(1) != sdate Then{
if H <= value6 Then# 매수가격대 돌파시 매수.
buy("first_",AtStop,value6+PriceScale,value2);
}
#2차
if MarketPosition == 1 Then{
#진입이 있을 때마다 value3에 value1저장 value4에 해당봉 고가저장
if CurrentEntries > CurrentEntries[1] Then{
value3 = value1;
value4 = H;
}
#첫번째 피라미딩
if CurrentEntries == 1 Then{
if H <= value6+value1 Then
buy("up_", AtStop, value6+value1,value2);# value6+value1 이상에서 진입
}
}
#청산 포지션이 3번 누적이후에 발동
if MarketPosition == 1 Then{
if L >= L10-PriceScale Then# L7-PriceScale 위에 있다가 내려가면 청산입니다.
exitlong("L10",AtStop,L10-PriceScale);
if L >= value4-value3*3 then # value4-value3*3 위에 있다가 내려가면 청산입니다.
exitlong("변동성2",AtStop,value4-value3*3);
if L >= value6-value3*3 Then
exitlong("변동성3",atstop,value6-value3*3); #박스권하향하면 청산.
if L >= value7 Then
exitlong("박스권귀속",atstop,value7-pricescale); #박스권하향하면 청산.
}
if MarketPosition == 1 Then{
exitlong("이익청산",atlimit,value8+PriceScale); #이익실현가격대에서 한틱상승하면 매수청산
}
이익청산까진 됐습니다. 이익청산은 모두 청산하는 거구요.
음 그런데 시초가 매수때에
if stime == 150000 then
buy("b",atmarket);
이식을 어디에 넣어야하는지, 그리고 매수 주식의수는 value2만큼으로 정하고 싶은데
매수가격대가 정할수없으니, 매수주식의수또한 정하기 곤란하군요
어떻게 해야 합니까?
수고하세요^^
다음글
이전글