예스스탁
예스스탁 답변
2022-12-20 08:56:06
안녕하세요
예스스탁입니다.
1
별도로 내용을 간략화할 부분이 없습니다.
2
박스의 색상이 후행적으로 변경되는 내용입니다.
아래식에서 매수와 매도신호가 발생하는 봉이
실제 추세가 변경되는 첫봉입니다.
input :Peod(10),색상두께(50);
Var:하락색a(Red), 상승색a(Blue);
Var:jr(0),gT(0);
Var: 고11(0),고12(0),시간11(0),시간12(0),선TL1(0),선TL(0),
고21(0),고22(0),시간21(0),시간22(0),Vlue11(0),Vlue12(0),
고31(0),고32(0),시간31(0),시간32(0);
Array:고Val[20](0),저val[20](0),고Bar[20](0),저Bar[20](0);
Array:dr[7](0),dfr[7](0);
var : dbox(0),dbox1(0);
dr[0] = 0;
dr[1] = 2;
dr[2] = 3.;
dr[3] = -1;
dr[4] = -2.;
dr[5] = 1;
dr[6] = 0.5;
For jr = 0 To 19
{
고Bar[jr] = 고Bar[jr] + 1;
저Bar[jr] = 저Bar[jr] + 1;
}
if crossup(c,highest(H,Peod)[1]) Then
gT = 1;
if CrossDown(c,Lowest(L,Peod)[1]) Then
gT = -1;
If gT == -1 Then
{
If gT[1] != -1 Then
{
For jr = 18 DownTo 0
{
저val[jr+1] = 저val[jr];
저Bar[jr+1] = 저Bar[jr];
//ZZ[j+1] = ZZ[j];
}
저val[0] = L;
저Bar[0] = 0;
//ZZ[0] = L;
고11 = Date[고Bar[0]];
시간11 = stime[고Bar[0]];
Vlue11 = 고Val[0];
고12 = Date[저Bar[0]];
시간12 = stime[저Bar[0]];
Vlue12 = 저val[0];
고21 = Date[고Bar[0]];
시간21 = stime[고Bar[0]];
고22 = Date[0];
시간22 = stime[0];
for jr = 0 to 6
{
dfr[jr] = 저val[1] + ((고Val[0] - 저val[1]) * dr[jr]);
}
Box_SetEnd(dbox,고11,시간11,Vlue11);
dbox = box_new(고11,시간11,Vlue11,고12,시간12,Vlue12);
Box_SetColor(dbox,상승색a);
Box_SetFill(dbox,true,색상두께);
Sell();
}
If 저val[0] > L Then
{
저val[0] = L;
저Bar[0] = 0;
//ZZ[0] = L;
고12 = Date[저Bar[0]];
시간12 = stime[저Bar[0]];
Vlue12 = 저val[0];
고22 = Date[0];
시간22 = stime[0];
}
Box_SetEnd(dbox,NextBarSdate,NextBarStime,Vlue12);
}
If gT == 1 Then
{
If gT[1] != 1 Then
{
For jr = 18 DownTo 0
{
고Val[jr+1] = 고Val[jr];
고Bar[jr+1] = 고Bar[jr];
//ZZ[j+1] = ZZ[j];
}
고Val[0] = H;
고Bar[0] = 0;
//ZZ[0] = H;
고11 = Date[저Bar[0]];
시간11 = stime[저Bar[0]];
Vlue11 = 저val[0];
고12 = Date[고Bar[0]];
시간12 = stime[고Bar[0]];
Vlue12 = 고Val[0];
고31 = Date[저Bar[0]];
시간31 = stime[저Bar[0]];
고32 = Date[0];
시간32 = stime[0];
for jr = 0 to 5
{
dfr[jr] = 저val[0] + ((고Val[1] - 저val[0]) * dr[jr]);
}
Box_SetEnd(dbox,고11,시간11,Vlue11);
dbox = box_new(고11,시간11,Vlue11,고12,시간12,Vlue12);
Box_SetColor(dbox,하락색a);
Box_SetFill(dbox,true,색상두께);
buy();
}
If 고Val[0] < H Then
{
고Val[0] = H;
고Bar[0] = 0;
//ZZ[0] = H;
고12 = Date[고Bar[0]];
시간12 = stime[고Bar[0]];
Vlue12 = 고Val[0];
고32 = Date[0];
시간32 = stime[0];
}
Box_SetEnd(dbox,NextBarSdate,NextBarStime,Vlue12);
}
즐거운 하루되세요
> 외국인 님이 쓴 글입니다.
> 제목 : 수정부탁드립니다
> 간단하게 수정부탁드리니다.
메모리부족현상 나타남
Input:af(0.06),maxAF(0.25);
Var:오늘(0),극대(0),극저(0),가속(0),내일(0),추세(0),상승(1),하락(-1);
//---------------------------------------------------------------------------------
Var1 = Ema(C,1);
if Var1 > 0 and
극대 == 0 and 극저 == 0 then {
극대 = Var1; 극저 = Var1;
}
if Var1 > 0 and
오늘[1] == 0 then {
if 추세[1] == 0 then {
if Var1[1] < Var1 then 추세 = 상승;
if Var1[1] > Var1 then 추세 = 하락;
}
if 추세[1] == 상승 and Var1[1] > Var1 then {
추세 = 하락;
오늘 = 극대[1];
가속 = af;
}
if 추세[1] == 하락 and Var1[1] < Var1 then {
추세 = 상승;
오늘 = 극저[1];
가속 = af;
}
극저 = min(Var1,극저);
극대 = max(Var1,극대);
}
if 오늘[1] > 0 then {
if 추세[1] == 상승 then {
if Var1 > 내일[1] then {
오늘 = 내일[1];
극저 = 0;
if Var1 > 극대[1] then {
극대 = Var1;
가속 = min(maxAF,가속+af);
}
}
else {
추세 = 하락;
오늘 = 극대[1];
극대 = 0;
극저 = Var1;
가속 = af;
}
}
if 추세[1] == 하락 then {
if Var1 < 내일[1] then {
오늘 = 내일[1];
극대 = 0;
if Var1 < 극저[1] then {
극저 = Var1;
가속 = min(maxAF,가속+af);
}
}
else {
추세 = 상승;
오늘 = 극저[1];
극저 = 0;
극대 = Var1;
가속 = af;
}
}
}
내일 = (max(극대,극저) - 오늘) * 가속 + 오늘;
//Plot1(오늘);
if var1 >= C Then
Plot1(var1, "오늘",cyan);
if var1 <= C Then
Plot1(var1, "오늘",tomato);
//---------------------------------------------------------------------------------
var2 = Ema(C,2);
if var2 > 0 and
극대 == 0 and 극저 == 0 then {
극대 = var2; 극저 = var2;
}
if var2 > 0 and
오늘[1] == 0 then {
if 추세[1] == 0 then {
if var2[1] < var2 then 추세 = 상승;
if var2[1] > var2 then 추세 = 하락;
}
if 추세[1] == 상승 and var2[1] > var2 then {
추세 = 하락;
오늘 = 극대[1];
가속 = af;
}
if 추세[1] == 하락 and var2[1] < var2 then {
추세 = 상승;
오늘 = 극저[1];
가속 = af;
}
극저 = min(var2,극저);
극대 = max(var2,극대);
}
if 오늘[1] > 0 then {
if 추세[1] == 상승 then {
if var2 > 내일[1] then {
오늘 = 내일[1];
극저 = 0;
if var2 > 극대[1] then {
극대 = var2;
가속 = min(maxAF,가속+af);
}
}
else {
추세 = 하락;
오늘 = 극대[1];
극대 = 0;
극저 = var2;
가속 = af;
}
}
if 추세[1] == 하락 then {
if var2 < 내일[1] then {
오늘 = 내일[1];
극대 = 0;
if var2 < 극저[1] then {
극저 = var2;
가속 = min(maxAF,가속+af);
}
}
else {
추세 = 상승;
오늘 = 극저[1];
극저 = 0;
극대 = var2;
가속 = af;
}
}
}
내일 = (max(극대,극저) - 오늘) * 가속 + 오늘;
//Plot1(오늘);
if var2 >= C Then
Plot2(var2, "오늘",cyan);
if var2 <= C Then
Plot2(var2, "오늘",tomato);
//---------------------------------------------------------------------------------
var3 = Ema(C,4);
if var3 > 0 and
극대 == 0 and 극저 == 0 then {
극대 = var3; 극저 = var3;
}
if var3 > 0 and
오늘[1] == 0 then {
if 추세[1] == 0 then {
if var3[1] < var3 then 추세 = 상승;
if var3[1] > var3 then 추세 = 하락;
}
if 추세[1] == 상승 and var3[1] > var3 then {
추세 = 하락;
오늘 = 극대[1];
가속 = af;
}
if 추세[1] == 하락 and var3[1] < var3 then {
추세 = 상승;
오늘 = 극저[1];
가속 = af;
}
극저 = min(var3,극저);
극대 = max(var3,극대);
}
if 오늘[1] > 0 then {
if 추세[1] == 상승 then {
if var3 > 내일[1] then {
오늘 = 내일[1];
극저 = 0;
if var3 > 극대[1] then {
극대 = var3;
가속 = min(maxAF,가속+af);
}
}
else {
추세 = 하락;
오늘 = 극대[1];
극대 = 0;
극저 = var3;
가속 = af;
}
}
if 추세[1] == 하락 then {
if var3 < 내일[1] then {
오늘 = 내일[1];
극대 = 0;
if var3 < 극저[1] then {
극저 = var3;
가속 = min(maxAF,가속+af);
}
}
else {
추세 = 상승;
오늘 = 극저[1];
극저 = 0;
극대 = var3;
가속 = af;
}
}
}
내일 = (max(극대,극저) - 오늘) * 가속 + 오늘;
//Plot1(오늘);
if var3 >= C Then
Plot3(var3, "오늘",cyan);
if var3 <= C Then
Plot3(var3, "오늘",tomato);
//---------------------------------------------------------------------------------
var4 = Ema(C,6);
if var4 > 0 and
극대 == 0 and 극저 == 0 then {
극대 = var4; 극저 = var4;
}
if var4 > 0 and
오늘[1] == 0 then {
if 추세[1] == 0 then {
if var4[1] < var4 then 추세 = 상승;
if var4[1] > var4 then 추세 = 하락;
}
if 추세[1] == 상승 and var4[1] > var4 then {
추세 = 하락;
오늘 = 극대[1];
가속 = af;
}
if 추세[1] == 하락 and var4[1] < var4 then {
추세 = 상승;
오늘 = 극저[1];
가속 = af;
}
극저 = min(var4,극저);
극대 = max(var4,극대);
}
if 오늘[1] > 0 then {
if 추세[1] == 상승 then {
if var4 > 내일[1] then {
오늘 = 내일[1];
극저 = 0;
if var4 > 극대[1] then {
극대 = var4;
가속 = min(maxAF,가속+af);
}
}
else {
추세 = 하락;
오늘 = 극대[1];
극대 = 0;
극저 = var4;
가속 = af;
}
}
if 추세[1] == 하락 then {
if var4 < 내일[1] then {
오늘 = 내일[1];
극대 = 0;
if var4 < 극저[1] then {
극저 = var4;
가속 = min(maxAF,가속+af);
}
}
else {
추세 = 상승;
오늘 = 극저[1];
극저 = 0;
극대 = var4;
가속 = af;
}
}
}
내일 = (max(극대,극저) - 오늘) * 가속 + 오늘;
//Plot1(오늘);
if var4 >= C Then
Plot4(var4, "오늘",cyan);
if var4 <= C Then
Plot4(var4, "오늘",tomato);
//---------------------------------------------------------------------------------
var5 = Ema(C,8);
if var5 > 0 and
극대 == 0 and 극저 == 0 then {
극대 = var5; 극저 = var5;
}
if var5 > 0 and
오늘[1] == 0 then {
if 추세[1] == 0 then {
if var5[1] < var5 then 추세 = 상승;
if var5[1] > var5 then 추세 = 하락;
}
if 추세[1] == 상승 and var5[1] > var5 then {
추세 = 하락;
오늘 = 극대[1];
가속 = af;
}
if 추세[1] == 하락 and var5[1] < var5 then {
추세 = 상승;
오늘 = 극저[1];
가속 = af;
}
극저 = min(var5,극저);
극대 = max(var5,극대);
}
if 오늘[1] > 0 then {
if 추세[1] == 상승 then {
if var5 > 내일[1] then {
오늘 = 내일[1];
극저 = 0;
if var5 > 극대[1] then {
극대 = var5;
가속 = min(maxAF,가속+af);
}
}
else {
추세 = 하락;
오늘 = 극대[1];
극대 = 0;
극저 = var5;
가속 = af;
}
}
if 추세[1] == 하락 then {
if var5 < 내일[1] then {
오늘 = 내일[1];
극대 = 0;
if var5 < 극저[1] then {
극저 = var5;
가속 = min(maxAF,가속+af);
}
}
else {
추세 = 상승;
오늘 = 극저[1];
극저 = 0;
극대 = var5;
가속 = af;
}
}
}
내일 = (max(극대,극저) - 오늘) * 가속 + 오늘;
//Plot1(오늘);
if var5 >= C Then
Plot5(var5, "오늘",cyan);
if var5 <= C Then
Plot5(var5, "오늘",tomato);
//---------------------------------------------------------------------------------
var6 = Ema(C,10);
if var6 > 0 and
극대 == 0 and 극저 == 0 then {
극대 = var6; 극저 = var6;
}
if var6 > 0 and
오늘[1] == 0 then {
if 추세[1] == 0 then {
if var6[1] < var6 then 추세 = 상승;
if var6[1] > var6 then 추세 = 하락;
}
if 추세[1] == 상승 and var6[1] > var6 then {
추세 = 하락;
오늘 = 극대[1];
가속 = af;
}
if 추세[1] == 하락 and var6[1] < var6 then {
추세 = 상승;
오늘 = 극저[1];
가속 = af;
}
극저 = min(var6,극저);
극대 = max(var6,극대);
}
if 오늘[1] > 0 then {
if 추세[1] == 상승 then {
if var6 > 내일[1] then {
오늘 = 내일[1];
극저 = 0;
if var6 > 극대[1] then {
극대 = var6;
가속 = min(maxAF,가속+af);
}
}
else {
추세 = 하락;
오늘 = 극대[1];
극대 = 0;
극저 = var6;
가속 = af;
}
}
if 추세[1] == 하락 then {
if var6 < 내일[1] then {
오늘 = 내일[1];
극대 = 0;
if var6 < 극저[1] then {
극저 = var6;
가속 = min(maxAF,가속+af);
}
}
else {
추세 = 상승;
오늘 = 극저[1];
극저 = 0;
극대 = var6;
가속 = af;
}
}
}
내일 = (max(극대,극저) - 오늘) * 가속 + 오늘;
//Plot1(오늘);
if var6 >= C Then
Plot6(var6, "오늘",cyan);
if var6 <= C Then
Plot6(var6, "오늘",tomato);
시스템식부탁드립니다.
input :Peod(10),색상두께(50);
Var:하락색a(Red), 상승색a(Blue);
Var:jr(0),gT(0);
Var: 고11(0),고12(0),시간11(0),시간12(0),선TL1(0),선TL(0),
고21(0),고22(0),시간21(0),시간22(0),Vlue11(0),Vlue12(0),
고31(0),고32(0),시간31(0),시간32(0);
Array:고Val[20](0),저val[20](0),고Bar[20](0),저Bar[20](0);
Array:dr[7](0),dfr[7](0);
var : dbox(0),dbox1(0);
dr[0] = 0;
dr[1] = 2;
dr[2] = 3.;
dr[3] = -1;
dr[4] = -2.;
dr[5] = 1;
dr[6] = 0.5;
For jr = 0 To 19
{
고Bar[jr] = 고Bar[jr] + 1;
저Bar[jr] = 저Bar[jr] + 1;
}
if crossup(c,highest(H,Peod)[1]) Then
gT = 1;
if CrossDown(c,Lowest(L,Peod)[1]) Then
gT = -1;
If gT == -1 Then
{
If gT[1] != -1 Then
{
For jr = 18 DownTo 0
{
저val[jr+1] = 저val[jr];
저Bar[jr+1] = 저Bar[jr];
//ZZ[j+1] = ZZ[j];
}
저val[0] = L;
저Bar[0] = 0;
//ZZ[0] = L;
고11 = Date[고Bar[0]];
시간11 = stime[고Bar[0]];
Vlue11 = 고Val[0];
고12 = Date[저Bar[0]];
시간12 = stime[저Bar[0]];
Vlue12 = 저val[0];
고21 = Date[고Bar[0]];
시간21 = stime[고Bar[0]];
고22 = Date[0];
시간22 = stime[0];
for jr = 0 to 6
{
dfr[jr] = 저val[1] + ((고Val[0] - 저val[1]) * dr[jr]);
}
Box_SetEnd(dbox,고11,시간11,Vlue11);
dbox = box_new(고11,시간11,Vlue11,고12,시간12,Vlue12);
Box_SetColor(dbox,상승색a);
Box_SetFill(dbox,true,색상두께);
}
If 저val[0] > L Then
{
저val[0] = L;
저Bar[0] = 0;
//ZZ[0] = L;
고12 = Date[저Bar[0]];
시간12 = stime[저Bar[0]];
Vlue12 = 저val[0];
고22 = Date[0];
시간22 = stime[0];
}
Box_SetEnd(dbox,NextBarSdate,NextBarStime,Vlue12);
}
If gT == 1 Then
{
If gT[1] != 1 Then
{
For jr = 18 DownTo 0
{
고Val[jr+1] = 고Val[jr];
고Bar[jr+1] = 고Bar[jr];
//ZZ[j+1] = ZZ[j];
}
고Val[0] = H;
고Bar[0] = 0;
//ZZ[0] = H;
고11 = Date[저Bar[0]];
시간11 = stime[저Bar[0]];
Vlue11 = 저val[0];
고12 = Date[고Bar[0]];
시간12 = stime[고Bar[0]];
Vlue12 = 고Val[0];
고31 = Date[저Bar[0]];
시간31 = stime[저Bar[0]];
고32 = Date[0];
시간32 = stime[0];
for jr = 0 to 5
{
dfr[jr] = 저val[0] + ((고Val[1] - 저val[0]) * dr[jr]);
}
Box_SetEnd(dbox,고11,시간11,Vlue11);
dbox = box_new(고11,시간11,Vlue11,고12,시간12,Vlue12);
Box_SetColor(dbox,하락색a);
Box_SetFill(dbox,true,색상두께);
}
If 고Val[0] < H Then
{
고Val[0] = H;
고Bar[0] = 0;
//ZZ[0] = H;
고12 = Date[고Bar[0]];
시간12 = stime[고Bar[0]];
Vlue12 = 고Val[0];
고32 = Date[0];
시간32 = stime[0];
}
Box_SetEnd(dbox,NextBarSdate,NextBarStime,Vlue12);
}