커뮤니티
문의드립니다.
2019-05-23 13:20:51
150
글번호 128901
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
외부변수
시작시간
끝시간
-시작시간과 끝시간 사이에 랜덤 매수진입
2. 시스템
1번에서 청산은
진입가격에서
해당시간(시작시간~끝시간)의 평균변동성(해당시간의 평균 ATR로 해주시면 될 것 같습니다.) *2 만큼 떨어지면 청산
해당시간대의 평균변동성에 맞게 청산하려고 하는건데요. 해당시간으로만 계산하는 ATR이 가능한가요?
가령 ATR을 계산하는 봉을 22일 9시 10분부터 30분까지 , 30분이 끝나면 그 다음날 9시 10분부터 30분 봉으로 계산
답변 3
예스스탁 예스스탁 답변
2019-05-23 14:00:52
안녕하세요
예스스탁입니다.
1
input : starttime(90000),endtime(140000);
var : Tcond(false);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
if Tcond == true then
{
if Random(2) >= 1 Then
buy();
}
2
input : starttime(90000),endtime(140000),P(10);
var : Tcond(false),atrv(0),sumv(0),sumi(0);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
sumv = 0;
sumi = 0;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
if Tcond == true then
{
sumv = sumv + TrueRange;
sumi = sumi + 1;
atrv = sumv/sumi;
if MarketPosition == 0 and Random(2) >= 1 Then
buy();
if MarketPosition == 1 Then
ExitLong("bx",AtStop,EntryPrice-atrv*2);
}
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
외부변수
시작시간
끝시간
-시작시간과 끝시간 사이에 랜덤 매수진입
2. 시스템
1번에서 청산은
진입가격에서
해당시간(시작시간~끝시간)의 평균변동성(해당시간의 평균 ATR로 해주시면 될 것 같습니다.) *2 만큼 떨어지면 청산
해당시간대의 평균변동성에 맞게 청산하려고 하는건데요. 해당시간으로만 계산하는 ATR이 가능한가요?
가령 ATR을 계산하는 봉을 22일 9시 10분부터 30분까지 , 30분이 끝나면 그 다음날 9시 10분부터 30분 봉으로 계산
잡다백수
2019-05-23 14:49:00
코딩 감사합니다.
1번식을 돌려보니 랜덤이라고 해도 거의 다 첫봉이더라구요. 난수가 2니까 당연한 거긴 한데요. 해당 시간대에서 어느 봉으로 진입할 지 거의 찍기식으로 진입하는 건 수식으로 불가능하다고 보면 될까요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
>
안녕하세요
예스스탁입니다.
1
input : starttime(90000),endtime(140000);
var : Tcond(false);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
if Tcond == true then
{
if Random(2) >= 1 Then
buy();
}
2
input : starttime(90000),endtime(140000),P(10);
var : Tcond(false),atrv(0),sumv(0),sumi(0);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
sumv = 0;
sumi = 0;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
if Tcond == true then
{
sumv = sumv + TrueRange;
sumi = sumi + 1;
atrv = sumv/sumi;
if MarketPosition == 0 and Random(2) >= 1 Then
buy();
if MarketPosition == 1 Then
ExitLong("bx",AtStop,EntryPrice-atrv*2);
}
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
외부변수
시작시간
끝시간
-시작시간과 끝시간 사이에 랜덤 매수진입
2. 시스템
1번에서 청산은
진입가격에서
해당시간(시작시간~끝시간)의 평균변동성(해당시간의 평균 ATR로 해주시면 될 것 같습니다.) *2 만큼 떨어지면 청산
해당시간대의 평균변동성에 맞게 청산하려고 하는건데요. 해당시간으로만 계산하는 ATR이 가능한가요?
가령 ATR을 계산하는 봉을 22일 9시 10분부터 30분까지 , 30분이 끝나면 그 다음날 9시 10분부터 30분 봉으로 계산
예스스탁 예스스탁 답변
2019-05-23 15:59:21
안녕하세요
예스스탁입니다.
방법은 여러가지가 있습니다.
1
현재 조건이 Random(2) >= 1인데
Random(2) >= 1.9과 같이 조건을 좀 더 타이트하게 지정해도 됩니다.
input : starttime(90000),endtime(140000),P(10);
var : Tcond(false),atrv(0),sumv(0),sumi(0);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
sumv = 0;
sumi = 0;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
if Tcond == true then
{
sumv = sumv + TrueRange;
sumi = sumi + 1;
atrv = sumv/sumi;
if MarketPosition == 0 and Random(2) >= 1.9 Then
buy();
if MarketPosition == 1 Then
ExitLong("bx",AtStop,EntryPrice-atrv*2);
}
2
starttime으로 지정한 시간에
floor(Random(100))과 같이 지정해서 정수만 취한 뒤에
starttime이후에 해당 값에 해당 하는 봉수가 경과되면 매수진입하게 하셔도 됩니다.
100은 곧 봉수이므로 필요하신 만큼 지정해 주시면 됩니다.
input : starttime(90000),endtime(140000),P(10);
var : Tcond(false),atrv(0),sumv(0),sumi(0),R(0);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
R = Floor(Random(100));
sumv = 0;
sumi = 0;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
if Tcond == true then
{
sumv = sumv + TrueRange;
sumi = sumi + 1;
atrv = sumv/sumi;
if MarketPosition == 0 and sumi == R Then
buy();
if MarketPosition == 1 Then
ExitLong("bx",AtStop,EntryPrice-atrv*2);
}
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : Re : Re : 문의드립니다.
> 코딩 감사합니다.
1번식을 돌려보니 랜덤이라고 해도 거의 다 첫봉이더라구요. 난수가 2니까 당연한 거긴 한데요. 해당 시간대에서 어느 봉으로 진입할 지 거의 찍기식으로 진입하는 건 수식으로 불가능하다고 보면 될까요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
>
안녕하세요
예스스탁입니다.
1
input : starttime(90000),endtime(140000);
var : Tcond(false);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
if Tcond == true then
{
if Random(2) >= 1 Then
buy();
}
2
input : starttime(90000),endtime(140000),P(10);
var : Tcond(false),atrv(0),sumv(0),sumi(0);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
sumv = 0;
sumi = 0;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
if Tcond == true then
{
sumv = sumv + TrueRange;
sumi = sumi + 1;
atrv = sumv/sumi;
if MarketPosition == 0 and Random(2) >= 1 Then
buy();
if MarketPosition == 1 Then
ExitLong("bx",AtStop,EntryPrice-atrv*2);
}
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
외부변수
시작시간
끝시간
-시작시간과 끝시간 사이에 랜덤 매수진입
2. 시스템
1번에서 청산은
진입가격에서
해당시간(시작시간~끝시간)의 평균변동성(해당시간의 평균 ATR로 해주시면 될 것 같습니다.) *2 만큼 떨어지면 청산
해당시간대의 평균변동성에 맞게 청산하려고 하는건데요. 해당시간으로만 계산하는 ATR이 가능한가요?
가령 ATR을 계산하는 봉을 22일 9시 10분부터 30분까지 , 30분이 끝나면 그 다음날 9시 10분부터 30분 봉으로 계산
다음글
이전글