커뮤니티
수식문의
2007-02-25 18:18:38
1074
글번호 12007
안녕하십니까.
공부중인 초보자 입니다.
분봉이라고 가정하고,
아래 CT 수식을 YT 수식으로 부탁합니다. (만약 안되는 부분이 있다면 그 부분은 제외하고라도 ...)
아울러 1번 수식에는 다음부분을 첨가하여 작성해주십시요.
1) 당일청산한다.
2) 1일 진입횟수를 3회 이내로 제한한다.
3) 만약 손실이 2회 발생하면 당일 매매를 중단한다.
그리고 몇가지 추가 질문합니다.
1. YL 편집기에서 연산자 " <> " 는 없는데 이곳 Q&A 에서는 <> 가 들어간 수식이 있는데 어떤 의미입니까.
2. 연산자 " ll " 는 좌판에 없는데 소문자 L 을 2번 치나요. ( 진짜 죄송 .... )
3. 대표값( typical )을 구하는 함수나 식.
4. 대표값의 이평을 구하는 함수나 식.
5. 가중 이평을 구하는 함수나 식.
답변 부탁합니다. 감사합니다.
-----------------------------------------------------
1. 수식1
입력변수
len1 : 5
len2 : 20
len3 : 0.02
Var1 = mov(close,len1,s)
Var2 = mov(close,len2,s)
Var3 = llv(1,low,barnumsinceexit(1)+1)
Var4= Var3+atr(20)*2
If tdate<>entrydate(1) And ttime>930 And ttime<1200 Then
If close>open And Var1>var1(1) Then
Call buy("A", Atmarket)
End If
End If
Cond1= entryprice(1) > exitprice(1)*1.07
Cond2= var2(1)<var2(2) And open(2)>close(2) And close(3)>high(1)
If ttime<1500 Then
If Cond1=False And Cond2 and Var2>var2(1) And barnumsinceexit(1)>=5 Then
Call buy("B", Atmarket)
Elseif Cond1=False And Cond2=False And countwhen(Var2>var2(1),3)=3 _
and Var4<high Then
Call buy("C", Atmarket)
End If
End if
If position= 1 Then
Call exitlong("청산",Atstop, HHV(1,High,BarnumsinceEntry +1)*(1-len3)
End If
End if
2. 수식2
입력변수
len1 : 5
len2 : 20
Var1=mov(close,len1,s)
Var2=mov(close,len2,s)
If tdate<>tdate(1) Then
Var30=0
End If
If position=0 and var30<2 Then
If crossup(Var1,var2) Then
Call buy ("매수",Atmarket )
Elseif crossdn(Var1,var2) Then
Call sell ("매도", Atmarket )
End If
End If
If i_position=0 And i_position(1)<>0 Then
If i_netprofit<i_netprofit(1) Then
Var30=var30+1
End If
End If
답변 1
예스스탁 예스스탁 답변
2007-02-26 11:46:28
안녕하세요
예스스탁입니다.
1. <> 는 다르다라는 의미입니다. != 와 같습니다.
2. "ll"은 키보드 상단 ₩를 쉬프트와 함께 누르시면 되고
또는 or 로 대신하시면 됩니다.
3. 따로 함수로 제공해 드리진 않습니다.
var1 = (H+l+c)/3;
와 같이 변수선언 후 계산하여 사용하시면 됩니다.
4. 대표값의 이평을 구하는 함수나 식.
var1 = (H+l+c)/3;
var2 - ma(var1,기간);
5. 가중 이평을 구하는 함수나 식.
예스에서는
ma(기준값,기간)으로 단수이평을
wma(기준값,기간)으로 가중단수이평을
ema(기준값,기간)으로 지수단수이평을 이용하실 수 있습니다.
각종 함수와 수식작성에 대한 도움말은
HOME > 예스트레이더 3 > 수식 작성법에 자세한 내용이 있으니 참고하시기 바랍니다.
아래는 식을 변환해 봤습니다.
대신과 다른점이 있고 대신측의 함수에 대해 모르는 부분도 있어
변환이 용이하지 않습니다
가급적 수식대신 글로 시스템내용을 올려주시기 바랍니다.
1.
input : len1(5),len2(20),len3(0.02);
var : cond1(0),cond2(0),cnt(0);
Var1 = ma(close,len1);
Var2 = ma(close,len2);
Var3 = nthlowest(1,low,barssinceexit(1)+1);
Var4= Var3+atr(20)*2;
var5 = Marketposition();
if date != date[1] then
cnt = 0;
If date <> entrydate(1) And time > 93000 And time <120000 Then {
If close>open And Var1>var1[1] and cnt < 3 Then {
buy("A", Atmarket);
cnt = cnt +1;
}
}
Cond1= entryprice(1) > exitprice(1)*1.07;
Cond2= var2[1]<var2[2] And open[2]>close[2] And close[3]>high[1];
If time < 150000 Then {
If Cond1 == False And Cond2 and Var2 > var2[1] And barssinceexit(1) >= 5 and cnt < 3 Then{
buy("B", Atmarket);
cnt = cnt +1;
}
Else if Cond1 == False And Cond2 == False And accumn(Var2>var2[1],3) == 3 and Var4<high and cnt < 3 Then{
buy("C", Atmarket);
cnt = cnt +1;
}
If marketposition() == 1 Then{
exitlong("청산",Atstop, nthhighest(1,High,BarssinceEntry()+1)*(1-len3));
}
}
if cnt == 2 and PositionProfit(1) < 0 and PositionProfit(1) < 0 then{
cnt = 100;
}
SetStopEndofday(1500);
2.
input : len1(5),len2(20);
var : var30(0);
Var1=ma(close,len1);
Var2=ma(close,len2);
If date<>date[1] Then
Var30=0;
If marketposition() == 0 and var30 < 2 Then{
If crossup(Var1,var2) Then
buy("매수",Atmarket );
if crossdown(Var1,var2) Then
sell("매도", Atmarket );
}
If i_position == 0 And i_position(1)<>0 Then {
If i_netprofit<i_netprofit(1) Then{
Var30=var30+1;
}
}
즐거운 하루되세요
> nanum 님이 쓴 글입니다.
> 제목 : 수식문의
> 안녕하십니까.
공부중인 초보자 입니다.
분봉이라고 가정하고,
아래 CT 수식을 YT 수식으로 부탁합니다. (만약 안되는 부분이 있다면 그 부분은 제외하고라도 ...)
아울러 1번 수식에는 다음부분을 첨가하여 작성해주십시요.
1) 당일청산한다.
2) 1일 진입횟수를 3회 이내로 제한한다.
3) 만약 손실이 2회 발생하면 당일 매매를 중단한다.
그리고 몇가지 추가 질문합니다.
1. YL 편집기에서 연산자 " <> " 는 없는데 이곳 Q&A 에서는 <> 가 들어간 수식이 있는데 어떤 의미입니까.
2. 연산자 " ll " 는 좌판에 없는데 소문자 L 을 2번 치나요. ( 진짜 죄송 .... )
3. 대표값( typical )을 구하는 함수나 식.
4. 대표값의 이평을 구하는 함수나 식.
5. 가중 이평을 구하는 함수나 식.
답변 부탁합니다. 감사합니다.
-----------------------------------------------------
1. 수식1
입력변수
len1 : 5
len2 : 20
len3 : 0.02
Var1 = mov(close,len1,s)
Var2 = mov(close,len2,s)
Var3 = llv(1,low,barnumsinceexit(1)+1)
Var4= Var3+atr(20)*2
If tdate<>entrydate(1) And ttime>930 And ttime<1200 Then
If close>open And Var1>var1(1) Then
Call buy("A", Atmarket)
End If
End If
Cond1= entryprice(1) > exitprice(1)*1.07
Cond2= var2(1)<var2(2) And open(2)>close(2) And close(3)>high(1)
If ttime<1500 Then
If Cond1=False And Cond2 and Var2>var2(1) And barnumsinceexit(1)>=5 Then
Call buy("B", Atmarket)
Elseif Cond1=False And Cond2=False And countwhen(Var2>var2(1),3)=3 _
and Var4<high Then
Call buy("C", Atmarket)
End If
End if
If position= 1 Then
Call exitlong("청산",Atstop, HHV(1,High,BarnumsinceEntry +1)*(1-len3)
End If
End if
2. 수식2
입력변수
len1 : 5
len2 : 20
Var1=mov(close,len1,s)
Var2=mov(close,len2,s)
If tdate<>tdate(1) Then
Var30=0
End If
If position=0 and var30<2 Then
If crossup(Var1,var2) Then
Call buy ("매수",Atmarket )
Elseif crossdn(Var1,var2) Then
Call sell ("매도", Atmarket )
End If
End If
If i_position=0 And i_position(1)<>0 Then
If i_netprofit<i_netprofit(1) Then
Var30=var30+1
End If
End If
다음글