커뮤니티
시스템식 확인좀 해주세요.
2012-06-27 10:15:39
318
글번호 52416
시스템식을 작성했는데 재대로 짜여진건지를 모르겠네요.
조건은 일단 하루에 1번만 거래하게 해놨고요.
그리고 제가 시스템식을 적용하는 시점에서 100만원사이에서 매수가되고, 그리고
3%이익시 수익정산. -4%시 손절매 를 하며 2시45분에 매수가있다면 모두 정산하게 해놨습니다. 오류가 있거나 하면 어떻게 바꿔야되는지 확인좀 해주심시오.
// 선언부(내부변수)
var : maV(0);
var : count(0);
// 선언부(외부변수)
input : ACCOUNT(1000000),percent1(3),percent2(4);
input : Number(1);
// 할당부
maV = ma(C,5);
// 제어문 + 실행문
If date[1] != date Then // 날짜가 변경되는 시점(매일의 첫번째 봉)에서 누적횟수(cnt)를 0으로 초기화
Count = 0 ;
If count < Number Then // 매수기본조건을 만족하고 누적횟수가 1보다 작으면 매수및 누적횟수를 1증가시킴
{
buy();
count = count +1;
}
if index >= 0 and count < Number then // index가 0보다 크다고 가정함으로 모든 조건에 만족하게 됩니다.
{
if maV > maV[1] then
buy("매수", atmarket, def, int(int(ACCOUNT/C)/10)*10); //이평선이 상승하게 되면 그 즉시 시가에 주문이 발생하게 됩니다.
}
if marketposition() == 1 then // 만일에 매수상태이고,
{
if C >= entryprice() * (1+percent1/100) then //3%상승할때 -이익청산
exitlong("이익청산");
}
if marketposition() == -1 then // 만일에 매수상태이고,
{
if C >= entryprice() * (1-percent2/100) then //4%하락할때 -손절매
exitlong("손절매");
}
SetStopEndofday(144500); //당일 2시 45분에 모든 매수품목 청산
답변 2
예스스탁 예스스탁 답변
2012-06-27 11:29:20
안녕하세요
예스스탁입니다.
1.
손절매 식에 매수포지션임을 나타내는 표현이 잘못되어 있습니다.
if marketposition() == -1 then // 만일에 매수상태이고,
-1은 매도포지션입니다.
2.
손절매와 목표이익은 수정한 식과 같이
강제청산 함수 이용하시면 더 간단히 작성됩니다.
3.
당일 진입횟수를 계산하는 내용을 추가했습니다.
이평선 상승하면 당일 한번진입하고
4% 손실, 3% 수익, 14시45분에 당일청산합니다.
// 선언부(내부변수)
var : maV(0);
var : count(0),cnt(0);
// 선언부(외부변수)
input : ACCOUNT(1000000),percent1(3),percent2(4);
input : Number(1);
// 할당부
maV = ma(C,5);
count = 0;
for cnt = 0 to 10{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if index >= 0 and count < Number then
{
if maV > maV[1] then
buy("매수", atmarket, def, int(int(ACCOUNT/C)/10)*10);
}
SetStopProfittarget(percent1,PercentStop);#손절매청산
SetStopLoss(percent2,PercentStop);#수익청산
SetStopEndofday(144500); //당일 2시 45분에 모든 매수품목 청산
즐거운 하루되세요
> 하피 님이 쓴 글입니다.
> 제목 : 시스템식 확인좀 해주세요.
> 시스템식을 작성했는데 재대로 짜여진건지를 모르겠네요.
조건은 일단 하루에 1번만 거래하게 해놨고요.
그리고 제가 시스템식을 적용하는 시점에서 100만원사이에서 매수가되고, 그리고
3%이익시 수익정산. -4%시 손절매 를 하며 2시45분에 매수가있다면 모두 정산하게 해놨습니다. 오류가 있거나 하면 어떻게 바꿔야되는지 확인좀 해주심시오.
// 선언부(내부변수)
var : maV(0);
var : count(0);
// 선언부(외부변수)
input : ACCOUNT(1000000),percent1(3),percent2(4);
input : Number(1);
// 할당부
maV = ma(C,5);
// 제어문 + 실행문
If date[1] != date Then // 날짜가 변경되는 시점(매일의 첫번째 봉)에서 누적횟수(cnt)를 0으로 초기화
Count = 0 ;
If count < Number Then // 매수기본조건을 만족하고 누적횟수가 1보다 작으면 매수및 누적횟수를 1증가시킴
{
buy();
count = count +1;
}
if index >= 0 and count < Number then // index가 0보다 크다고 가정함으로 모든 조건에 만족하게 됩니다.
{
if maV > maV[1] then
buy("매수", atmarket, def, int(int(ACCOUNT/C)/10)*10); //이평선이 상승하게 되면 그 즉시 시가에 주문이 발생하게 됩니다.
}
if marketposition() == 1 then // 만일에 매수상태이고,
{
if C >= entryprice() * (1+percent1/100) then //3%상승할때 -이익청산
exitlong("이익청산");
}
if marketposition() == -1 then // 만일에 매수상태이고,
{
if C >= entryprice() * (1-percent2/100) then //4%하락할때 -손절매
exitlong("손절매");
}
SetStopEndofday(144500); //당일 2시 45분에 모든 매수품목 청산
하피
2012-06-27 11:33:02
답변 감사합니다.
점심시간이 다되어 가네요. 맛나게 점심식사 하십시오.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템식 확인좀 해주세요.
> 안녕하세요
예스스탁입니다.
1.
손절매 식에 매수포지션임을 나타내는 표현이 잘못되어 있습니다.
if marketposition() == -1 then // 만일에 매수상태이고,
-1은 매도포지션입니다.
2.
손절매와 목표이익은 수정한 식과 같이
강제청산 함수 이용하시면 더 간단히 작성됩니다.
3.
당일 진입횟수를 계산하는 내용을 추가했습니다.
이평선 상승하면 당일 한번진입하고
4% 손실, 3% 수익, 14시45분에 당일청산합니다.
// 선언부(내부변수)
var : maV(0);
var : count(0),cnt(0);
// 선언부(외부변수)
input : ACCOUNT(1000000),percent1(3),percent2(4);
input : Number(1);
// 할당부
maV = ma(C,5);
count = 0;
for cnt = 0 to 10{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if index >= 0 and count < Number then
{
if maV > maV[1] then
buy("매수", atmarket, def, int(int(ACCOUNT/C)/10)*10);
}
SetStopProfittarget(percent1,PercentStop);#손절매청산
SetStopLoss(percent2,PercentStop);#수익청산
SetStopEndofday(144500); //당일 2시 45분에 모든 매수품목 청산
즐거운 하루되세요
> 하피 님이 쓴 글입니다.
> 제목 : 시스템식 확인좀 해주세요.
> 시스템식을 작성했는데 재대로 짜여진건지를 모르겠네요.
조건은 일단 하루에 1번만 거래하게 해놨고요.
그리고 제가 시스템식을 적용하는 시점에서 100만원사이에서 매수가되고, 그리고
3%이익시 수익정산. -4%시 손절매 를 하며 2시45분에 매수가있다면 모두 정산하게 해놨습니다. 오류가 있거나 하면 어떻게 바꿔야되는지 확인좀 해주심시오.
// 선언부(내부변수)
var : maV(0);
var : count(0);
// 선언부(외부변수)
input : ACCOUNT(1000000),percent1(3),percent2(4);
input : Number(1);
// 할당부
maV = ma(C,5);
// 제어문 + 실행문
If date[1] != date Then // 날짜가 변경되는 시점(매일의 첫번째 봉)에서 누적횟수(cnt)를 0으로 초기화
Count = 0 ;
If count < Number Then // 매수기본조건을 만족하고 누적횟수가 1보다 작으면 매수및 누적횟수를 1증가시킴
{
buy();
count = count +1;
}
if index >= 0 and count < Number then // index가 0보다 크다고 가정함으로 모든 조건에 만족하게 됩니다.
{
if maV > maV[1] then
buy("매수", atmarket, def, int(int(ACCOUNT/C)/10)*10); //이평선이 상승하게 되면 그 즉시 시가에 주문이 발생하게 됩니다.
}
if marketposition() == 1 then // 만일에 매수상태이고,
{
if C >= entryprice() * (1+percent1/100) then //3%상승할때 -이익청산
exitlong("이익청산");
}
if marketposition() == -1 then // 만일에 매수상태이고,
{
if C >= entryprice() * (1-percent2/100) then //4%하락할때 -손절매
exitlong("손절매");
}
SetStopEndofday(144500); //당일 2시 45분에 모든 매수품목 청산
이전글