커뮤니티
시스템식
2009-02-19 12:16:19
649
글번호 20364
j 조건을 만족하면 j매도를 행합니다.
이때 수익을 극대화하기 위해, 두가지 청산방식을 택합니다.
첫째, j매도후 보통청산
둘째, j매도후 10봉이내에 특정봉이 나타나면, 그봉의 종가로부터 얼마이상 가격이
떨어지면 j매도 특정청산
여기서 보통청산식은 쉬워서 제가 작성을 했는데요,
j매도 특정청산식은 어려워서 작성을 못했어요.
if j then sell("j매도");
j매도후 10봉이내에 "20봉동안 최저가= 저가"인 봉(특정봉)이 나타나면, 이 특정봉의 atr(14)값보다 작거나 같은 값(x <= atr(14))이면서, 호가단위인 0.05단위로 움직이는 값중 최대값을 x라고 한다.
위의 특정봉 출현후
"현재봉의 저가 <= 특정봉종가-2x"
를 만족하면 "j매도" 청산.(on close 청산)
(다른 매도식들도 여러개 있는데, 청산식이 전부 달라요. 그래서
다른 매도식과 청산이 혼동되지 않게 계속 "j매도"라고 언급해줘야 함)
----------------------------
x값은 다음과 같이 지정하면 제가 원하는 값을 얻을것 같습니다.
혹시 제가 floor 함수를 잘못 이해했나요? 소수이하 버림 함수로
알고 있는데요...
value1 = ATR(14);
var1 = FracPortion(value1*10)*10; //소수 2자리 값
1)만약 var1이 0 이나 5면 x= (floor(value1*100))/100
2)만약,1<=var1 and var1<=4면 x=(floor(value1*10))/10
3)만약,6<=var1 and var1<=9면 x=((floor(value1*10))/10)+0.05
예를 들어, atr(14)가 0.35라면 1)에 해당하죠. 100을 곱해준후 소수이하버림을
하면 35가 되고, 식에따라 다시 100으로 나눠주면 x=0.35 가 되니 제가 원하는 값이죠.
또 예를 들어, atr(14)가 0.44라면 2)에 해당되죠. 10을 곱해준후 소수이하버림을
하면 4가 되죠. 식에따라 다시 10으로 나눠주니 x=0.4가 되어 제가 원하는 값이죠.
또 예를 들어, atr(14)가 0.27이라면 3)에 해당하죠. 10을 곱해준후 소수이하버림을
하면 2가 되고, 식에따라 10을 다시 나눠주면 0.2가 되고, 식에 따라 0.05를
더해 주면, x=0.25가 되어 제가 원하는 값이죠.
감사합니다. 부탁드려요 ^^
답변 1
예스스탁 예스스탁 답변
2009-02-19 14:28:04
안녕하세요
예스스탁입니다.
var : X(0);
value1 = ATR(14);
var1 = FracPortion(value1*10)*10; //소수 2자리 값
if var1 == 0 or var1 == 5 Then
x= (floor(value1*100))/100;
if var1 >= 1 or var1 <= 4 Then
x=(floor(value1*10))/10;
if var1 >= 6 or var1 <= 9 Then
x=((floor(value1*10))/10)+0.05;
if MarketPosition != -1 Then
Condition1 = False;
if MarketPosition() == -1 and IsEntryName("j매도") == True Then{
if Lowest(L,20) == L Then{
Condition1 = true;
var2 = C;
var3 = x;
}
if Condition1 == True Then{
ExitShort("j매도x",AtStop,var2-var3*2);
}
}
즐거운 하루되세요
> 스테디어드밴서 님이 쓴 글입니다.
> 제목 : 시스템식
> j 조건을 만족하면 j매도를 행합니다.
이때 수익을 극대화하기 위해, 두가지 청산방식을 택합니다.
첫째, j매도후 보통청산
둘째, j매도후 10봉이내에 특정봉이 나타나면, 그봉의 종가로부터 얼마이상 가격이
떨어지면 j매도 특정청산
여기서 보통청산식은 쉬워서 제가 작성을 했는데요,
j매도 특정청산식은 어려워서 작성을 못했어요.
if j then sell("j매도");
j매도후 10봉이내에 "20봉동안 최저가= 저가"인 봉(특정봉)이 나타나면, 이 특정봉의 atr(14)값보다 작거나 같은 값(x <= atr(14))이면서, 호가단위인 0.05단위로 움직이는 값중 최대값을 x라고 한다.
위의 특정봉 출현후
"현재봉의 저가 <= 특정봉종가-2x"
를 만족하면 "j매도" 청산.(on close 청산)
(다른 매도식들도 여러개 있는데, 청산식이 전부 달라요. 그래서
다른 매도식과 청산이 혼동되지 않게 계속 "j매도"라고 언급해줘야 함)
----------------------------
x값은 다음과 같이 지정하면 제가 원하는 값을 얻을것 같습니다.
혹시 제가 floor 함수를 잘못 이해했나요? 소수이하 버림 함수로
알고 있는데요...
value1 = ATR(14);
var1 = FracPortion(value1*10)*10; //소수 2자리 값
1)만약 var1이 0 이나 5면 x= (floor(value1*100))/100
2)만약,1<=var1 and var1<=4면 x=(floor(value1*10))/10
3)만약,6<=var1 and var1<=9면 x=((floor(value1*10))/10)+0.05
예를 들어, atr(14)가 0.35라면 1)에 해당하죠. 100을 곱해준후 소수이하버림을
하면 35가 되고, 식에따라 다시 100으로 나눠주면 x=0.35 가 되니 제가 원하는 값이죠.
또 예를 들어, atr(14)가 0.44라면 2)에 해당되죠. 10을 곱해준후 소수이하버림을
하면 4가 되죠. 식에따라 다시 10으로 나눠주니 x=0.4가 되어 제가 원하는 값이죠.
또 예를 들어, atr(14)가 0.27이라면 3)에 해당하죠. 10을 곱해준후 소수이하버림을
하면 2가 되고, 식에따라 10을 다시 나눠주면 0.2가 되고, 식에 따라 0.05를
더해 주면, x=0.25가 되어 제가 원하는 값이죠.
감사합니다. 부탁드려요 ^^
이전글