예스스탁
예스스탁 답변
2020-01-03 15:19:51
안녕하세요
예스스탁입니다.
하단으로 추가해 드립니다.
Input: length(20);
Var : j(0),jj(0),T(0);
var : 최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),TL1(0);
Array:HH[10,4](0),LL[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
Input:기간(20);
Var:종가사용여부(0),TL_NewBit(0);
Array:고[10,4](0),저[10,4](0);
If Index == 0 Then
{
HH[1,1] = H;
LL[1,1] = L;
}
Condition1 = Highest(H,length) == H and 최종고가 <> H;
Condition2 = Lowest (L,length) == L and 최종저가 <> L;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If LL[1,1] > L Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If HH[1,1] < H Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = H; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
HH[j,jj] = HH[j-1,jj];
}
}
HH[1,1] = H;
HH[1,2] = Index;
HH[1,3] = sDate;
HH[1,4] = sTime;
TL1 = TL_New(LL[1,3],LL[1,4],LL[1,1],HH[1,3],HH[1,4],HH[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,RED);
}
Else If HH[1,1] < H Then // 1번 고점보다 높은 고가 출현
{
HH[1,1] = H;
HH[1,2] = Index;
HH[1,3] = sDate;
HH[1,4] = sTime;
TL_SetEnd(TL1,HH[1,3],HH[1,4],HH[1,1]);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = L;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
LL[j,jj] = LL[j-1,jj];
}
}
LL[1,1] = L;
LL[1,2] = Index;
LL[1,3] = sDate;
LL[1,4] = sTime;
TL1 = TL_New(HH[1,3],HH[1,4],HH[1,1],LL[1,3],LL[1,4],LL[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,BLUE);
}
Else If LL[1,1] > L then
{
LL[1,1] = L;
LL[1,2] = Index;
LL[1,3] = sDate;
LL[1,4] = sTime;
TL_SetEnd(TL1,LL[1,3],LL[1,4],LL[1,1]);
}
최종꼭지점 = "저점";
}
Value1 = HiLoLineZigZag(기간,종가사용여부,고,저,TL_NewBit);
즐거운 하루되세요
> 상중하 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 아래수식을 65467번의 수식추가 부탁드립니다.
아래1번수식의 이부분을
Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit);
2번수식에서 사용할수 있게 변환 부탁드립니다.
번거롭게 해서 죄송합니다.
한번더 부탁드립니다.
----------------------------------------------
1. (65467번의 수식)
Input:length(20),익청(20),손절(20);
Var:종가사용여부(0),TL_NewBit(0);
Array:고[10,4](0),저[10,4](0);
Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit);
if value1 == 1 and value1 != value1[1] Then
{
Condition1 = true;
Condition2 = true;
}
if value1 == -1 and value1 != value1[1] Then
{
Condition3 = true;
Condition4 = true;
}
If MarketPosition <= 0 and value1 == 1 and Condition1 == true Then
Buy("B1",AtStop,고[2,1]);
If MarketPosition <= 0 and value1 == -1 and Condition4 == true Then
Buy("B2",AtStop,고[1,1]);
if MarketPosition == 1 Then
{
ExitLong("Bp",AtLimit,EntryPrice+PriceScale*익청,"",1,1);
}
If MarketPosition >= 0 and value1 == -1 and Condition3 == true Then
Sell("S1",AtStop,저[2,1]);
If MarketPosition >= 0 and value1 == 1 and Condition2 == true Then
Sell("S2",AtStop,저[1,1]);
if MarketPosition == -1 Then
{
ExitShort("Sp",AtLimit,EntryPrice-PriceScale*익청,"",1,1);
}
SetStoploss(PriceScale*손절,PointStop);
if MarketPosition == 1 Then
{
Condition1 = false;
Condition4 = false;
}
if MarketPosition == -1 Then
{
Condition2 = false;
Condition3 = false;
}
---------------------------------------------------------
2.
Input: length(20);
Var : j(0),jj(0),T(0);
var : 최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),TL1(0);
Array:HH[10,4](0),LL[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
If Index == 0 Then
{
HH[1,1] = H;
LL[1,1] = L;
}
Condition1 = Highest(H,length) == H and 최종고가 <> H;
Condition2 = Lowest (L,length) == L and 최종저가 <> L;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If LL[1,1] > L Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If HH[1,1] < H Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = H; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
HH[j,jj] = HH[j-1,jj];
}
}
HH[1,1] = H;
HH[1,2] = Index;
HH[1,3] = sDate;
HH[1,4] = sTime;
TL1 = TL_New(LL[1,3],LL[1,4],LL[1,1],HH[1,3],HH[1,4],HH[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,RED);
}
Else If HH[1,1] < H Then // 1번 고점보다 높은 고가 출현
{
HH[1,1] = H;
HH[1,2] = Index;
HH[1,3] = sDate;
HH[1,4] = sTime;
TL_SetEnd(TL1,HH[1,3],HH[1,4],HH[1,1]);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = L;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
LL[j,jj] = LL[j-1,jj];
}
}
LL[1,1] = L;
LL[1,2] = Index;
LL[1,3] = sDate;
LL[1,4] = sTime;
TL1 = TL_New(HH[1,3],HH[1,4],HH[1,1],LL[1,3],LL[1,4],LL[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,BLUE);
}
Else If LL[1,1] > L then
{
LL[1,1] = L;
LL[1,2] = Index;
LL[1,3] = sDate;
LL[1,4] = sTime;
TL_SetEnd(TL1,LL[1,3],LL[1,4],LL[1,1]);
}
최종꼭지점 = "저점";
}
-----------------------------------------------------------------------------
2번수식의
Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit);
if value1 == 1 and value1 != value1[1] Then
{
Condition1 = true;
Condition2 = true;
}
if value1 == -1 and value1 != value1[1] Then
{
Condition3 = true;
Condition4 = true;
}
이부분이 한파동에 한번 진입할도록 한거잖아요.
2번 수식에서 이부분을 요청드립니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 부탁드립니다.
>
안녕하세요
예스스탁입니다.
하단으로 추가해 드립니다.
Input: length(20);
Var : j(0),jj(0),T(0);
var : 최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),TL1(0);
Array:HH[10,4](0),LL[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
Input:기간(20);
Var:종가사용여부(0),TL_NewBit(0);
Array:고[10,4](0),저[10,4](0);
If Index == 0 Then
{
HH[1,1] = H;
LL[1,1] = L;
}
Condition1 = Highest(H,length) == H and 최종고가 <> H;
Condition2 = Lowest (L,length) == L and 최종저가 <> L;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If LL[1,1] > L Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If HH[1,1] < H Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = H; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
HH[j,jj] = HH[j-1,jj];
}
}
HH[1,1] = H;
HH[1,2] = Index;
HH[1,3] = sDate;
HH[1,4] = sTime;
TL1 = TL_New(LL[1,3],LL[1,4],LL[1,1],HH[1,3],HH[1,4],HH[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,RED);
}
Else If HH[1,1] < H Then // 1번 고점보다 높은 고가 출현
{
HH[1,1] = H;
HH[1,2] = Index;
HH[1,3] = sDate;
HH[1,4] = sTime;
TL_SetEnd(TL1,HH[1,3],HH[1,4],HH[1,1]);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = L;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
LL[j,jj] = LL[j-1,jj];
}
}
LL[1,1] = L;
LL[1,2] = Index;
LL[1,3] = sDate;
LL[1,4] = sTime;
TL1 = TL_New(HH[1,3],HH[1,4],HH[1,1],LL[1,3],LL[1,4],LL[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,BLUE);
}
Else If LL[1,1] > L then
{
LL[1,1] = L;
LL[1,2] = Index;
LL[1,3] = sDate;
LL[1,4] = sTime;
TL_SetEnd(TL1,LL[1,3],LL[1,4],LL[1,1]);
}
최종꼭지점 = "저점";
}
Value1 = HiLoLineZigZag(기간,종가사용여부,고,저,TL_NewBit);
즐거운 하루되세요
> 상중하 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 아래수식을 65467번의 수식추가 부탁드립니다.
아래1번수식의 이부분을
Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit);
2번수식에서 사용할수 있게 변환 부탁드립니다.
번거롭게 해서 죄송합니다.
한번더 부탁드립니다.
----------------------------------------------
1. (65467번의 수식)
Input:length(20),익청(20),손절(20);
Var:종가사용여부(0),TL_NewBit(0);
Array:고[10,4](0),저[10,4](0);
Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit);
if value1 == 1 and value1 != value1[1] Then
{
Condition1 = true;
Condition2 = true;
}
if value1 == -1 and value1 != value1[1] Then
{
Condition3 = true;
Condition4 = true;
}
If MarketPosition <= 0 and value1 == 1 and Condition1 == true Then
Buy("B1",AtStop,고[2,1]);
If MarketPosition <= 0 and value1 == -1 and Condition4 == true Then
Buy("B2",AtStop,고[1,1]);
if MarketPosition == 1 Then
{
ExitLong("Bp",AtLimit,EntryPrice+PriceScale*익청,"",1,1);
}
If MarketPosition >= 0 and value1 == -1 and Condition3 == true Then
Sell("S1",AtStop,저[2,1]);
If MarketPosition >= 0 and value1 == 1 and Condition2 == true Then
Sell("S2",AtStop,저[1,1]);
if MarketPosition == -1 Then
{
ExitShort("Sp",AtLimit,EntryPrice-PriceScale*익청,"",1,1);
}
SetStoploss(PriceScale*손절,PointStop);
if MarketPosition == 1 Then
{
Condition1 = false;
Condition4 = false;
}
if MarketPosition == -1 Then
{
Condition2 = false;
Condition3 = false;
}
---------------------------------------------------------
2.
Input: length(20);
Var : j(0),jj(0),T(0);
var : 최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),TL1(0);
Array:HH[10,4](0),LL[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
If Index == 0 Then
{
HH[1,1] = H;
LL[1,1] = L;
}
Condition1 = Highest(H,length) == H and 최종고가 <> H;
Condition2 = Lowest (L,length) == L and 최종저가 <> L;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If LL[1,1] > L Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If HH[1,1] < H Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = H; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
HH[j,jj] = HH[j-1,jj];
}
}
HH[1,1] = H;
HH[1,2] = Index;
HH[1,3] = sDate;
HH[1,4] = sTime;
TL1 = TL_New(LL[1,3],LL[1,4],LL[1,1],HH[1,3],HH[1,4],HH[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,RED);
}
Else If HH[1,1] < H Then // 1번 고점보다 높은 고가 출현
{
HH[1,1] = H;
HH[1,2] = Index;
HH[1,3] = sDate;
HH[1,4] = sTime;
TL_SetEnd(TL1,HH[1,3],HH[1,4],HH[1,1]);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = L;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
LL[j,jj] = LL[j-1,jj];
}
}
LL[1,1] = L;
LL[1,2] = Index;
LL[1,3] = sDate;
LL[1,4] = sTime;
TL1 = TL_New(HH[1,3],HH[1,4],HH[1,1],LL[1,3],LL[1,4],LL[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,BLUE);
}
Else If LL[1,1] > L then
{
LL[1,1] = L;
LL[1,2] = Index;
LL[1,3] = sDate;
LL[1,4] = sTime;
TL_SetEnd(TL1,LL[1,3],LL[1,4],LL[1,1]);
}
최종꼭지점 = "저점";
}
-----------------------------------------------------------------------------
예스스탁
예스스탁 답변
2020-01-03 16:03:07
안녕하세요
예스스탁입니다.
2번수식에 1번수식의 개념으로 신호가 나오게 수정했습니다.
Input: length(20),익청(20),손절(20);;
Var : j(0),jj(0),T(0);
var : 최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),TL1(0);
Array:HH[10,4](0),LL[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
If Index == 0 Then
{
HH[1,1] = H;
LL[1,1] = L;
}
Condition1 = Highest(H,length) == H and 최종고가 <> H;
Condition2 = Lowest(L,length) == L and 최종저가 <> L;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If LL[1,1] > L Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If HH[1,1] < H Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
value1 = 1;
최종고가 = H; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
HH[j,jj] = HH[j-1,jj];
}
}
HH[1,1] = H;
HH[1,2] = Index;
HH[1,3] = sDate;
HH[1,4] = sTime;
TL1 = TL_New(LL[1,3],LL[1,4],LL[1,1],HH[1,3],HH[1,4],HH[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,RED);
}
Else If HH[1,1] < H Then // 1번 고점보다 높은 고가 출현
{
HH[1,1] = H;
HH[1,2] = Index;
HH[1,3] = sDate;
HH[1,4] = sTime;
TL_SetEnd(TL1,HH[1,3],HH[1,4],HH[1,1]);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
value1 = -1;
최종저가 = L;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
LL[j,jj] = LL[j-1,jj];
}
}
LL[1,1] = L;
LL[1,2] = Index;
LL[1,3] = sDate;
LL[1,4] = sTime;
TL1 = TL_New(HH[1,3],HH[1,4],HH[1,1],LL[1,3],LL[1,4],LL[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,BLUE);
}
Else If LL[1,1] > L then
{
LL[1,1] = L;
LL[1,2] = Index;
LL[1,3] = sDate;
LL[1,4] = sTime;
TL_SetEnd(TL1,LL[1,3],LL[1,4],LL[1,1]);
}
최종꼭지점 = "저점";
}
if value1 == 1 and value1 != value1[1] Then
{
Condition1 = true;
Condition2 = true;
}
if value1 == -1 and value1 != value1[1] Then
{
Condition3 = true;
Condition4 = true;
}
If MarketPosition <= 0 and value1 == 1 and Condition1 == true Then
Buy("B1",AtStop,HH[2,1]);
If MarketPosition <= 0 and value1 == -1 and Condition4 == true Then
Buy("B2",AtStop,HH[1,1]);
if MarketPosition == 1 Then
{
ExitLong("Bp",AtLimit,EntryPrice+PriceScale*익청,"",1,1);
}
If MarketPosition >= 0 and value1 == -1 and Condition3 == true Then
Sell("S1",AtStop,LL[2,1]);
If MarketPosition >= 0 and value1 == 1 and Condition2 == true Then
Sell("S2",AtStop,LL[1,1]);
if MarketPosition == -1 Then
{
ExitShort("Sp",AtLimit,EntryPrice-PriceScale*익청,"",1,1);
}
SetStoploss(PriceScale*손절,PointStop);
if MarketPosition == 1 Then
{
Condition1 = false;
Condition4 = false;
}
if MarketPosition == -1 Then
{
Condition2 = false;
Condition3 = false;
}
즐거운 하루되세요
> 상중하 님이 쓴 글입니다.
> 제목 : Re : Re : 부탁드립니다.
> 2번수식의
Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit);
if value1 == 1 and value1 != value1[1] Then
{
Condition1 = true;
Condition2 = true;
}
if value1 == -1 and value1 != value1[1] Then
{
Condition3 = true;
Condition4 = true;
}
이부분이 한파동에 한번 진입할도록 한거잖아요.
2번 수식에서 이부분을 요청드립니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 부탁드립니다.
>
안녕하세요
예스스탁입니다.
하단으로 추가해 드립니다.
Input: length(20);
Var : j(0),jj(0),T(0);
var : 최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),TL1(0);
Array:HH[10,4](0),LL[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
Input:기간(20);
Var:종가사용여부(0),TL_NewBit(0);
Array:고[10,4](0),저[10,4](0);
If Index == 0 Then
{
HH[1,1] = H;
LL[1,1] = L;
}
Condition1 = Highest(H,length) == H and 최종고가 <> H;
Condition2 = Lowest (L,length) == L and 최종저가 <> L;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If LL[1,1] > L Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If HH[1,1] < H Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = H; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
HH[j,jj] = HH[j-1,jj];
}
}
HH[1,1] = H;
HH[1,2] = Index;
HH[1,3] = sDate;
HH[1,4] = sTime;
TL1 = TL_New(LL[1,3],LL[1,4],LL[1,1],HH[1,3],HH[1,4],HH[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,RED);
}
Else If HH[1,1] < H Then // 1번 고점보다 높은 고가 출현
{
HH[1,1] = H;
HH[1,2] = Index;
HH[1,3] = sDate;
HH[1,4] = sTime;
TL_SetEnd(TL1,HH[1,3],HH[1,4],HH[1,1]);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = L;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
LL[j,jj] = LL[j-1,jj];
}
}
LL[1,1] = L;
LL[1,2] = Index;
LL[1,3] = sDate;
LL[1,4] = sTime;
TL1 = TL_New(HH[1,3],HH[1,4],HH[1,1],LL[1,3],LL[1,4],LL[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,BLUE);
}
Else If LL[1,1] > L then
{
LL[1,1] = L;
LL[1,2] = Index;
LL[1,3] = sDate;
LL[1,4] = sTime;
TL_SetEnd(TL1,LL[1,3],LL[1,4],LL[1,1]);
}
최종꼭지점 = "저점";
}
Value1 = HiLoLineZigZag(기간,종가사용여부,고,저,TL_NewBit);
즐거운 하루되세요
> 상중하 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 아래수식을 65467번의 수식추가 부탁드립니다.
아래1번수식의 이부분을
Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit);
2번수식에서 사용할수 있게 변환 부탁드립니다.
번거롭게 해서 죄송합니다.
한번더 부탁드립니다.
----------------------------------------------
1. (65467번의 수식)
Input:length(20),익청(20),손절(20);
Var:종가사용여부(0),TL_NewBit(0);
Array:고[10,4](0),저[10,4](0);
Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit);
if value1 == 1 and value1 != value1[1] Then
{
Condition1 = true;
Condition2 = true;
}
if value1 == -1 and value1 != value1[1] Then
{
Condition3 = true;
Condition4 = true;
}
If MarketPosition <= 0 and value1 == 1 and Condition1 == true Then
Buy("B1",AtStop,고[2,1]);
If MarketPosition <= 0 and value1 == -1 and Condition4 == true Then
Buy("B2",AtStop,고[1,1]);
if MarketPosition == 1 Then
{
ExitLong("Bp",AtLimit,EntryPrice+PriceScale*익청,"",1,1);
}
If MarketPosition >= 0 and value1 == -1 and Condition3 == true Then
Sell("S1",AtStop,저[2,1]);
If MarketPosition >= 0 and value1 == 1 and Condition2 == true Then
Sell("S2",AtStop,저[1,1]);
if MarketPosition == -1 Then
{
ExitShort("Sp",AtLimit,EntryPrice-PriceScale*익청,"",1,1);
}
SetStoploss(PriceScale*손절,PointStop);
if MarketPosition == 1 Then
{
Condition1 = false;
Condition4 = false;
}
if MarketPosition == -1 Then
{
Condition2 = false;
Condition3 = false;
}
---------------------------------------------------------
2.
Input: length(20);
Var : j(0),jj(0),T(0);
var : 최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),TL1(0);
Array:HH[10,4](0),LL[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
If Index == 0 Then
{
HH[1,1] = H;
LL[1,1] = L;
}
Condition1 = Highest(H,length) == H and 최종고가 <> H;
Condition2 = Lowest (L,length) == L and 최종저가 <> L;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If LL[1,1] > L Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If HH[1,1] < H Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = H; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
HH[j,jj] = HH[j-1,jj];
}
}
HH[1,1] = H;
HH[1,2] = Index;
HH[1,3] = sDate;
HH[1,4] = sTime;
TL1 = TL_New(LL[1,3],LL[1,4],LL[1,1],HH[1,3],HH[1,4],HH[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,RED);
}
Else If HH[1,1] < H Then // 1번 고점보다 높은 고가 출현
{
HH[1,1] = H;
HH[1,2] = Index;
HH[1,3] = sDate;
HH[1,4] = sTime;
TL_SetEnd(TL1,HH[1,3],HH[1,4],HH[1,1]);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = L;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
LL[j,jj] = LL[j-1,jj];
}
}
LL[1,1] = L;
LL[1,2] = Index;
LL[1,3] = sDate;
LL[1,4] = sTime;
TL1 = TL_New(HH[1,3],HH[1,4],HH[1,1],LL[1,3],LL[1,4],LL[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,BLUE);
}
Else If LL[1,1] > L then
{
LL[1,1] = L;
LL[1,2] = Index;
LL[1,3] = sDate;
LL[1,4] = sTime;
TL_SetEnd(TL1,LL[1,3],LL[1,4],LL[1,1]);
}
최종꼭지점 = "저점";
}
-----------------------------------------------------------------------------