커뮤니티
시스템 설명좀 부탁합니다 ~!
2015-12-10 14:00:39
95
글번호 93272
var : cnt(0),count(0),pt(0.5);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if stime < 095900 then{
var1 = dayhigh;
var2 = daylow;
}
if stime >= 095900 and count < 1 and stime < 150000 Then{
buy("b",AtStop,var1);
sell("s",AtStop,var2);
}
if MarketPosition == 1 Then{
var1 = Floor((highest(H,BarsSinceEntry)-EntryPrice)/pt);
ExitLong("bx",AtStop,EntryPrice+(pt*(var1-1)));
}
if MarketPosition == -1 Then{
var2 = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/pt);
ExitShort("sx",AtStop,EntryPrice-(pt*(var2-1)));
}
SetStopEndofday(145959);
보내주신 수식에서 진입만 당일 최고가 최저가에 진입하는걸로 바꿨습니다 . ~!
처음부터 왜 수식이 이렇게 되는지.. 자세하게 주석달아주세요 .. ! 감사합니다 ~!! ~!!
답변 1
예스스탁 예스스탁 답변
2015-12-11 10:15:07
안녕하세요
예스스탁입니다.
var : cnt(0),count(0),pt(0.5);
#당일 진입회수 카운트
#최근 20개의 진입의 날짜를 가져와 오늘날짜와 비교해
#같은 날짜가 몇번인지 카운트
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
#9시 59분 이전에 당일최고가와 최저가 저장
if stime < 095900 then{
var1 = dayhigh;
var2 = daylow;
}
#9시 59분 이후에 당일 진입이 한번도 없고 15시 이전일때
if stime >= 095900 and count < 1 and stime < 150000 Then{
#9시59분 이전 최고가 이상의 시세가 발생하면 즉시 매수
buy("b",AtStop,var1);
#9시59분 이전 최저가 이하의 시세가 발생하면 즉시 매도
sell("s",AtStop,var2);
}
#매수진입이후
if MarketPosition == 1 Then{
#진입 이후 최고수익을 0.5단위로 나누어 0.5크기로 몇배인지 계산(소숫점은 버림)
#수익이
#0.5포인트 미만이면 var1은 0
#0.5포인트이상 1.0포인트 미만이면 var1은 1
#1.0포인트이상 1.5포인트 미만이면 var1은 2
#1.5포인트이상 2.0포인트 미만이면 var1은 3
#.....
var1 = Floor((highest(H,BarsSinceEntry)-EntryPrice)/pt);
#최고 수익배수에서 1배수 수익이 하락하면 청산
#0.5포인트 미만이면 진입가-0.5 --> 진입가+0.5*(0-1)
#0.5포인트 이상이면 1.0포인트 미만이면 진입가 --> 진입가+0.5*(1-1)
#1.0포인트 이상이면 1.5포인트 미만이면 진입가+0.5 --> 진입가+0.5*(2-1)
#1.5포인트 이상이면 2.0포인트 미만이면 진입가+1.0 --> 진입가+0.5*(3-1)
#......
ExitLong("bx",AtStop,EntryPrice+(pt*(var1-1)));
}
#매도청산도 위 계산법과 같습니다
if MarketPosition == -1 Then{
#진입 이후 최고수익을 0.5단위로 나누어 0.5크기로 몇배인지 계산(소숫점은 버림)
#수익이
#0.5포인트 미만이면 var2은 0
#0.5포인트이상 1.0포인트 미만이면 var2은 1
#1.0포인트이상 1.5포인트 미만이면 var2은 2
#1.5포인트이상 2.0포인트 미만이면 var2은 3
#.....
var2 = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/pt);
#최고 수익배수에서 1배수 수익이 하락하면 청산
#0.5포인트 미만이면 진입가-0.5 --> 진입가-0.5*(0-1)
#0.5포인트 이상이면 1.0포인트 미만이면 진입가 --> 진입가-0.5*(1-1)
#1.0포인트 이상이면 1.5포인트 미만이면 진입가+0.5 --> 진입가-0.5*(2-1)
#1.5포인트 이상이면 2.0포인트 미만이면 진입가+1.0 --> 진입가-0.5*(3-1)
#......
ExitShort("sx",AtStop,EntryPrice-(pt*(var2-1)));
}
#14시59분59초 당일청산
SetStopEndofday(145959);
즐거운 하루되세요
> yooneee7 님이 쓴 글입니다.
> 제목 : 시스템 설명좀 부탁합니다 ~!
> var : cnt(0),count(0),pt(0.5);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if stime < 095900 then{
var1 = dayhigh;
var2 = daylow;
}
if stime >= 095900 and count < 1 and stime < 150000 Then{
buy("b",AtStop,var1);
sell("s",AtStop,var2);
}
if MarketPosition == 1 Then{
var1 = Floor((highest(H,BarsSinceEntry)-EntryPrice)/pt);
ExitLong("bx",AtStop,EntryPrice+(pt*(var1-1)));
}
if MarketPosition == -1 Then{
var2 = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/pt);
ExitShort("sx",AtStop,EntryPrice-(pt*(var2-1)));
}
SetStopEndofday(145959);
보내주신 수식에서 진입만 당일 최고가 최저가에 진입하는걸로 바꿨습니다 . ~!
처음부터 왜 수식이 이렇게 되는지.. 자세하게 주석달아주세요 .. ! 감사합니다 ~!! ~!!