커뮤니티
문의드립니다.
2018-08-10 11:29:37
134
글번호 121275
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 기타
코딩 부탁드립니다.
-수익이 n틱이 넘어가면
-아래 트레일링 스탑으로 저장해놓은 외부변수의 절반값으로 트레일링스탑값을 줄임
-만약 현재값이 트레일링스탑값에 걸려 있다면 즉시 청산(안되면 atmarket으로)
input: TsValue(1);
var: Hvalue(0),Lvalue(0);
If MarketPosition() == 1 Then {
Hvalue = Highest(H,BarsSinceEntry+1);
ExitLong("trailstop_EL", Atstop, Hvalue-TsValue*PriceScale);
}
If MarketPosition() == -1 Then {
Lvalue = Lowest(L,BarsSinceEntry+1);
ExitShort("trailStop_Es", Atstop, Lvalue + TsValue*PriceScale);
}
2. 기타
-수익이 [설정틱1]이 넘어가면
-아래 [트레일링스탑]의 절반값으로 트레일링스탑틱값을 줄임
-수익이 [설정틱2]를 넘어가면
-[트레일링스탑]의 3분의 1값으로 트레일링스탑값을 줄임.
-만약 현재값이 트레일링스탑값에 걸려 있다면 즉시 청산(안되면 atmarket으로)
답변 1
예스스탁 예스스탁 답변
2018-08-10 15:19:50
안녕하세요
예스스탁입니다.
1
input: TsValue(1),N(20);
var: Hvalue(0),Lvalue(0);
If MarketPosition() == 1 Then {
Hvalue = Highest(H,BarsSinceEntry+1);
if Hvalue < EntryPrice+PriceScale*n Then
ExitLong("trailstop_EL1", Atstop, Hvalue-TsValue*PriceScale);
Else
ExitLong("trailstop_EL2", Atstop, Hvalue-(TsValue/2)*PriceScale);
}
If MarketPosition() == -1 Then {
Lvalue = Lowest(L,BarsSinceEntry+1);
if Lvalue > EntryPrice-PriceScale*n Then
ExitShort("trailStop_Es1", Atstop, Lvalue + TsValue*PriceScale);
Else
ExitShort("trailStop_Es2", Atstop, Lvalue + (TsValue/2)*PriceScale);
}
2
input: TsValue(1),N1(10),N2(20);
var: Hvalue(0),Lvalue(0);
If MarketPosition() == 1 Then {
Hvalue = Highest(H,BarsSinceEntry+1);
if Hvalue < EntryPrice+PriceScale*n1 Then
ExitLong("trailstop_EL1", Atstop, Hvalue-TsValue*PriceScale);
if Hvalue >= EntryPrice+PriceScale*n1 and Hvalue < EntryPrice+PriceScale*n2 Then
ExitLong("trailstop_EL2", Atstop, Hvalue-(TsValue/2)*PriceScale);
if Hvalue >= EntryPrice+PriceScale*n2 Then
ExitLong("trailstop_EL3", Atstop, Hvalue-(TsValue/3)*PriceScale);
}
If MarketPosition() == -1 Then {
Lvalue = Lowest(L,BarsSinceEntry+1);
if Lvalue > EntryPrice-PriceScale*n1 Then
ExitShort("trailStop_Es1", Atstop, Lvalue + TsValue*PriceScale);
if Lvalue <= EntryPrice-PriceScale*n1 and Lvalue > EntryPrice-PriceScale*n2 Then
ExitShort("trailStop_Es2", Atstop, Lvalue + (TsValue/2)*PriceScale);
if Lvalue <= EntryPrice-PriceScale*n2 Then
ExitShort("trailStop_Es3", Atstop, Lvalue + (TsValue/3)*PriceScale);
}
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 기타
코딩 부탁드립니다.
-수익이 n틱이 넘어가면
-아래 트레일링 스탑으로 저장해놓은 외부변수의 절반값으로 트레일링스탑값을 줄임
-만약 현재값이 트레일링스탑값에 걸려 있다면 즉시 청산(안되면 atmarket으로)
input: TsValue(1);
var: Hvalue(0),Lvalue(0);
If MarketPosition() == 1 Then {
Hvalue = Highest(H,BarsSinceEntry+1);
ExitLong("trailstop_EL", Atstop, Hvalue-TsValue*PriceScale);
}
If MarketPosition() == -1 Then {
Lvalue = Lowest(L,BarsSinceEntry+1);
ExitShort("trailStop_Es", Atstop, Lvalue + TsValue*PriceScale);
}
2. 기타
-수익이 [설정틱1]이 넘어가면
-아래 [트레일링스탑]의 절반값으로 트레일링스탑틱값을 줄임
-수익이 [설정틱2]를 넘어가면
-[트레일링스탑]의 3분의 1값으로 트레일링스탑값을 줄임.
-만약 현재값이 트레일링스탑값에 걸려 있다면 즉시 청산(안되면 atmarket으로)
이전글