커뮤니티
문의드립니다
2011-11-09 10:38:32
387
글번호 44578
문1)
지난번 문의 드렸던 수식 누락된 부분이 있어 추가문의 드립니다
아래 답변수식의 하단부분의
if Condition1 == true and index >= var1+10 and index <= var1+30 and
CrossDown(value1,value2) and H < var2 Then
exitlong();
수식과 같이 데드크로스 발생한 봉 이후 30개봉 이내에서 value1이 value2를 또다시 데드크로스 발생하면 바로 매수청산 하는 것으로 작성해 주셨는데 2번째 데드크로스 발생하면 바로 청산 하는 것이 아니라
다음과 같이 수정부탁드립니다
첫번째 데드크로스 발생한 봉 이후 30개봉 이내에서 value1이 value2를 1회이상 데드크로스 한적이 있으면
가장 최근에 value1이 value2를 골든크로스 발생했던 봉의 저가를 찾아 바로 이 봉의 저가를 하향돌파 하면 매수청산 하는 수식으로 수정부탁드립니다
-------------- 지난번 답변해 주신 수식 ---------------------
input : shortPeriod(12),longPeriod(26),Period(9);
value1 = MACD(shortPeriod, longPeriod);
value2 = ema(value1,Period);
if MarketPosition == 1 Then{
if Condition1 == false and BarsSinceEntry >= 5 and CrossDown(value1,value2) Then{
Condition1 = true;
var1 = index;
var2 = H;
}
if Condition1 == true and index >= var1+10 and index <= var1+30 and
CrossDown(value1,value2) and H < var2 Then
exitlong();
}
Else
Condition1 = false;
문2)
현재 매수포지션 일 때
매수진입 한 봉 이전 20개봉 이후로부터 매수진입 한 봉 사이에서
value1 이 value2를 1회 이상 데드크로스 한 적이 있으면
(즉 매수진입 한 봉 이전으로부터 20개봉 사이에서만 데드크로스 발생)
매수진입 한 봉의 30개봉 이내에서 value1 이 value2를 1회 이상 데드크로스 하면 (이때의 데드크로스시 봉의 고가는 진입봉 이전의 데드크로스 당시 봉의 고가보다 작아야 함)
가장 최근에 value1 이 value2를 골든크로스 했던 봉의 저가를 하향돌파 하면 매수청산 하는 수식부탁
답변 1
예스스탁 예스스탁 답변
2011-11-09 13:12:16
안녕하세요
예스스탁입니다.
1.
input : shortPeriod(12),longPeriod(26),Period(9);
value1 = MACD(shortPeriod, longPeriod);
value2 = ema(value1,Period);
if MarketPosition == 1 Then{
if crossup(value1,value2) Then
var3 = L;
if BarsSinceEntry >= 5 and CrossDown(value1,value2) Then{
value3 = value3+1;
var1 = index;
var2 = var1[1];
var5 = H;
var6 = var5[1];
if value3 == 2 and var1 >= var2+10 and var1 <= var2+30 and var5 < var6 Then{
Condition1 = true;
var4 = var3;
}
}
if Condition1 == true and CrossDown(c,var4) Then
exitlong();
}
Else{
value3 = 0;
Condition1 = false;
}
2.
input : shortPeriod(12),longPeriod(26),Period(9);
value1 = MACD(shortPeriod, longPeriod);
value2 = ema(value1,Period);
value3 = countif(CrossDown(value1,value2),20);
if CrossDown(value1,value2) Then
var1 = H;
if CrossUp(value1,value2) Then
var3 = L;
if MarketPosition == 1 Then{
if value3[BarsSinceEntry] >= 1 and
CrossDown(value1,value2) And
H < var1[BarsSinceEntry] Then{
value4 = L;
Condition1 = True;
}
if Condition1 == true and CrossDown(c,var3) Then
exitlong();
}
Else{
Condition1 = false;
}
즐거운 하루되세요
> logos 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 문1)
지난번 문의 드렸던 수식 누락된 부분이 있어 추가문의 드립니다
아래 답변수식의 하단부분의
if Condition1 == true and index >= var1+10 and index <= var1+30 and
CrossDown(value1,value2) and H < var2 Then
exitlong();
수식과 같이 데드크로스 발생한 봉 이후 30개봉 이내에서 value1이 value2를 또다시 데드크로스 발생하면 바로 매수청산 하는 것으로 작성해 주셨는데 2번째 데드크로스 발생하면 바로 청산 하는 것이 아니라
다음과 같이 수정부탁드립니다
첫번째 데드크로스 발생한 봉 이후 30개봉 이내에서 value1이 value2를 1회이상 데드크로스 한적이 있으면
가장 최근에 value1이 value2를 골든크로스 발생했던 봉의 저가를 찾아 바로 이 봉의 저가를 하향돌파 하면 매수청산 하는 수식으로 수정부탁드립니다
-------------- 지난번 답변해 주신 수식 ---------------------
input : shortPeriod(12),longPeriod(26),Period(9);
value1 = MACD(shortPeriod, longPeriod);
value2 = ema(value1,Period);
if MarketPosition == 1 Then{
if Condition1 == false and BarsSinceEntry >= 5 and CrossDown(value1,value2) Then{
Condition1 = true;
var1 = index;
var2 = H;
}
if Condition1 == true and index >= var1+10 and index <= var1+30 and
CrossDown(value1,value2) and H < var2 Then
exitlong();
}
Else
Condition1 = false;
문2)
현재 매수포지션 일 때
매수진입 한 봉 이전 20개봉 이후로부터 매수진입 한 봉 사이에서
value1 이 value2를 1회 이상 데드크로스 한 적이 있으면
(즉 매수진입 한 봉 이전으로부터 20개봉 사이에서만 데드크로스 발생)
매수진입 한 봉의 30개봉 이내에서 value1 이 value2를 1회 이상 데드크로스 하면 (이때의 데드크로스시 봉의 고가는 진입봉 이전의 데드크로스 당시 봉의 고가보다 작아야 함)
가장 최근에 value1 이 value2를 골든크로스 했던 봉의 저가를 하향돌파 하면 매수청산 하는 수식부탁