for j=2 To 100 //*循环次数*,求出最近的四个高低点,确定箱体上轨和下轨
{
If (Low[j-1] >= Low[j] And low[j] <= Low[j+1])
{
k = j;
n = j;
break;
BoxLowOne = Low[n];
Continue;
For j=k+1 To 100
{
If ( LowFirst = True And Low[j-1] >= Low[j] And low[j] <= Low[j+1])
{
k = j;
n = j;
BoxLowTwo = Low[k];
break;
}
}
}
}
For j=2 To 100
{
If (LowFirst = False And High[j] >= High[j-1] And High[j] >= High[j+1])
{
k = j;
BoxHighOne = High[k];
Break;
Continue;
For j=k+1 To 100
{
If (High[j] >= High[j-1] And High[j] >= High[j+1])
{
k = j;
BoxHighTwo = High[k];
Break;
}
}
}
}
plt.line(\"BoxHighone\",BoxHighOne);
plt.line(\"BoxHighTwo\",BoxHighTwo);
If (LowFirst = False)
{
If((BoxHighTwo - BoxLowOne)/(BoxHighOne - BoxLowOne) >=2 And BoxHighTwo - BoxLowOne>=15 And BoxHighOne < BoxHighTwo)
{
UpBox = BoxHighOne;
DownBox = BoxLowOne;
}
Else
{
UpBox = Max(BoxHighOne,BoxHighTwo);
DownBox = Min(BoxLowOne,BoxLowTwo);
}
}
Else If (LowFirst = True)
{
If((BoxHighOne - BoxLowTwo)/(BoxHighOne - BoxLowOne) >=2 And BoxHighOne - BoxLowTwo >=15 And BoxLowOne > BoxLowTwo)
{
UpBox = BoxHighOne;
DownBox = BoxLowOne;
}
Else
{
UpBox = Max(BoxHighOne,BoxHighTwo);
DownBox = Min(BoxLowOne,BoxLowTwo);
}
}