커뮤니티

감사합니다.

프로필 이미지
새로운돌
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 즉 한틱단위로 제가 가공해서 쓰려면 어찌 해야할 지 여쭤봅니다. 매번 감사드립니다.