예스스탁
예스스탁 답변
2022-11-25 15:01:38
> 유로파54 님이 쓴 글입니다.
> 제목 : 문의 드립니다!
> 안녕하세요!
아래 수식을 대상으로 해서 다음과같이 2가지 경우로 수정 부탁드립니다
1, 수식1과 수식2의 조건이 일치시 선이 발생토록 수정
2, 수식1과 수식3의 조건이 일치시 선이 발생토록 수정
감사합니다!!
----------------------------------------------------
<수식 1>
input : N(30),색1(white),색2(white),굵기1(2),굵기2(2),형태1(1),형태2(1);
input : 세로선색(White),세로선굵기(2),세로선형태(1);
var : cnt(0),HH(0),LL(0),HTL1(0),LTL1(0),H1(0),L1(0),TL(0);
Array : HTL[100](0),LTL[100](0),HV[100](0),LV[100](0);
if Sdate != sDate[1] Then
{
value1 = sDate;
Value2 = value1[1];
Value3 = sTime;
Value4 = Value3[1];
For cnt = 1 to N
{
HV[cnt] = 0;
LV[cnt] = 0;
TL_Delete(HTL[cnt]);
TL_Delete(LTL[cnt]);
var1 = max(DayOpen(cnt),DayClose(cnt));
var2 = min(DayOpen(cnt),DayClose(cnt));
if cnt == 1 Then
{
HTL[cnt] = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1);
HV[cnt] = var1;
TL_SetColor(HTL[cnt],색1);
TL_SetSize(HTL[cnt],굵기1);
TL_SetStyle(HTL[cnt],형태1);
TL_SetExtRight(HTL[cnt],true);
TL_SetDrawMode(HTL[cnt],0);
HH = var1;
LTL[cnt] = TL_New(sDate,sTime,var2,NextBarSdate,NextBarStime,var2);
LV[cnt] = var2;
TL_SetColor(LTL[cnt],색2);
TL_SetSize(LTL[cnt],굵기2);
TL_SetStyle(LTL[cnt],형태2);
TL_SetExtRight(LTL[cnt],true);
TL_SetDrawMode(LTL[cnt],0);
LL = var2;
}
Else
{
if abs(var1-DayOpen(0)) < 10 and (var1 > HH or var1 < LL) Then
{
HTL[cnt] = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1);
HV[cnt] = var1;
TL_SetColor(HTL[cnt],색1);
TL_SetSize(HTL[cnt],굵기1);
TL_SetStyle(HTL[cnt],형태1);
TL_SetExtRight(HTL[cnt],true);
TL_SetDrawMode(HTL[cnt],0);
}
if abs(Var2-DayOpen(0)) < 10 and (Var2 > HH or Var2 < LL) Then
{
LTL[cnt] = TL_New(sDate,sTime,Var2,NextBarSdate,NextBarStime,Var2);
LV[cnt] = var2;
TL_SetColor(LTL[cnt],색2);
TL_SetSize(LTL[cnt],굵기2);
TL_SetStyle(LTL[cnt],형태2);
TL_SetExtRight(LTL[cnt],true);
TL_SetDrawMode(LTL[cnt],0);
}
if var1 > HH and abs(var1-DayOpen(0)) < 10 Then
HH = DayHigh(cnt);
if Var2 < LL and abs(Var2-DayOpen(0)) < 10 Then
LL = DayLow(cnt);
}
var3 = max(DayOpen(cnt+1),DayClose(cnt+1));
var4 = min(DayOpen(cnt+1),DayClose(cnt+1));
if cnt == 1 Then
{
HTL1 = TL_New(Value2,value4,var3,sDate[1],sTime[1],var3);
TL_SetColor(HTL1,색1);
TL_SetSize(HTL1,굵기1);
TL_SetStyle(HTL1,형태1);
TL_SetDrawMode(HTL1,0);
H1 = var3;
LTL1 = TL_New(Value2,Value3,var4,sDate[1],sTime[1],var4);
TL_SetColor(LTL1,색2);
TL_SetSize(LTL1,굵기2);
TL_SetStyle(LTL1,형태2);
TL_SetDrawMode(LTL1,0);
L1 = var4;
}
Else
{
if abs(var3-DayOpen(1)) < 10 and (var3 > H1 or var3 < L1) Then
{
HTL1 = TL_New(Value2,value4,var3,sDate[1],sTime[1],var3);
TL_SetColor(HTL1,색1);
TL_SetSize(HTL1,굵기1);
TL_SetStyle(HTL1,형태1);
TL_SetDrawMode(HTL1,0);
}
if abs(Var4-DayOpen(1)) < 10 and (Var4 > H1 or Var4 < L1) Then
{
LTL1 = TL_New(Value2,Value3,var4,sDate[1],sTime[1],var4);
TL_SetColor(LTL1,색2);
TL_SetSize(LTL1,굵기2);
TL_SetStyle(LTL1,형태2);
TL_SetDrawMode(LTL1,0);
}
if var3 > H1 and abs(var3-DayOpen(1)) < 10 Then
H1 = Var3;
if Var2 < L1 and abs(Var2-DayOpen(0)) < 10 Then
L1 = Var4;
}
}
}
Else
{
Condition1 = False;
For cnt = 1 to N
{
if (HV[cnt] > 0 and H >= HV[cnt] and H[1] < HV[cnt]) or
(HV[cnt] > 0 and L <= HV[cnt] and L[1] > HV[cnt]) or
(LV[cnt] > 0 and H >= LV[cnt] and H[1] < LV[cnt]) or
(LV[cnt] > 0 and L <= LV[cnt] and L[1] > LV[cnt]) Then
Condition1 = true;
}
if Condition1 == true Then
{
TL = TL_New(sDate,sTime,0,sDate,sTime,99999999);
TL_SetColor(TL,세로선색);
TL_SetSize(TL,세로선굵기);
TL_SetStyle(TL,세로선형태);
}
}
<수식 2>
input : 굵기1(3),굵기2(3),굵기3(3),굵기4(3);
var : cond11(false,data1),cond21(false,data1);
var : cond12(false,data1),cond22(false,data1);
var : TL1(0,Data1),TL2(0,Data1),TL3(0,Data1),TL4(0,Data1);
plot1(data2(highD(0)),"data2고가");
plot2(data2(LowD(0)),"data2저가");
plot3(data3(highD(0)),"data3고가");
plot4(data3(LowD(0)),"data3저가");
cond11 = data2(highD(0)) >= data3(highD(0)-PriceScale*1);
cond21 = data3(lowD(0)) <= data2(lowD(0)+PriceScale*1);
if sTime >= 90300 and Cond11 == true and cond11[1] == false Then
{
PlaySound("C:₩예스트레이더₩data₩Sound₩.wav");
TL1 = TL_New(sDate,stime,0,sDate,sTime,99999999);
TL_SetColor(TL1,White);
TL_SetSize(TL1,굵기1);
}
if sTime >= 90300 and Cond21 == true and cond21[1] == false then
{
PlaySound("C:₩예스트레이더₩data₩Sound₩.wav");
TL2 = TL_New(sDate,stime,0,sDate,sTime,99999999);
TL_SetColor(TL2,Yellow);
TL_SetSize(TL2,굵기2);
}
cond12 = data2(LowD(0)) <= data3(lowD(0)+PriceScale*1);
cond22 = data3(highD(0)) >= data2(highD(0)-PriceScale*1);
if sTime >= 90300 and Cond12 == true and cond12[1] == false Then
{
PlaySound("C:₩예스트레이더₩data₩Sound₩.wav");
TL3 = TL_New(sDate,stime,0,sDate,sTime,99999999);
TL_SetColor(TL3,White);
TL_SetSize(TL3,굵기3);
}
if sTime >= 90300 and Cond22 == true and cond22[1] == false then
{
PlaySound("C:₩예스트레이더₩data₩Sound₩.wav");
TL4 = TL_New(sDate,stime,0,sDate,sTime,99999999);
TL_SetColor(TL4,Yellow);
TL_SetSize(TL4,굵기4);
}
<수식 3>
input : N(1);
var : V1(0,data1);
var : idx(0,Data1);
if Bdate != Bdate[1] Then
{
v1 = 0;
idx = 0;
}
idx = idx+1;
if idx >= N Then
{
if crossup(data6(H),data21(L)) or CrossDown(data6(L),data21(H)) Then
{
v1 = data1(C);
}
if crossup(data6(H),data21(L)) or CrossDown(data6(L),data21(H)) Then
{
v1 = data1(C);
}
plot1(v1);
plot2(v1);
}
Else
{
NoPlot(1);
NoPlot(2);
}