답변완료
문의 드립니다.~~~~
수고하십니다.
작성해 주신 아래식이
제가 의도한 로직으로 수식이 적용되지 않아
공부하기위해 자세한 주석 부탁드립니다.
항상 감사합니다.
input : n(3);
var : t1(0),hd(0),ht(0),hv(0);
var : t2(0),ld(0),lt(0),lv(0);
var : B(0),S(0);
var : ET(0);
if Bdate != Bdate[1] Then
{
t1 = 0;
Var1 = sDate;
Var2 = stime;
var3 = h;
hd = 0;
ht = 0;
hv = 0;
t2 = 0;
value1 = sDate;
value2 = sTime;
value3 = l;
ld = 0;
lt = 0;
lv = 0;
B = 0;
S = 0;
}
else
{
if h > h[1] Then
{
t1 = 1;
Var1 = sDate;
Var2 = stime;
var3 = h;
}
if h < h[1] Then
t1 = -1;
if t1 == -1 and h <= var3-PriceScale*n Then
{
t1 = -2;
hd = Var1;
ht = Var2;
hv = var3;
if lv > 0 Then
{
TL_New(ld,lt,lv,hd,ht,hv);
B = hv+(hv-lv);
S = Lv-(hv-lv);
}
}
if l > l[1] Then
t2 = 1;
if l < l[1] Then
{
t2 = -1;
value1 = sDate;
value2 = stime;
value3 = l;
}
if t2 == 1 and l >= Value3+PriceScale*n Then
{
t2 = -2;
ld = value1;
lt = value2;
lv = value3;
if hv > 0 Then
{
TL_New(hd,ht,hv,ld,lt,lv);
B = hv+(hv-lv);
S = Lv-(hv-lv);
}
}
}
if MarketPosition <= 0 Then
Buy("b",AtStop,B);
if MarketPosition >= 0 Then
Sell("s",AtStop,S);
2023-06-17
910
글번호 169846
시스템
답변완료
전환추세 크기
Input : 전환(0.4);
Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분("");
Array:고[10,4](0),저[10,4](0);
var : TL(0),T(0);
HH = H;
LL = L;
If Index == 0 Then
{
고[1,1] = HH;
고[1,2] = 0;
고[1,3] = sDate;
고[1,4] = sTime;
저[1,1] = LL;
저[1,2] = 0;
저[1,3] = sDate;
저[1,4] = sTime;
}
If Index > 0 Then
{
hiBar = hiBar + 1;
loBar = loBar + 1;
}
If HH[hiBar] < HH Then hiBar = 0;
If LL[loBar] > LL Then loBar = 0;
Condition1 = 저[1,1]+전환 <= HH and hiBar == 0;
Condition2 = 고[1,1]-전환 >= LL and loBar == 0;
처리구분 = "";
If Condition1 and Condition2 Then
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH[hiBar];
고[1,2] = Index - hiBar;
고[1,3] = sDate[hiBar];
고[1,4] = sTime[hiBar];
hiBar = -1;
loBar = -1;
}
If 고[1,1] < HH[hiBar] Then
{
고[1,1] = HH[hiBar];
고[1,2] = Index - hiBar;
고[1,3] = sDate[hiBar];
고[1,4] = sTime[hiBar];
hiBar = -1;
loBar = -1;
}
최종꼭지점 = "고점";
}
If 처리구분 == "저점처리" Then
{
If 최종꼭지점 == "고점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL[loBar];
저[1,2] = Index - loBar;
저[1,3] = sDate[loBar];
저[1,4] = sTime[loBar];
hiBar = -1;
loBar = -1;
Condition3 = False;
if Condition3 == False and 저[1,1]<= 고[1,1]-0.7 Then
{
Condition3 = true;
TL= TL_New(sDate,sTime,0,sDate,sTime,999);
TL_SetColor(TL,Gold);
TL_SetSize(TL,2);
Buy();
}
}
If 저[1,1] > LL[loBar] Then
{
저[1,1] = LL[loBar];
저[1,2] = Index - loBar;
저[1,3] = sDate[loBar];
저[1,4] = sTime[loBar];
hiBar = -1;
loBar = -1;
if Condition3 == False and 저[1,1] <= 고[1,1]-0.7 Then
{
Condition3 = true;
TL= TL_New(sDate,sTime,0,sDate,sTime,999);
TL_SetColor(TL,Gold);
TL_SetSize(TL,2);
Buy();
}
}
최종꼭지점 = "저점";
}
if MarketPosition == 1 and T == -1 Then ExitLong();
하락추세선의 크기가 0.7P 에 도달하면 매수 조건에서, 세로선은 정상인데 매수 신호가 잘 안나옵니다. 수정 부탁드립니다.
2023-06-17
1124
글번호 169841
시스템