커뮤니티
함수변환요청(251)
2016-06-20 09:09:59
195
글번호 99277
안녕하세요?
아래는 시그널메이커(한국금융IT)로 사용했던 5ma, 20ma 골든크로스 매수, 데드크로스 매도 전략입니다.
예스트레이더에서 사용할 수 있도록 함수변환을 요청드립니다.
Input : xtime(60000);
Var : tcond(false),cond1(false),cond2(false);
Var : st(0), et(0);
If (Month(Date) = 3 And ((DayofWeek(Date) = MONDAY And DayofMonth(Date) > 7) Or DayofMonth(Date) > 14))
Or (Month(Date) = 11 And ((DayofWeek(Date) = MONDAY And DayofMonth(Date) < 8) Or DayofMonth(Date) < 7))
Or (Month(Date) > 3 And Month(Date) < 11)
Then
Begin
st = 70000; // 장시작 시간
et = 60000; // 장종료 시간
End
Else
Begin
st = 80000; // 장 시작 시간
et = 70000; // 장 종료 시간
End;
value1 = time;
if value1 == xtime or (value1 > xtime and value1[1] < xtime) Then
Begin
Tcond = false;
Condition1 = false;
Condition2 = false;
End
else If value1 >= st Or value1 < xtime Then
Begin
Tcond = true;
End;
var1 = ma(c,5);
var2 = ma(c,20);
cond1 = C > var1 and var1 > var2;
cond2 = C < var1 and var1 < var2;
if cond1 = true and cond1[1] = false Then
Begin
Condition1 = true;
Condition2 = False;
End
Else if cond2 = true and cond2[1] = false Then
Begin
Condition1 = False;
Condition2 = true;
End;
if Tcond = true Then
Begin
if Condition1 = true And var1 > var1[1] And var2 > var2[1]
Then Buy("B")
else if Condition2 = true And var1 < var1[1] And var2 < var2[1]
Then sell("S");
End;
SetStopLoss(1,PercentStop);
SetStopProfittarget(2,PercentStop);
value2 = onetick*pricescale;
SetStopInactivity(100*value2,20,pointstop);
답변 1
예스스탁 예스스탁 답변
2016-06-21 09:34:40
안녕하세요
예스스탁입니다.
Input : xtime(60000);
Var : tcond(false),cond1(false),cond2(false);
Var : st(0), et(0);
var : Month(0),nday(0);
Month = Floor(FracPortion(sdate/10000)*100);
nday = (date - int(date/100)*100);
If (Month == 3 And ((DayofWeek(Date) == 1 And nday > 7) Or nday > 14))
Or (Month == 11 And ((DayofWeek(Date) == 1 And nday < 8) Or nday < 7))
Or (Month > 3 And Month < 11) Then
{
st = 70000; // 장시작 시간
et = 60000; // 장종료 시간
}
Else
{
st = 80000; // 장 시작 시간
et = 70000; // 장 종료 시간
}
value1 = stime;
if value1 == xtime or (value1 > xtime and value1[1] < xtime) Then
{
Tcond = false;
Condition1 = false;
Condition2 = false;
}
else If value1 >= st Or value1 < xtime Then
{
Tcond = true;
}
var1 = ma(c,5);
var2 = ma(c,20);
cond1 = C > var1 and var1 > var2;
cond2 = C < var1 and var1 < var2;
if cond1 == true and cond1[1] == false Then
{
Condition1 = true;
Condition2 = False;
}
Else if cond2 == true and cond2[1] == false Then
{
Condition1 = False;
Condition2 = true;
}
if Tcond = true Then
{
if Condition1 = true And var1 > var1[1] And var2 > var2[1]
Then Buy("B");
else if Condition2 = true And var1 < var1[1] And var2 < var2[1]
Then sell("S");
}
SetStopLoss(1,PercentStop);
SetStopProfittarget(2,PercentStop);
SetStopInactivity(100*PriceScale,20,pointstop);
즐거운 하루되세요
> 통큰베팅 님이 쓴 글입니다.
> 제목 : 함수변환요청(251)
> 안녕하세요?
아래는 시그널메이커(한국금융IT)로 사용했던 5ma, 20ma 골든크로스 매수, 데드크로스 매도 전략입니다.
예스트레이더에서 사용할 수 있도록 함수변환을 요청드립니다.
Input : xtime(60000);
Var : tcond(false),cond1(false),cond2(false);
Var : st(0), et(0);
If (Month(Date) = 3 And ((DayofWeek(Date) = MONDAY And DayofMonth(Date) > 7) Or DayofMonth(Date) > 14))
Or (Month(Date) = 11 And ((DayofWeek(Date) = MONDAY And DayofMonth(Date) < 8) Or DayofMonth(Date) < 7))
Or (Month(Date) > 3 And Month(Date) < 11)
Then
Begin
st = 70000; // 장시작 시간
et = 60000; // 장종료 시간
End
Else
Begin
st = 80000; // 장 시작 시간
et = 70000; // 장 종료 시간
End;
value1 = time;
if value1 == xtime or (value1 > xtime and value1[1] < xtime) Then
Begin
Tcond = false;
Condition1 = false;
Condition2 = false;
End
else If value1 >= st Or value1 < xtime Then
Begin
Tcond = true;
End;
var1 = ma(c,5);
var2 = ma(c,20);
cond1 = C > var1 and var1 > var2;
cond2 = C < var1 and var1 < var2;
if cond1 = true and cond1[1] = false Then
Begin
Condition1 = true;
Condition2 = False;
End
Else if cond2 = true and cond2[1] = false Then
Begin
Condition1 = False;
Condition2 = true;
End;
if Tcond = true Then
Begin
if Condition1 = true And var1 > var1[1] And var2 > var2[1]
Then Buy("B")
else if Condition2 = true And var1 < var1[1] And var2 < var2[1]
Then sell("S");
End;
SetStopLoss(1,PercentStop);
SetStopProfittarget(2,PercentStop);
value2 = onetick*pricescale;
SetStopInactivity(100*value2,20,pointstop);
다음글
이전글