커뮤니티
수식 수정좀 부탁드립니다.
2018-06-06 01:59:35
236
글번호 119519
아래 수식을 작성해주셨는데요.
제가 의도하는 진입 조건은
1. 아래 13가지의 선을 기준으로 이평선이 상하 2틱이내에 있을 것
2. 캔들의 저가가 위 1번의 범위내에 도달하면 매수진입
캔들의 고가가 위 1번의 범위내에 도달하면 매도진입
그런데, 위 1번의 조건에서 13가지 선의 상하 2틱이내 60, 120, 180 이평선이 있는 경우에만 진입해야 하는데
이평선은 도달하지 않고 2번 조건의 캔들의 저가가 선을 기준으로 상하 2틱 이내 도달하면 매수진입하고
역시 이평은 도달하지 않은 상태에서 캔들의 고가가 기준선 상하 2틱 이내에 도달하면 매도진입합니다.
또, 13가지 선과는 관계없이 2번 조건 하나만 만족해도 진입을 합니다.
다시한번 살펴봐주시면 고맙겠습니다.
var : OO(0),HH(0),LL(0),CC(0),OO1(0),HH1(0),LL1(0),CC1(0);
var : mav1(0),mav2(0),mav3(0),maxv(0),minv(0),cnt(0);
Array : line[14](0);
if Bdate != Bdate[1] Then{
OO = O;
HH = H;
LL = L;
OO1 = OO[1];
HH1 = HH[1];
LL1 = LL[1];
CC1 = CC[1];
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
CC = C;
var1 = dayhigh(0);
var2 = daylow(0);
var3 = var1-var2;
line[1] = var1;
line[2] = var2;
line[3] = var1-var3*0.236;
line[4] = var1-var3*0.382;
line[5] = var1-var3*0.500;
line[6] = var1-var3*0.618;
line[7] = var1-var3*0.764;
line[8] = var1+var3*0.236;
line[9] = var1+var3*0.382;
line[10] = var1+var3*0.618;
line[11] = var2-var3*0.236;
line[12] = var2-var3*0.382;
line[13] = var2-var3*0.618;
mav1 = ma(C,60);
mav2 = ma(C,120);
mav3 = ma(C,180);
value1 = 0;
for cnt = 1 to 13
{
if mav1 <= Line[cnt]+PriceScale*2 and mav1 >= line[cnt]-PriceScale*2 Then
value1 = line[cnt];
if mav2 <= Line[cnt]+PriceScale*2 and mav2 >= line[cnt]-PriceScale*2 Then
value1 = line[cnt];
if mav3 <= Line[cnt]+PriceScale*2 and mav3 >= line[cnt]-PriceScale*2 Then
value1 = line[cnt];
}
if value1 > 0 then
{
if crossup(H,value1) Then
sell();
if CrossDown(L,value1) Then
buy();
}
답변 1
예스스탁 예스스탁 답변
2018-06-07 13:38:33
안녕하세요
예스스탁입니다.
죄송하지만 수식의 어느부부늘 수정해 드려야 할지 모르겠습니다.
3개이평 중 하나라도 13개의 선 2틱 이내에 있을고
고가가 해당선을 돌파하거나 저가나 해당선을 돌파할때 신호가 나오고 있습니다
해당 부분은 사용자분이 이후에 수정해 보셔야 할것 같습니다.
즐거운 하루되세요
> 천왕봉 님이 쓴 글입니다.
> 제목 : 수식 수정좀 부탁드립니다.
> 아래 수식을 작성해주셨는데요.
제가 의도하는 진입 조건은
1. 아래 13가지의 선을 기준으로 이평선이 상하 2틱이내에 있을 것
2. 캔들의 저가가 위 1번의 범위내에 도달하면 매수진입
캔들의 고가가 위 1번의 범위내에 도달하면 매도진입
그런데, 위 1번의 조건에서 13가지 선의 상하 2틱이내 60, 120, 180 이평선이 있는 경우에만 진입해야 하는데
이평선은 도달하지 않고 2번 조건의 캔들의 저가가 선을 기준으로 상하 2틱 이내 도달하면 매수진입하고
역시 이평은 도달하지 않은 상태에서 캔들의 고가가 기준선 상하 2틱 이내에 도달하면 매도진입합니다.
또, 13가지 선과는 관계없이 2번 조건 하나만 만족해도 진입을 합니다.
다시한번 살펴봐주시면 고맙겠습니다.
var : OO(0),HH(0),LL(0),CC(0),OO1(0),HH1(0),LL1(0),CC1(0);
var : mav1(0),mav2(0),mav3(0),maxv(0),minv(0),cnt(0);
Array : line[14](0);
if Bdate != Bdate[1] Then{
OO = O;
HH = H;
LL = L;
OO1 = OO[1];
HH1 = HH[1];
LL1 = LL[1];
CC1 = CC[1];
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
CC = C;
var1 = dayhigh(0);
var2 = daylow(0);
var3 = var1-var2;
line[1] = var1;
line[2] = var2;
line[3] = var1-var3*0.236;
line[4] = var1-var3*0.382;
line[5] = var1-var3*0.500;
line[6] = var1-var3*0.618;
line[7] = var1-var3*0.764;
line[8] = var1+var3*0.236;
line[9] = var1+var3*0.382;
line[10] = var1+var3*0.618;
line[11] = var2-var3*0.236;
line[12] = var2-var3*0.382;
line[13] = var2-var3*0.618;
mav1 = ma(C,60);
mav2 = ma(C,120);
mav3 = ma(C,180);
value1 = 0;
for cnt = 1 to 13
{
if mav1 <= Line[cnt]+PriceScale*2 and mav1 >= line[cnt]-PriceScale*2 Then
value1 = line[cnt];
if mav2 <= Line[cnt]+PriceScale*2 and mav2 >= line[cnt]-PriceScale*2 Then
value1 = line[cnt];
if mav3 <= Line[cnt]+PriceScale*2 and mav3 >= line[cnt]-PriceScale*2 Then
value1 = line[cnt];
}
if value1 > 0 then
{
if crossup(H,value1) Then
sell();
if CrossDown(L,value1) Then
buy();
}
다음글