커뮤니티
수식 변환 부탁 드립니다.
2019-07-04 10:21:17
248
글번호 130036
안녕하세요 ? 수고가 많으십니다.
기존 매매전략식을 예스트레이더 언어로 변환 부탁 드립니다.
(전제사항)
매매시간 설정 1. 09:00 ~ 15:20까지만 매매, 진입이 있다면 무조건 강제청산
2. 09:00 ~ 익일 05:00까지매매하고 진입이 있다면 무조건 강제청산
R=highest(H,X) , R = Highest(H,기간)
R = 20 일간 고가중 최고값 , 기간(X)= 20.(수치 가변 적용)
S=lowest(L,X) , S = Lowest(L,기간)
S = 20 일간 저가중 최저값 , 기간(X)= 20 .
E = avg(c,MA) MA=5일 (이동평균) (수치 가변 적용)
매수진입, 매도청산 조건.
crossUp( E,R(1))
MA=5일 , MA(이평5일)가 R 의 이전 종가를 상향돌파 하는 경우.
매도진입, 매수청산 조건.
crossDown(E,S(1))
MA=5일 , MA(이평5일)가 S 의 이전 종가를 하향돌파 하는 경우.
익절 조건. 1. 진입가의 + 0.2% 시 익절
진입가가 +0.15% 도달후 10% 하락시 매도
2, 진입후 15틱 도달시 무조건 손익절
두가지 버전으로 부탁 드립니다
답변 1
예스스탁 예스스탁 답변
2019-07-04 11:22:43
안녕하세요
예스스탁입니다.
1
input : starttime(90000),endtime(152000);
input : x(20),maPeriod(5);
var : Tcond(false),R(0),S(0),E(0);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
R = highest(H,X);
S = lowest(L,X);
E = ma(c,maPeriod);
if crossUp(E,R[1]) Then
buy("b");
if CrossDown(E,S[1]) Then
sell("s");
if MarketPosition == 1 Then
{
ExitLong("bp1",atlimit,EntryPrice*1.002);
if highest(H,BarsSinceEntry) >= EntryPrice*1.0015 Then
ExitLong("btr",AtStop,highest(H,BarsSinceEntry)-(highest(H,BarsSinceEntry)-EntryPrice)*0.1);
}
if MarketPosition == -1 Then
{
ExitShort("sp1",atlimit,EntryPrice*0.998);
if Lowest(L,BarsSinceEntry) <= EntryPrice*0.9985 Then
ExitShort("str",AtStop,Lowest(L,BarsSinceEntry)-(EntryPrice-lowest(L,BarsSinceEntry))*0.1);
}
2
input : starttime(90000),endtime(050000);
input : x(20),maPeriod(5);
var : Tcond(false),R(0),S(0),E(0);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
R = highest(H,X);
S = lowest(L,X);
E = ma(c,maPeriod);
if crossUp(E,R[1]) Then
buy("b");
if CrossDown(E,S[1]) Then
sell("s");
if MarketPosition == 1 Then
{
ExitLong("bp2",atlimit,EntryPrice+PriceScale*15);
ExitLong("bl",AtStop,EntryPrice-PriceScale*15);
}
if MarketPosition == -1 Then
{
ExitShort("sp2",atlimit,EntryPrice-PriceScale*15);
ExitShort("sl",AtStop,EntryPrice+PriceScale*15);
}
즐거운 하루되세요
> vlfaud3 님이 쓴 글입니다.
> 제목 : 수식 변환 부탁 드립니다.
> 안녕하세요 ? 수고가 많으십니다.
기존 매매전략식을 예스트레이더 언어로 변환 부탁 드립니다.
(전제사항)
매매시간 설정 1. 09:00 ~ 15:20까지만 매매, 진입이 있다면 무조건 강제청산
2. 09:00 ~ 익일 05:00까지매매하고 진입이 있다면 무조건 강제청산
R=highest(H,X) , R = Highest(H,기간)
R = 20 일간 고가중 최고값 , 기간(X)= 20.(수치 가변 적용)
S=lowest(L,X) , S = Lowest(L,기간)
S = 20 일간 저가중 최저값 , 기간(X)= 20 .
E = avg(c,MA) MA=5일 (이동평균) (수치 가변 적용)
매수진입, 매도청산 조건.
crossUp( E,R(1))
MA=5일 , MA(이평5일)가 R 의 이전 종가를 상향돌파 하는 경우.
매도진입, 매수청산 조건.
crossDown(E,S(1))
MA=5일 , MA(이평5일)가 S 의 이전 종가를 하향돌파 하는 경우.
익절 조건. 1. 진입가의 + 0.2% 시 익절
진입가가 +0.15% 도달후 10% 하락시 매도
2, 진입후 15틱 도달시 무조건 손익절
두가지 버전으로 부탁 드립니다
다음글