커뮤니티
감사합니다.
2015-12-01 23:25:32
110
글번호 92963
if MarketPosition == 1 Then{
//최대수익포인트를 0.5로 나누어
//진입이후 0.5 단위로 몇개의 폭인지 갯수를 산출(소숫점 제외하고 정수만 취함)
var1 = int((highest(h,BarsSinceEntry)-EntryPrice)/0.5);
//객수에 0.5를 곱해 몇 포인트인지 환산
var2 = var1*0.5;
#폭이 0(0.5이상 수익발생하지 못했음)이면 진입가-0.5에 손절
if var1 == 0 Then
exitlong("bx1",AtStop,EntryPrice-0.5);
#폭이 1이상(0.5단위로 최소 1폭이상 수익발생)이면
#최종 폭에-0.2값으로 손절 설정
if var1 >= 1 Then
exitlong("bx2",AtStop,EntryPrice+var2-0.2);
}
if MarketPosition == -1 Then{
var3 = int((EntryPrice-lowest(l,BarsSinceEntry))/0.5);
var4 = var3*0.5;
if var1 == 0 Then
ExitShort("sx1",AtStop,EntryPrice-0.5);
if var1 >= 1 Then
ExitShort("sx2",AtStop,EntryPrice-var4+0.2);
}
반갑습니다. 위 함수는 예전에 답변 받았던 수식입니다.
이 수식을 0.05 즉 한틱단위로 제가 가공해서 쓰려면 어찌 해야할 지 여쭤봅니다.
매번 감사드립니다.
답변 1
예스스탁 예스스탁 답변
2015-12-02 09:23:30
안녕하세요
예스스탁입니다.
각 포인트값을 틱수로 지정하게 수정해 드립니다.
input : 폭틱수(10),손절틱수(4);
if MarketPosition == 1 Then{
//최대수익포인트를 폭틱수로 나누어
//진입이후 폭틱수 단위로 몇개의 폭인지 갯수를 산출(소숫점 제외하고 정수만 취함)
var1 = int((highest(h,BarsSinceEntry)-EntryPrice)/(PriceScale*폭틱수));
//갯수에 폭틱수를 곱해 몇 포인트인지 환산
var2 = var1*(PriceScale*폭틱수);
#폭이 0(0.5이상 수익발생하지 못했음)이면 진입가-폭틱수에 손절
if var1 == 0 Then
exitlong("bx1",AtStop,EntryPrice-(PriceScale*폭틱수));
#폭이 1이상(폭틱수 단위로 최소 1폭이상 수익발생)이면
#최종 폭에-손절틱수값으로 손절 설정
if var1 >= 1 Then
exitlong("bx2",AtStop,EntryPrice+var2-(PriceScale*손절틱수));
}
if MarketPosition == -1 Then{
var3 = int((EntryPrice-lowest(l,BarsSinceEntry))/(PriceScale*폭틱수));
var4 = var3*(PriceScale*폭틱수);
if var1 == 0 Then
ExitShort("sx1",AtStop,EntryPrice-(PriceScale*폭틱수));
if var1 >= 1 Then
ExitShort("sx2",AtStop,EntryPrice-var4+(PriceScale*손절틱수));
}
즐거운 하루되세요
> 돌을던져라 님이 쓴 글입니다.
> 제목 : 감사합니다.
> if MarketPosition == 1 Then{
//최대수익포인트를 0.5로 나누어
//진입이후 0.5 단위로 몇개의 폭인지 갯수를 산출(소숫점 제외하고 정수만 취함)
var1 = int((highest(h,BarsSinceEntry)-EntryPrice)/0.5);
//객수에 0.5를 곱해 몇 포인트인지 환산
var2 = var1*0.5;
#폭이 0(0.5이상 수익발생하지 못했음)이면 진입가-0.5에 손절
if var1 == 0 Then
exitlong("bx1",AtStop,EntryPrice-0.5);
#폭이 1이상(0.5단위로 최소 1폭이상 수익발생)이면
#최종 폭에-0.2값으로 손절 설정
if var1 >= 1 Then
exitlong("bx2",AtStop,EntryPrice+var2-0.2);
}
if MarketPosition == -1 Then{
var3 = int((EntryPrice-lowest(l,BarsSinceEntry))/0.5);
var4 = var3*0.5;
if var1 == 0 Then
ExitShort("sx1",AtStop,EntryPrice-0.5);
if var1 >= 1 Then
ExitShort("sx2",AtStop,EntryPrice-var4+0.2);
}
반갑습니다. 위 함수는 예전에 답변 받았던 수식입니다.
이 수식을 0.05 즉 한틱단위로 제가 가공해서 쓰려면 어찌 해야할 지 여쭤봅니다.
매번 감사드립니다.