커뮤니티
함수식 검토 부탁드립니다.
2010-08-02 12:32:58
752
글번호 31296
var1 = BollBandDown(20,2);
if TotalTrades == 0 and MarketPosition == 0 and (crossup(c,var1) or C > var1) Then
buy("b");
if MarketPosition == 1 Then {
if max(ma(c,3),ma(c,5)) <= min(ma(c,3),ma(c,5))*1.05 Then{
if CrossDown(c,ma(c,5)) Then
exitlong();
}
if max(ma(c,3),ma(c,5)) > min(ma(c,3),ma(c,5))*1.05 Then{
if CrossDown(c,ma(c,3)) Then
exitlong();
}
if CrossDown(c,ma(c,10)) Then
exitlong();
if CrossDown(c,ma(c,20)) Then
exitlong();
if CrossDown(c,ma(c,35)) Then
exitlong();
}
상기 시스템식을 적용하면 진입을 못 하고 포지션 없음(하루 종일)으로 나옵니다.
다른 함수식은 정상 작동 되구요, 혹시 수식에 문제가 있는지 검토 부탁드립니다(현물기준)
답변 1
예스스탁 예스스탁 답변
2010-08-02 15:11:25
안녕하세요? 예스스탁입니다.
작성하신 식으로 적용하시면 차트 맨 앞구간에서 신호가 한번만 나오고 그 다음부터는 나오지 않습니다.
TotalTrades == 0 부분 때문입니다. totaltrades는 전체거래횟수를 의미합니다. 따라서 이 부분을 삭제하셔야 하며, 하루에 한번만 진입하도록 하는 식을 작성하시려면 아래와 같이 entriestoday함수를 이용하시면 됩니다.
[사용자함수 : entriestoday]
input : nDate(Numeric);
var : count(0);
count = 0 ;
for Value1 = 0 to 10 {
if EntryDate( Value1 ) == ndate then
count = count + 1;
}
entriestoday = count;
####시스템식에서 사용예제######
//양봉매수, 음봉매도 식에서 진입회수를 당일 2회로 제한
input : N(2);
if entriestoday(date) < N then {
if C > O then buy();
if C < O then sell();
}
> Jason 님이 쓴 글입니다.
> 제목 : 함수식 검토 부탁드립니다.
> var1 = BollBandDown(20,2);
if TotalTrades == 0 and MarketPosition == 0 and (crossup(c,var1) or C > var1) Then
buy("b");
if MarketPosition == 1 Then {
if max(ma(c,3),ma(c,5)) <= min(ma(c,3),ma(c,5))*1.05 Then{
if CrossDown(c,ma(c,5)) Then
exitlong();
}
if max(ma(c,3),ma(c,5)) > min(ma(c,3),ma(c,5))*1.05 Then{
if CrossDown(c,ma(c,3)) Then
exitlong();
}
if CrossDown(c,ma(c,10)) Then
exitlong();
if CrossDown(c,ma(c,20)) Then
exitlong();
if CrossDown(c,ma(c,35)) Then
exitlong();
}
상기 시스템식을 적용하면 진입을 못 하고 포지션 없음(하루 종일)으로 나옵니다.
다른 함수식은 정상 작동 되구요, 혹시 수식에 문제가 있는지 검토 부탁드립니다(현물기준)