커뮤니티
손절매 시점에서 손절후 매수진입은 되는데 손절후 매도진입이 안됩니다.
2015-05-07 10:38:58
187
글번호 85791
수식검증에는 이상은 없는데 점검좀 부탁드립니다.
1. 손절매 시점에서 손절후 매수진입은 되는데 손절후 매도진입이 안됩니다.
2.손절후 매도진입이나 매수진입을 하였더라도 다시 손절상황이 오면 그 반대방향으로 다시
손절후 매매되게 해주세요
3. 그리고 손절시점 Buy("손절후매수진입",AtStop,EntryPrice*0.95); 이중 퍼센트지로 손절 시점 변경하려면 무엇을 바꿔야할까요?
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("매도");Buy("손절후매수진입",AtStop,EntryPrice*0.95);
}
if MarketPosition == 1 Then
Sell("손절후매도진입",AtStop,EntryPrice*0.95);
if MarketPosition == -1 Then
Buy("손절후매수진입",AtStop,EntryPrice*0.95);
- 1. 86296_20150507_105114.png (0.02 MB)
- 2. 86296_20150507_105313.jpg (0.09 MB)
답변 1
예스스탁 예스스탁 답변
2015-05-07 14:59:45
안녕하세요
예스스탁입니다.
식을 수정했습니다.
손절 %도 변경하실수 있게
외부변수(lossPercent)로 처리했습니다.
input : lossPercent(5);
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*(1-lossPercent/100));
if MarketPosition == -1 Then
Buy("손절후매수진입",AtStop,EntryPrice*(1+lossPercent/100));
즐거운 하루되세요
> 어쿠스틱p 님이 쓴 글입니다.
> 제목 : 손절매 시점에서 손절후 매수진입은 되는데 손절후 매도진입이 안됩니다.
> 수식검증에는 이상은 없는데 점검좀 부탁드립니다.
1. 손절매 시점에서 손절후 매수진입은 되는데 손절후 매도진입이 안됩니다.
2.손절후 매도진입이나 매수진입을 하였더라도 다시 손절상황이 오면 그 반대방향으로 다시
손절후 매매되게 해주세요
3. 그리고 손절시점 Buy("손절후매수진입",AtStop,EntryPrice*0.95); 이중 퍼센트지로 손절 시점 변경하려면 무엇을 바꿔야할까요?
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("매도");Buy("손절후매수진입",AtStop,EntryPrice*0.95);
}
if MarketPosition == 1 Then
Sell("손절후매도진입",AtStop,EntryPrice*0.95);
if MarketPosition == -1 Then
Buy("손절후매수진입",AtStop,EntryPrice*0.95);
다음글
이전글