커뮤니티
변환 부탁드립니다.
2012-03-29 13:57:45
359
글번호 49485
안녕하세요
아래 로직을 YT로 변환 부탁드리겠습니다.
atrlen=50
len1=3
len2=2.2
len3=2.9
break=3
level=0.5
big=8
len=0.37
Var49 = highd(1)-lowd(1)
Var20 = slowk(5,3)
Var21 = slowd(5,3,3)
'-------------------------------------------------
' 고점 얻기
'-------------------------------------------------
If crossdn( Var20, Var21 ) Then
Var3 = Var1 '이전고점
Var4 = Var2 '이전고점바
Var2 = BarNum(1) '고점바
Var1 = hhv(1,high,Var2-var4) '고점
Var5 = ( Var1-var3 ) / ( Var2-var4 ) '기울기
Else
Var1 = Var1(1) '고점
Var2 = Var2(1) '고점바
Var3 = Var3(1) '이전고점
Var4 = Var4(1) '이전고점바
Var5 = Var5(1) '기울기
End If
If Var2-var4 > 0 Then
Var7 = Var5 * ( BarNum-var2 )+ Var1 '고점저항선
End If
'-------------------------------------------------
' 저점 얻기
'-------------------------------------------------
If crossup( Var20, Var21 ) Then
Var13 = Var11 '이전저점
Var14 = Var12 '이전저점바
Var12 = BarNum(1) '저점바
Var11 = llv(1,low,Var12-var14) 'low(1) '저점
Var15 = ( Var11-var13 ) / ( Var12-var14 ) '기울기
Else
Var11 = Var11(1) '저점
Var12 = Var12(1) '저점바
Var13 = Var13(1) '이전저점
Var14 = Var14(1) '이전저점바
Var15 = Var15(1) '기울기
End If
If Var12-var14 > 0 Then
Var17 = Var15 * ( BarNum-var12 )+ Var11 '저점지지선
End If
'-------------------------------------------------
' 매매
'-------------------------------------------------
Var47 = macdsignal(close,12,26,9)
Var48 = mov(Var47,5,s)
If Var7 > 0 Then
If crossup(close, Var7) Then '추세선가격을 상향돌파하면
If close >= opend+var49*len Then
If Var48 >= Var48(1) Then
If close > mov(close,20,s) Then
buy("")
End If
End If
End If
End If
End If
Var62=high-low
Var63=mov(Var62,atrlen,s)
If position=1 Then
Var50 = HHV(1,High,BarnumsinceEntry +1)
Call exitlong("매수추적",Atstop,Var50-var63*len1)
Call exitlong("매수변동성",Atstop,close-var63*len2 )
If Var50>= Entryprice+var63*break Then
Call exitlong("매수손익분기",Atstop,Entryprice+var63*level)
Call exitlong("매수추적1",Atstop,Var50-var63*len3)
End If
If Var50>=Entryprice+var63*big Then
Call exitlong("매수초과수익",Atstop,llv(1,low,3))
End If
End If
답변 2
예스스탁 예스스탁 답변
2012-03-29 15:37:10
안녕하세요
예스스탁입니다.
input : atrlen(50),len1(3),len2(2.2),len3(2.9),break(3),level(0.5),big(8),len(0.37);
Var49 = highd(1)-lowd(1);
Var20 = StochasticsK(5,3);
Var21 = StochasticsD(5,3,3);
#'-------------------------------------------------
#' 고점 얻기
#'-------------------------------------------------
If crossdown( Var20, Var21 ) then{
Var3 = Var1; #'이전고점
Var4 = Var2; #'이전고점바
Var2 = index[1]; #'고점바
Var1 = highest(high,Var2-var4); #'고점
Var5 = ( Var1-var3 ) / ( Var2-var4 ); #'기울기
}
Else {
Var1 = Var1[1]; #'고점
Var2 = Var2[1]; #'고점바
Var3 = Var3[1]; #'이전고점
Var4 = Var4[1]; #'이전고점바
Var5 = Var5[1]; #'기울기
}
If Var2-var4 > 0 then{
Var7 = Var5 * (index-var2 )+ Var1; #고점저항선
}
#-------------------------------------------------
# 저점 얻기
#-------------------------------------------------
If crossup( Var20, Var21 ) then{
Var13 = Var11 ; #'이전저점
Var14 = Var12; #'이전저점바
Var12 = index[1]; #'저점바
Var11 = lowest(low,Var12-var14); #'low(1) '저점
Var15 = ( Var11-var13 ) / ( Var12-var14 ); #'기울기
}
Else {
Var11 = Var11[1]; #'저점
Var12 = Var12[1]; #'저점바
Var13 = Var13[1]; #'이전저점
Var14 = Var14[1]; #'이전저점바
Var15 = Var15[1]; #'기울기
}
If Var12-var14 > 0 then{
Var17 = Var15 * ( index-var12 )+ Var11; #'저점지지선
}
#-------------------------------------------------
# 매매
#-------------------------------------------------
Var47 = ema(macd(12,26),9);
Var48 = ma(Var47,5);
If Var7 > 0 then{
If crossup(close, Var7) then{ #'추세선가격을 상향돌파하면
If close >= opend(0)+var49*len then{
If Var48 >= Var48[1] then{
If close > ma(close,20) then{
buy("");
}
}
}
}
}
Var62=high-low ;
Var63=ma(Var62,atrlen);
If MarketPosition==1 then{
Var50 = highest(High,BarsSinceEntry +1) ;
exitlong("매수추적",Atstop,Var50-var63*len1) ;
exitlong("매수변동성",Atstop,close-var63*len2 );
If Var50>= Entryprice+var63*break then{
exitlong("매수손익분기",Atstop,Entryprice+var63*level);
exitlong("매수추적1",Atstop,Var50-var63*len3);
}
If Var50>=Entryprice+var63*big then{
exitlong("매수초과수익",Atstop,lowest(low,3));
}
}
즐거운 하루되세요
> 엠제이 님이 쓴 글입니다.
> 제목 : 변환 부탁드립니다.
> 안녕하세요
아래 로직을 YT로 변환 부탁드리겠습니다.
atrlen=50
len1=3
len2=2.2
len3=2.9
break=3
level=0.5
big=8
len=0.37
Var49 = highd(1)-lowd(1)
Var20 = slowk(5,3)
Var21 = slowd(5,3,3)
'-------------------------------------------------
' 고점 얻기
'-------------------------------------------------
If crossdn( Var20, Var21 ) Then
Var3 = Var1 '이전고점
Var4 = Var2 '이전고점바
Var2 = BarNum(1) '고점바
Var1 = hhv(1,high,Var2-var4) '고점
Var5 = ( Var1-var3 ) / ( Var2-var4 ) '기울기
Else
Var1 = Var1(1) '고점
Var2 = Var2(1) '고점바
Var3 = Var3(1) '이전고점
Var4 = Var4(1) '이전고점바
Var5 = Var5(1) '기울기
End If
If Var2-var4 > 0 Then
Var7 = Var5 * ( BarNum-var2 )+ Var1 '고점저항선
End If
'-------------------------------------------------
' 저점 얻기
'-------------------------------------------------
If crossup( Var20, Var21 ) Then
Var13 = Var11 '이전저점
Var14 = Var12 '이전저점바
Var12 = BarNum(1) '저점바
Var11 = llv(1,low,Var12-var14) 'low(1) '저점
Var15 = ( Var11-var13 ) / ( Var12-var14 ) '기울기
Else
Var11 = Var11(1) '저점
Var12 = Var12(1) '저점바
Var13 = Var13(1) '이전저점
Var14 = Var14(1) '이전저점바
Var15 = Var15(1) '기울기
End If
If Var12-var14 > 0 Then
Var17 = Var15 * ( BarNum-var12 )+ Var11 '저점지지선
End If
'-------------------------------------------------
' 매매
'-------------------------------------------------
Var47 = macdsignal(close,12,26,9)
Var48 = mov(Var47,5,s)
If Var7 > 0 Then
If crossup(close, Var7) Then '추세선가격을 상향돌파하면
If close >= opend+var49*len Then
If Var48 >= Var48(1) Then
If close > mov(close,20,s) Then
buy("")
End If
End If
End If
End If
End If
Var62=high-low
Var63=mov(Var62,atrlen,s)
If position=1 Then
Var50 = HHV(1,High,BarnumsinceEntry +1)
Call exitlong("매수추적",Atstop,Var50-var63*len1)
Call exitlong("매수변동성",Atstop,close-var63*len2 )
If Var50>= Entryprice+var63*break Then
Call exitlong("매수손익분기",Atstop,Entryprice+var63*level)
Call exitlong("매수추적1",Atstop,Var50-var63*len3)
End If
If Var50>=Entryprice+var63*big Then
Call exitlong("매수초과수익",Atstop,llv(1,low,3))
End If
End If
엠제이
2012-03-29 17:21:27
매번 도움을 받아 진심으로 감사드립니다.
회사의 무궁한 발전을 기원드립니다.
다음글
이전글