커뮤니티
수식 부탁드립니다
2025-12-24 15:16:07
220
글번호 229347
1. 지표수식
기준캔들D : 최근 60봉의 최저가대비 최고가의 상승율이 10%이상이고 10이평선이 20이평선을 데드크로스 발생시점의 캔들
기준캔들G : 기준캔들D발생이후 10이평선이 20이평선을 골드크로스 발생시점의 양봉캔들
라인설정 : 최근 20봉사이에 기준캔들D가 발생하지 않고 처음 기준캔들D이 발생한 경우에 기준캔들D가 발생한 시점으로부터 최근 5봉이내에 종가상 20이평선을
시가종가상 잉태된 데드크로스( O>ma(C,20) && C< ma(C,20) ) 발생시킨 음봉캔들의 시가라인(DC), 기준캔들D로부터 최근 10봉의 최고가라인(DH), 기준캔들D로부터 최근 33봉의 최저가라인(DL), 기준캔들D와 기준캔들G사이의 최저가라인(DGL)
2. 신호수식
가. 기준캔들D가 발생된 이후 처음으로 기준캔들G가 발생한 이후에 발생된 첫 음봉캔들에 매도신호 수식
나. 기준캔들D가 발생된 이후 처음으로 기준캔들G가 발생한 이후에 종가상 DH라인을 돌파하지 않은 상태에서 시가종가상 잉태되어 시가라인(DC)을 데드크로스할 때의 매도신호 다. <나>신호가 발생되고 난 이후 종가상 최저가라인(DGL)을 깨지 않은 상태가 유지되면서 10이평선과 20이평선을 동시에 시가종가상 데드시킨 음봉캔들에 매도신호발생수식. 단 이 신호는 종가상 최저가라인(DGL)을 깨면 더이상 발생되지 않아야 한다
답변 1
예스스탁 예스스탁 답변
2025-12-26 13:59:52
안녕하세요
예스스탁입니다.
1
var : m1(0),m2(0),T(0),cnt(0);
var : DC(0),DH(0),DL(0),DGL(0);
var1 = highest(H,60);
var2 = lowest(L,60);
m1 = ma(C,10);
m2 = ma(C,20);
Condition1 = var1 >= var2*1.10 and CrossDown(m1,m2);
Condition2 = CrossUp(m1,m2);
Condition3 = C < m2 and m2 < O;
if Condition1 == true and CountIf(Condition1==true,20) == 1 Then
{
T = 1;
DC = Nan;
For cnt = 4 downto 0
{
if Condition1[cnt] == true Then
{
DC = C[cnt];
}
}
DH = highest(H,10);
DL = lowest(L,33);
DGL = L;
}
Else
{
if T == 1 and CrossUp(m1,m2) Then
T = 2;
if T == 1 and L < DGL Then
DGL = L;
}
if DC > 0 Then
Plot1(DC);
if DH > 0 then
plot2(DH);
if DL > 0 Then
Plot3(DL);
if DGL > 0 Then
plot4(DGL);
2
var : m1(0),m2(0),T(0),cnt(0);
var : 기준캔들D(False),기준캔들G(False);
var : DC(0),DH(0),DL(0),DGL(0),count(0);
var1 = highest(H,60);
var2 = lowest(L,60);
m1 = ma(C,10);
m2 = ma(C,20);
기준캔들D = var1 >= var2*1.10 and CrossDown(m1,m2);
기준캔들G = CrossUp(m1,m2);
if 기준캔들D == true and CountIf(기준캔들D ==true,20) == 1 Then
{
T = 1;
DC = Nan;
For cnt = 4 downto 0
{
if C[cnt] < m2[cnt] and m2[cnt] < O[cnt] Then
{
DC = C[cnt];
}
}
DH = highest(H,10);
DL = lowest(L,33);
DGL = L;
count = 0;
Condition1 = False;
Condition2 = False;
Condition3 = False;
}
Else
{
if T == 1 and 기준캔들G Then
T = 2;
if T == 1 and L < DGL Then
DGL = L;
if T >= 1 and C > DH Then
Condition1 = true;
if T >= 1 and C < DGL Then
Condition2 = true;
if T == 2 Then
{
if C < O Then
{
count = count+1;
if count == 1 Then
Buy();
}
if Condition1 == False and DC > 0 and CrossDown(C,DC) Then
{
Sell();
Condition3 = true;
}
if Condition2 == False and Condition3 == true and
DGL > 0 and C < min(m1,m2) and max(m1,m2) < O Then
Sell();
}
}
즐거운 하루되세요
다음글