커뮤니티
문의
2012-04-24 23:08:03
326
글번호 50435
질문1) "최근 5분이내에 4%이상 급등한적이 있으면, 매수안한다.(3분에 6%, 1분에 5%는 해당되지만, 5분에 3%, 6분에 4%는 해당안됨.)" 조건을 반영하고자
할때 어떻게 하나요?
ex. 현재로직) if c > dayopen then buy();
질문2) 진입이후 "최근 5분이내에 4%이상 급등하는지점이 오면, 바로 매도한다."
어떻게 하나요? (진입이후 바로 10초이내에 4%이상 급등할수도있고, 2분안에 4% 급등할수도 있는경우 모두 감안.)
질문3) 진입이후 "최근 5분이내에 4%이상 급등하는지점이 오면, 그가격을 하향이탈시 매도한다."
어떻게 하나요?
질문4) input : buying_date1(20120423), // 매수전일 날짜
buying_date2(20120424) // 매수당일 날짜
이경우에, 괄호안의 날짜를 매일 바꾸지 않아도 되는 로직은 어떻게 하나요?
참고로 buying_date2가 월요일, buying_date1이 금요일도 반영될수있도록 가능한가요?
추가질문) buying_date2(sdate)로 하고, 시뮬레이션하면, 팝업창 값이 0으로 나오는데, 왜그런가요?
답변부탁드립니다.
답변 1
예스스탁 예스스탁 답변
2012-04-25 10:40:58
안녕하세요
예스스탁입니다.
1.
var1 = int(5/BarInterval);#5분동안 봉갯수
var2 = highest(H,var1);#5분동안의 최고가
#5분동안 최고가 5분전 종가대비 4%이상
if var1 >= C[var1]*1.04 Then
buy();
2.
if MarketPosition == 1 and TimeToMinutes(stime) < TimeToMinutes(EntryTime)+5 Then
ExitLong("bx",AtStop,EntryPrice*1.04);
3
if MarketPosition == 1 Then{
if TimeToMinutes(stime) < TimeToMinutes(EntryTime)+5 and highest(H,BarsSinceEntry) >= EntryPrice*1.04 Then
Condition1 = true;
if Condition1 == true and CrossDown(c,EntryPrice*1.04) Then
ExitLong("bx");
}
Else
Condition1 = false;
4.
문의하신 내용이라면 input 변수는 지정하실 내용이 아닌것 같습니다.
매수전일날짜나 매도전일 날짜는
식상에서 계산해서 사용하셔야 합니다.
직전 지정하실 경우라면 작성하신 부분과 같이 직접 날짜를 지정하실수 밖에 없습니다.
요일을 나타내는 함수로 dayofweek가 있습니다.
식상에서 dayofweek(sdate)라고 작성하시면
월요일이면 1, 화요일 2, 수요일3, 목요일 4, 금요일5라는 값이 리턴됩니다.
input : buying_date1(5),buying_date2(1);
if dayofweek(sdate) == buying_date1 then
~~~~~
if dayofweek(sdate) == buying_date2 then
~~~~~
시뮬레이션 차트에서 외부변수가 스트링이면 0으로 표시가 될 뿐입니다.
input : AA(sdate);
if C > O and aa >= 20120101 Then
buy();
MessageLog("%.2f",aa);
위식 시뮬레이션에는 변수 최적화 기능이 있고
변수 최적화는 숫자만 가능하므로 외부변수에 문자가 있을 경우 에러를 발생하므로
변수가 문자일경우 0으로 표시하는 것 뿐입니다.
적용해 보시면 디버깅 창에 매봉 그봉의 날짜가 리턴되는것을 확인하실 수 있습니다.
즐거운 하루되세요
> 별이777 님이 쓴 글입니다.
> 제목 : 문의
>
질문1) "최근 5분이내에 4%이상 급등한적이 있으면, 매수안한다.(3분에 6%, 1분에 5%는 해당되지만, 5분에 3%, 6분에 4%는 해당안됨.)" 조건을 반영하고자
할때 어떻게 하나요?
ex. 현재로직) if c > dayopen then buy();
질문2) 진입이후 "최근 5분이내에 4%이상 급등하는지점이 오면, 바로 매도한다."
어떻게 하나요? (진입이후 바로 10초이내에 4%이상 급등할수도있고, 2분안에 4% 급등할수도 있는경우 모두 감안.)
질문3) 진입이후 "최근 5분이내에 4%이상 급등하는지점이 오면, 그가격을 하향이탈시 매도한다."
어떻게 하나요?
질문4) input : buying_date1(20120423), // 매수전일 날짜
buying_date2(20120424) // 매수당일 날짜
이경우에, 괄호안의 날짜를 매일 바꾸지 않아도 되는 로직은 어떻게 하나요?
참고로 buying_date2가 월요일, buying_date1이 금요일도 반영될수있도록 가능한가요?
추가질문) buying_date2(sdate)로 하고, 시뮬레이션하면, 팝업창 값이 0으로 나오는데, 왜그런가요?
답변부탁드립니다.