답변완료
전환추세 쌍쓰리 동시
Input : 전환(0.15);
Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""), TL(0), TL1(0),TX(0),TX2(0);
Array:고[10,4](0),저[10,4](0);
var : box(0),BB(False);
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;
TL = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
TL_SetSize(TL,1);
TL_SetColor(TL,Red);
if 저[1,1] <=DayHigh-0.8 and 저[1,1] <= 저[2,1] + PriceScale* 1 and 저[1,1] >= 저[2,1] - PriceScale* 1 Then
{
tx2 = Text_New(저[1,3],저[1,4],저[1,1]-0.05,"●");
Text_SetStyle(tx2,2,2);
Text_SetColor(tx2,Magenta);
Text_SetSize(tx2,20);
}
if 저[1,1] <=DayHigh-0.8 and max(저[1,1],저[2,1],저[3,1]) <= min(저[1,1],저[2,1],저[3,1])+PriceScale*2 Then
{
tx2 = Text_New(저[1,3],저[1,4],저[1,1]-0.05,"●");
Text_SetStyle(tx2,2,2);
Text_SetColor(tx2,Black);
Text_SetSize(tx2,10);
TL_Delete(TL1);
TL1= TL_New(sDate,sTime,0,sDate,sTime,999);
TL_SetColor(TL1,Gold);
TL_SetSize(TL1,3);
}
}
Else 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;
TL_SetEnd(TL,고[1,3],고[1,4],고[1,1]);
}
최종꼭지점 = "고점";
Plot1(고[1,1]);
NoPlot(2);
}
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;
TL = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
TL_SetSize(TL,1);
TL_SetColor(TL,Blue);
if 고[1,1] <= 고[2,1] + PriceScale* 0 and 고[1,1] >= 고[2,1] - PriceScale* 1 Then
{
tx2 = Text_New(고[1,3],고[1,4],고[1,1]+0.05,"●");
Text_SetStyle(tx2,2,2);
Text_SetColor(tx2,Green);
Text_SetSize(tx2,7);
}
}
Else 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;
TL_SetEnd(TL,저[1,3],저[1,4],저[1,1]);
}
최종꼭지점 = "저점";
Plot2(저[1,1]);
NoPlot(1);
}
쌍바닥 등은 그대로 모두 표시하고,
쓰리바닥만, 단독 표시는 없애고 쌍바닥과 겹칠 때만 동그라미 표시. 감사합니다.
2023-11-03
867
글번호 173704
지표
답변완료
시스템 수식 좀 부탁 드립니다.
* 안녕 하세요. 지나번 도움 많이 배웠습니다.
* 아래 박스 그리기 지표 좀 봐 주십시요.
1. 지표는 되는데 박스가 안그려 짐니다. 잘못 한 점이 무었이지요???
2. 매매식으로 가능 한가요? → CrossUp(var91[1],var91[5])
## <아래 수식>
VAR91 = MA(C,20) ;
plot91(var91,"상승",IFf(var91[1]<var91[5],Black,Magenta),Def,6) ;
plot92(var91,"하락",IFf(var91[1]>var91[5],Red,Blue),Def,4) ;
## 박스그리기
var : box(0);
var : TL1(0),TL2(0),TX1(0),TX2(0);
if CrossUp(var91[1],var91[5]) Then
{
box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l);
Box_SetColor(box,Rgb(0,255,120) ); // Rgb(255,150,255)
Box_SetFill(box,true);
Box_SetExtFill(box,true);
value1 = H;
Value2 = L;
//TL1 = TL_New(sDate,sTime,value1,NextBarSdate,NextBarStime,value1);
//TL2 = TL_New(sDate,sTime,value2,NextBarSdate,NextBarStime,value2);
TL_SetColor(TL1,Red);
TL_SetColor(TL2,Red);
TL_SetSize(TL1,3);
TL_SetSize(TL2,3);
//TX1 = Text_New(NextBarSdate,NextBarStime,value1,NumToStr(value1,0));
//TX2 = Text_New(NextBarSdate,NextBarStime,value2,NumToStr(Value2,0));
Text_SetStyle(TX1,2,1);
Text_SetStyle(TX2,2,0);
}
else
if CrossDown(var91[5],var91[1]) Then
{
box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l);
Box_SetColor(box,Rgb(255,255,0)); // Rgb(40,250,100)
Box_SetFill(box,true);
Box_SetExtFill(box,true);
value1 = H;
Value2 = L;
//TL1 = TL_New(sDate,sTime,value1,NextBarSdate,NextBarStime,value1);
//TL2 = TL_New(sDate,sTime,value2,NextBarSdate,NextBarStime,value2);
TL_SetColor(TL1,Black);
TL_SetColor(TL2,Black);
TL_SetSize(TL1,3);
TL_SetSize(TL2,3);
//TX1 = Text_New(NextBarSdate,NextBarStime,value1,NumToStr(value1,0));
//TX2 = Text_New(NextBarSdate,NextBarStime,value2,NumToStr(Value2,0));
Text_SetStyle(TX1,2,1);
Text_SetStyle(TX2,2,0);
}
Else
{
Box_SetEnd(box,NextBarSdate,NextBarStime,l);
TL_SetEnd(TL1,NextBarSdate,NextBarStime,value1);
TL_SetEnd(TL2,NextBarSdate,NextBarStime,value2);
Text_SetLocation(TX1,NextBarSdate,NextBarStime,value1);
Text_SetLocation(TX2,NextBarSdate,NextBarStime,value2);
}
* 매번 많은 도움에 고맙습니다. 좋은 주말 되십시요 ^^
2023-11-03
859
글번호 173691
시스템