커뮤니티
수고많으십니다..질문한가지
2013-01-09 11:23:26
330
글번호 57922
초보라서 질문드립니다.
아래의 로직에서
14시 30분에 매수가 추가되도록 하고싶다면 어찌해야할까요?
즉,이전에 보유포지션이 있을경우에 ,,그리고 두시 삼십분에 전일종가기준 +3%이상으
로 가격이 위치해있을경우 추가매수를 한번만 더 하고싶다면..
알려주시면 감사합니다.
var : count(0,data1),cnt(0,data1);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if date != date[1] Then
Condition1 = false;
if (dayindex()==0)and c<o and h>300 then {
condition1 = true;
value1 = h;
value4 =l;
}
if count==0 and stime<123000 and condition1==true
then
buy("매수1", AtStop, value1);
if MarketPosition == 1 Then{
if stime == 140000 Then
var1 = c;
if stime == 140000 and var1 < DayClose(1)*1.03 Then
exitlong();
}
위 로직에서 14시 30분에 전일종가대비 +3% 이상이 아닐경우는 청산되는식인데
만약 +3% 이상 올라서 그시각에 위치해있을경우는 추가매수(금액얼마?혹은 피라미딩?
어떤방법으로 해야할까요?질문입니다)를 한번더 하고싶을경우,,방법이 있을까요?
물론 이때 추가매수한 경우도 로스컷은 항상 -3%로 동일하게 해야하고싶은데요.
수고스럽더라도 알려주시면 감사드립니다..
미리 감사드립니다^^
답변 3
예스스탁 예스스탁 답변
2013-01-09 13:31:35
안녕하세요
예스스탁입니다.
14시 30분에
전일종가 기준 3%이상이면 추가매수하고 3%미만이면 청산하게 식을 수정했습니다.
3% 손절식도 추가했습니다.
피라미딩을 다른진입신호만 허용으로 설정하시면 됩니다.
수량은 시스템 트레이딩 설정창의 비용/수량탭에서
지정한 수량으로 신호 발생합니다.
손절은 각 진입별로 3% 손실시 신호발생합니다.
var : count(0,data1),cnt(0,data1);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if date != date[1] Then
Condition1 = false;
if (dayindex()==0)and c<o and h>300 then {
condition1 = true;
value1 = h;
value4 =l;
}
if count==0 and stime<123000 and condition1==true then
buy("매수1", AtStop, value1);
#매수포지션진입 중 14시 30분에
if MarketPosition == 1 and stime == 143000 Then{
// 전일종가 기준 3% 이상이면 추가매수
if C >= DayClose(1)*1.03 Then
buy("매수2");
// 전일종가 기준 3% 미만이면 청산
if C < DayClose(1)*1.03 Then
exitlong();
}
SetStopLoss(3,PercentStop);
즐거운 하루되세요
> 한걸음0 님이 쓴 글입니다.
> 제목 : 수고많으십니다..질문한가지
> 초보라서 질문드립니다.
아래의 로직에서
14시 30분에 매수가 추가되도록 하고싶다면 어찌해야할까요?
즉,이전에 보유포지션이 있을경우에 ,,그리고 두시 삼십분에 전일종가기준 +3%이상으
로 가격이 위치해있을경우 추가매수를 한번만 더 하고싶다면..
알려주시면 감사합니다.
var : count(0,data1),cnt(0,data1);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if date != date[1] Then
Condition1 = false;
if (dayindex()==0)and c<o and h>300 then {
condition1 = true;
value1 = h;
value4 =l;
}
if count==0 and stime<123000 and condition1==true
then
buy("매수1", AtStop, value1);
if MarketPosition == 1 Then{
if stime == 140000 Then
var1 = c;
if stime == 140000 and var1 < DayClose(1)*1.03 Then
exitlong();
}
위 로직에서 14시 30분에 전일종가대비 +3% 이상이 아닐경우는 청산되는식인데
만약 +3% 이상 올라서 그시각에 위치해있을경우는 추가매수(금액얼마?혹은 피라미딩?
어떤방법으로 해야할까요?질문입니다)를 한번더 하고싶을경우,,방법이 있을까요?
물론 이때 추가매수한 경우도 로스컷은 항상 -3%로 동일하게 해야하고싶은데요.
수고스럽더라도 알려주시면 감사드립니다..
미리 감사드립니다^^
한걸음0
2013-01-09 13:51:39
답변 감사드립니다&^^
한가지 더 궁금한것은,,
기존 보유량+ 2시30분이후 추가매수할때의 금액(혹은 수량)은,기존과 동일하게
매수되는지요?
만약 기존의 매수량(당일첫 배팅의 금액매수액)과 다르게 할경우,즉 기존첫배팅(2시
30분이전에 보유한 매수량)의 매수량의 절반정도로 하려면 어떻게 해야하는지요?
감사합니다..
예스스탁 예스스탁 답변
2013-01-09 14:14:29
안녕하세요
예스스탁입니다.
수식에 1차와 2차 따로 금액을 지정해
수량계산하는 내용을 추가했습니다.
input : 금액1(10000000),금액2(5000000);
var : count(0,data1),cnt(0,data1);
if CodeCategory == 1 Then #코스피
{
if BasePrice < 50000 Then
{
Var1 = int(int((금액1)/C)/10)*10;
Var2 = int(int((금액2)/C)/10)*10;
}
Else
{
Var1 = int((금액1)/C);
Var2 = int((금액2)/C);
}
}
if CodeCategory == 2 or CodeCategory == 8 Then#코스닥 or ETF
{
Var1 = int((금액1)/C);
Var2 = int((금액2)/C);
}
if CodeCategory == 6 Then#옵션
{
Var1 = int((금액1)/(C*BigPointValue));
Var2 = int((금액2)/(C*BigPointValue));
}
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if date != date[1] Then
Condition1 = false;
if (dayindex()==0)and c<o and h>300 then {
condition1 = true;
value1 = h;
value4 =l;
}
if count==0 and stime<123000 and condition1==true then
buy("매수1", AtStop, value1,var1);
#매수포지션진입 중 14시 30분에
if MarketPosition == 1 and stime == 143000 Then{
// 전일종가 기준 3% 이상이면 추가매수
if C >= DayClose(1)*1.03 Then{
buy("매수2",OnClose,def,var2);
}
// 전일종가 기준 3% 미만이면 청산
if C < DayClose(1)*1.03 Then
exitlong();
}
SetStopLoss(3,PercentStop);
즐거운 하루되세요
> 한걸음0 님이 쓴 글입니다.
> 제목 : 궁금합니다..
>
답변 감사드립니다&^^
한가지 더 궁금한것은,,
기존 보유량+ 2시30분이후 추가매수할때의 금액(혹은 수량)은,기존과 동일하게
매수되는지요?
만약 기존의 매수량(당일첫 배팅의 금액매수액)과 다르게 할경우,즉 기존첫배팅(2시
30분이전에 보유한 매수량)의 매수량의 절반정도로 하려면 어떻게 해야하는지요?
감사합니다..