예스스탁
예스스탁 답변
2023-02-08 16:37:05
안녕하세요
예스스탁입니다.
하나의 식으로 합쳐드립니다.
수식2에 data2가 사용되므로
수식1에 변수 및 계산식을 data1처리를 해야 합니다.
input : n(0);
input : Periods(10),Multiplier(3.0),changeATR(true),showsignals(true),highlighting(true);
var : src(0,Data1),ATR2(0,Data1),ATrv(0,Data1),upv(0,Data1),dnv(0,Data1),trend(1,Data1);
var : va1(0,Data1);
src = data1((h+l)/2);
atr2 = data1(ma(TrueRange, Periods));
atrv = data1(iff(changeATR, atr(Periods), atr2));
upv = data1(src-(Multiplier*atrv));
upv = data1(iff(close[1] > upv[1],max(upv,upv[1]), upv));
dnv = data1(src+(Multiplier*atrv));
dnv = data1(iff(close[1] < dnv[1],min(dnv, dnv[1]), dnv));
trend = data1(iff(trend == -1 and close > dnv[1] , 1 ,IFf(trend == 1 and close < upv[1] , -1 , trend)));
if trend == 1 Then
plot1(upv,"Trend",MAGENTA);
Else
plot1(dnv,"Trend",blue);
if C > Plot1 Then
plot2(999999999,"라인1");
Else
plot2(0,"라인1");
va1 = data1(IFf(Trend == 1,upv,dnv));
if data1(CountIf(trend != 1,2) == 2 and H < va1-PriceScale*n and H[1] >= va1[1]-PriceScale*n) Then
{
plot3(999999999,"라인2");
PlaySound("C:₩예스트레이더₩data₩Sound₩.wav");
}
Else
plot3(0,"라인2");
if data1(CountIf(trend == 1,2) == 2 and L > va1+PriceScale*n and L[1] <= va1[1]+PriceScale*n) Then
{
plot4(999999999,"라인3");
PlaySound("C:₩예스트레이더₩data₩Sound₩.wav");
}
Else
plot4(0,"라인3");
var : tl1(0,data1),tl2(0,data1);
var : V1(0,data1);
var : V2(0,data2);
if CrossDown(data1(L),data2(H)) or Crossup(data1(h),data2(L)) Then
{
v1 = data1(C);
}
plot5(v1);
plot6(v1);
plot7(v2);
if CrossDown(data1(L),data2(H)) or Crossup(data1(h),data2(L)) Then
{
tl1 = TL_New(sdate,stime,9999999,sdate,stime,0);
TL_SetColor(tl1,black);
TL_SetSize(tl1,0);
}
즐거운 하루되세요
> 유로파54 님이 쓴 글입니다.
> 제목 : 문의 드립니다!
> 안녕하세요!
아래 2개의 수식에서 각각 발생되는 가로선과 가로선사이에 색상을 입히고싶습니다
* 수식1의 경우 라인1,2,3이 아닌 trend에 해당되는선 기준입니다
그럴려면 2개의 수식을 한개의 수식으로 통합해야할것같은데 가능한 방법으로 해결 부탁드립니다
색상은 사용지정이 가능했으면 합니다
감사합니다!!!
-----------------------------------------------------------------------------------
(수식 1)
input : n(0);
input : Periods(10),Multiplier(3.0),changeATR(true),showsignals(true),highlighting(true);
var : src(0),ATR2(0),ATrv(0),upv(0),dnv(0),trend(1);
src = (h+l)/2;
atr2 = ma(TrueRange, Periods);
atrv = iff(changeATR, atr(Periods), atr2);
upv = src-(Multiplier*atrv);
upv = iff(close[1] > upv[1],max(upv,upv[1]), upv);
dnv = src+(Multiplier*atrv);
dnv = iff(close[1] < dnv[1],min(dnv, dnv[1]), dnv);
trend = iff(trend == -1 and close > dnv[1] , 1 ,IFf(trend == 1 and close < upv[1] , -1 , trend));
if trend == 1 Then
plot1(upv,"Trend",MAGENTA);
Else
plot1(dnv,"Trend",blue);
if C > Plot1 Then
plot2(999999999,"라인1");
Else
plot2(0,"라인1");
var1 = IFf(Trend == 1,upv,dnv);
if CountIf(trend != 1,2) == 2 and
H < var1-PriceScale*n and H[1] >= var1[1]-PriceScale*n Then
{
plot3(999999999,"라인2");
PlaySound("C:₩예스트레이더₩data₩Sound₩.wav");
}
Else
plot3(0,"라인2");
if CountIf(trend == 1,2) == 2 and
L > var1+PriceScale*n and L[1] <= var1[1]+PriceScale*n Then
{
plot4(999999999,"라인3");
PlaySound("C:₩예스트레이더₩data₩Sound₩.wav");
}
Else
plot4(0,"라인3");
(수식 2)
var : tl1(0,data1),tl2(0,data1);
var : V1(Data1(C),data1);
var : V2(Data2(C),data2);
if CrossDown(data1(L),data2(H)) or
Crossup(data1(h),data2(L)) Then
{
v1 = data1(C);
}
plot1(v1);
plot2(v1);
plot3(v2);
if CrossDown(data1(L),data2(H)) or
Crossup(data1(h),data2(L)) Then
{
tl1 = TL_New(sdate,stime,9999999,sdate,stime,0);
TL_SetColor(tl1,black);
TL_SetSize(tl1,0);
}