커뮤니티
손절매0.5시점에서 손절하고 반대로 신규진입신호발생시키기
2015-05-04 19:07:34
246
글번호 85695
위와같에 그림에 아래와같은 설정값이 있다면 아래 그림과같이 목표수익0.5% 손절매0.5% 설정
한 상태인데 손절매 상황이 온다면 손절처리하고 손절된신호 반대로 재진입하는 방법문의좀
드려요 추가적으로 아래에 수식에 어떻게 추가해야하는지 묻습니다.
ps 그리고 차트상에 BuyNO1...SellNo1 등을 한글로 매수 매도로 바꾸는 법도 부탁합니다.
--------------------------------------------------------------------------------
var : val1(0), val2(False), val3(False), val4(False), val5(False);
var : SLindex1(0), SLindex2(0), Lindex1(0), Lindex2(0);
var : SHindex1(0), SHindex2(0), Hindex1(0), Hindex2(0);
val1 = stochasticsD(12,3,3);
val2 = val1 > val1[1] and val1[1] <= val1[2]; // 스토캐스틱 상승반전
val3 = L > L[1] and L[1] <= L[2]; // 저가 상승반전
val4 = val1 < val1[1] and val1[1] >= val1[2]; // 스토캐스틱 하락반전
val5 = H < H[1] and H[1] >= H[2]; // 고가 하락반전
SLindex1 = MRO(val2,50,1); // 최근 스토캐스틱 상승반전 시점의 현재로 부터의 index
SLindex2 = MRO(val2,50,2); // 두번째로 최근 스토캐스틱 상승반전 시점의 현재로 부터의 index
Lindex1 = MRO(val3,50,1); // 최근 저가 상승반전 시점의 현재로 부터의 index
Lindex2 = MRO(val3,50,2); // 두번째로 최근 저가 상승반전 시점의 현재로 부터의 index
SHindex1 = MRO(val4,50,1); // 최근 스토캐스틱 하락반전 시점의 현재로 부터의 index
SHindex2 = MRO(val4,50,2); // 두번째로 최근 스토캐스틱 하락반전 시점의 현재로 부터의 index
Hindex1 = MRO(val5,50,1); // 최근 고가 하락반전 시점의 현재로 부터의 index
Hindex2 = MRO(val5,50,2); // 두번째로 최근 고가 하락반전 시점의 현재로 부터의 index
# stochasticsD의 상승형 divergence 발생시 매수
if
val1[1] <= 20 and //전봉의 stochasticsD값이 침체권이 20 이하에 위치해 있고
val1[SLindex1+1] > val1[SLindex2+1] and // 최근 스토 상승반전 시점의 값이 이전 반전 시점의 값보다 크고
L[Lindex1+1] < L[Lindex2+1] and // 최근 저가 상승반전 시점의 값은 이전 저가 반전 값보다 작고
val2 and lowest(L,5) == lowest(L,15) // 스토캐스틱 상승반전 되었고 5봉동안의 최저가가 15봉 동안의 최저가 이면
then {
buy();
exitshort();
}
# stochasticsD의 하락형 divergence 발생시 매도
if
val1[1] >= 80 and //전봉의 stochasticsD값이 과열권인 80 이상에 위치해 있고
val1[SHindex1+1] < val1[SHindex2+1] and // 최근 스토 하락반전 시점의 값이 이전 반전 시점의 값보다 작고
H[Lindex1+1] > H[Lindex2+1] and // 최근 고가가 하락반전 시점의 값은 이전 고가 반전 값보다 크고
val4 and highest(H,5) == highest(H,15) // 스토캐스틱 하락반전 되었고 5봉동안의 최고가가 15봉 동안의 최고가 이면
then {
sell();
exitLong();
}
- 1. 86200_bandicam_2015-05-04_19-17-57-766.jpg (0.05 MB)
- 2. 86200_bandicam_2015-05-04_19-22-34-809.jpg (0.06 MB)
답변 1
예스스탁 예스스탁 답변
2015-05-06 08:20:39
안녕하세요
예스스탁입니다.
1.
손절후 반대방향으로 진입하기 위해서는
강제청산함수를 사용하지 않고 수식안에서 처리되어야 합니다.
아래 내용에 해당 내용이 추가됐으므로
설정창의 강제청산은 해제하시고 적용하시면 됩니다.
2.
신호의 이름은 수식안에서 주문함수 안에 지정하시면 됩니다.
3.
buy와 sell이 반대포지션 상태에서 발생하면 자동으로 청산도 하므로
buy와 sell함수 및에 exitshort과 exitlong은 불필요 합니다.
4.
var : val1(0), val2(False), val3(False), val4(False), val5(False);
var : SLindex1(0), SLindex2(0), Lindex1(0), Lindex2(0);
var : SHindex1(0), SHindex2(0), Hindex1(0), Hindex2(0);
val1 = stochasticsD(12,3,3);
val2 = val1 > val1[1] and val1[1] <= val1[2]; // 스토캐스틱 상승반전
val3 = L > L[1] and L[1] <= L[2]; // 저가 상승반전
val4 = val1 < val1[1] and val1[1] >= val1[2]; // 스토캐스틱 하락반전
val5 = H < H[1] and H[1] >= H[2]; // 고가 하락반전
SLindex1 = MRO(val2,50,1); // 최근 스토캐스틱 상승반전 시점의 현재로 부터의 index
SLindex2 = MRO(val2,50,2); // 두번째로 최근 스토캐스틱 상승반전 시점의 현재로 부터의 index
Lindex1 = MRO(val3,50,1); // 최근 저가 상승반전 시점의 현재로 부터의 index
Lindex2 = MRO(val3,50,2); // 두번째로 최근 저가 상승반전 시점의 현재로 부터의 index
SHindex1 = MRO(val4,50,1); // 최근 스토캐스틱 하락반전 시점의 현재로 부터의 index
SHindex2 = MRO(val4,50,2); // 두번째로 최근 스토캐스틱 하락반전 시점의 현재로 부터의 index
Hindex1 = MRO(val5,50,1); // 최근 고가 하락반전 시점의 현재로 부터의 index
Hindex2 = MRO(val5,50,2); // 두번째로 최근 고가 하락반전 시점의 현재로 부터의 index
# stochasticsD의 상승형 divergence 발생시 매수
if
val1[1] <= 20 and //전봉의 stochasticsD값이 침체권이 20 이하에 위치해 있고
val1[SLindex1+1] > val1[SLindex2+1] and // 최근 스토 상승반전 시점의 값이 이전 반전 시점의 값보다 크고
L[Lindex1+1] < L[Lindex2+1] and // 최근 저가 상승반전 시점의 값은 이전 저가 반전 값보다 작고
val2 and lowest(L,5) == lowest(L,15) // 스토캐스틱 상승반전 되었고 5봉동안의 최저가가 15봉 동안의 최저가 이면
then {
buy("매수");
}
# stochasticsD의 하락형 divergence 발생시 매도
if
val1[1] >= 80 and //전봉의 stochasticsD값이 과열권인 80 이상에 위치해 있고
val1[SHindex1+1] < val1[SHindex2+1] and // 최근 스토 하락반전 시점의 값이 이전 반전 시점의 값보다 작고
H[Lindex1+1] > H[Lindex2+1] and // 최근 고가가 하락반전 시점의 값은 이전 고가 반전 값보다 크고
val4 and highest(H,5) == highest(H,15) // 스토캐스틱 하락반전 되었고 5봉동안의 최고가가 15봉 동안의 최고가 이면
then {
sell("매도");
}
if MarketPosition == 1 Then
Sell("손절후매도진입",AtStop,EntryPrice*0.95);
if MarketPosition == -1 Then
Buy("손절후매수진입",AtStop,EntryPrice*0.95);
즐거운 하루되세요
> 어쿠스틱p 님이 쓴 글입니다.
> 제목 : 손절매0.5시점에서 손절하고 반대로 신규진입신호발생시키기
> 위와같에 그림에 아래와같은 설정값이 있다면 아래 그림과같이 목표수익0.5% 손절매0.5% 설정
한 상태인데 손절매 상황이 온다면 손절처리하고 손절된신호 반대로 재진입하는 방법문의좀
드려요 추가적으로 아래에 수식에 어떻게 추가해야하는지 묻습니다.
ps 그리고 차트상에 BuyNO1...SellNo1 등을 한글로 매수 매도로 바꾸는 법도 부탁합니다.
--------------------------------------------------------------------------------
var : val1(0), val2(False), val3(False), val4(False), val5(False);
var : SLindex1(0), SLindex2(0), Lindex1(0), Lindex2(0);
var : SHindex1(0), SHindex2(0), Hindex1(0), Hindex2(0);
val1 = stochasticsD(12,3,3);
val2 = val1 > val1[1] and val1[1] <= val1[2]; // 스토캐스틱 상승반전
val3 = L > L[1] and L[1] <= L[2]; // 저가 상승반전
val4 = val1 < val1[1] and val1[1] >= val1[2]; // 스토캐스틱 하락반전
val5 = H < H[1] and H[1] >= H[2]; // 고가 하락반전
SLindex1 = MRO(val2,50,1); // 최근 스토캐스틱 상승반전 시점의 현재로 부터의 index
SLindex2 = MRO(val2,50,2); // 두번째로 최근 스토캐스틱 상승반전 시점의 현재로 부터의 index
Lindex1 = MRO(val3,50,1); // 최근 저가 상승반전 시점의 현재로 부터의 index
Lindex2 = MRO(val3,50,2); // 두번째로 최근 저가 상승반전 시점의 현재로 부터의 index
SHindex1 = MRO(val4,50,1); // 최근 스토캐스틱 하락반전 시점의 현재로 부터의 index
SHindex2 = MRO(val4,50,2); // 두번째로 최근 스토캐스틱 하락반전 시점의 현재로 부터의 index
Hindex1 = MRO(val5,50,1); // 최근 고가 하락반전 시점의 현재로 부터의 index
Hindex2 = MRO(val5,50,2); // 두번째로 최근 고가 하락반전 시점의 현재로 부터의 index
# stochasticsD의 상승형 divergence 발생시 매수
if
val1[1] <= 20 and //전봉의 stochasticsD값이 침체권이 20 이하에 위치해 있고
val1[SLindex1+1] > val1[SLindex2+1] and // 최근 스토 상승반전 시점의 값이 이전 반전 시점의 값보다 크고
L[Lindex1+1] < L[Lindex2+1] and // 최근 저가 상승반전 시점의 값은 이전 저가 반전 값보다 작고
val2 and lowest(L,5) == lowest(L,15) // 스토캐스틱 상승반전 되었고 5봉동안의 최저가가 15봉 동안의 최저가 이면
then {
buy();
exitshort();
}
# stochasticsD의 하락형 divergence 발생시 매도
if
val1[1] >= 80 and //전봉의 stochasticsD값이 과열권인 80 이상에 위치해 있고
val1[SHindex1+1] < val1[SHindex2+1] and // 최근 스토 하락반전 시점의 값이 이전 반전 시점의 값보다 작고
H[Lindex1+1] > H[Lindex2+1] and // 최근 고가가 하락반전 시점의 값은 이전 고가 반전 값보다 크고
val4 and highest(H,5) == highest(H,15) // 스토캐스틱 하락반전 되었고 5봉동안의 최고가가 15봉 동안의 최고가 이면
then {
sell();
exitLong();
}
다음글