답변완료
문의 드립니다
1.지표
input : Period(12),선두께(2);
Var:하락색(Red), 상승색(Blue);
Var:j(0),T(0);
Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0),
date21(0),date22(0),time21(0),time22(0),
date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0);
Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0)/*,ZZ[20](0)*/;
Array:r[7](0),fr[7](0),TL2[7](0),TL3[7](0),TX2[7](0),TX3[7](0);
var : box(0),box1(0);
r[0] = 0;
r[1] = 2;
r[2] = 3.;
r[3] = -1;
r[4] = -2.;
r[5] = 1;
r[6] = 0.5;
For j = 0 To 19
{
HiBar[j] = HiBar[j] + 1;
LoBar[j] = LoBar[j] + 1;
}
if crossup(c,highest(H,Period)[1]) Then
T = 1;
if CrossDown(c,Lowest(L,Period)[1]) Then
T = -1;
If T == -1 Then
{
If T[1] != -1 Then
{
For j = 18 DownTo 0
{
LoVal[j+1] = LoVal[j];
LoBar[j+1] = LoBar[j];
//ZZ[j+1] = ZZ[j];
}
LoVal[0] = L;
LoBar[0] = 0;
//ZZ[0] = L;
date11 = date[HiBar[0]];
time11 = stime[HiBar[0]];
Value11 = HiVal[0];
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
date21 = date[HiBar[0]];
time21 = stime[HiBar[0]];
date22 = date[0];
time22 = stime[0];
for j = 0 to 6
{
fr[j] = LoVal[1] + ((HiVal[0] - LoVal[1]) * r[j]);
}
box = box_new(date11,time11,Value11,date12,time12,Value12);
Box_SetColor(box,상승색);
Box_SetFill(box,true);
}
If LoVal[0] > L Then
{
LoVal[0] = L;
LoBar[0] = 0;
//ZZ[0] = L;
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
date22 = date[0];
time22 = stime[0];
Box_SetEnd(box,date12,time12,Value12);
}
}
If T == 1 Then
{
If T[1] != 1 Then
{
For j = 18 DownTo 0
{
HiVal[j+1] = HiVal[j];
HiBar[j+1] = HiBar[j];
//ZZ[j+1] = ZZ[j];
}
HiVal[0] = H;
HiBar[0] = 0;
//ZZ[0] = H;
date11 = date[LoBar[0]];
time11 = stime[LoBar[0]];
Value11 = LoVal[0];
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
date31 = date[LoBar[0]];
time31 = stime[LoBar[0]];
date32 = date[0];
time32 = stime[0];
for j = 0 to 5
{
fr[j] = LoVal[0] + ((HiVal[1] - LoVal[0]) * r[j]);
}
box = box_new(date11,time11,Value11,date12,time12,Value12);
Box_SetColor(box,하락색);
Box_SetFill(box,true);
}
If HiVal[0] < H Then
{
HiVal[0] = H;
HiBar[0] = 0;
//ZZ[0] = H;
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date32 = date[0];
time32 = stime[0];
Box_SetEnd(box,date12,time12,Value12);
}
}
2. 시스템
var1 = c-o;
Var2 = AccumN(var1,100);
input : starttime(120000),endtime(60000),n(70);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if Var2 > 0 Then
Buy();
if var2 < 0 Then
Sell();
위 시스템에 지표를 넣어서 수식어를 부탁드립니다.
실시간차트 이전이 파란색 구간일때 실시간 진입신호는 sell 그리고 청산
실시간차트 이전이 적색 구간일때 실시간 진입신호는 buy 그리고청산의
수식어를 추가하고자 합니다.
미리 감사드립니다
2022-11-30
964
글번호 164257
시스템
답변완료
지표수식 변환 요청드립니다
수고하십니다
예스수식으로 변환 부탁드립니다.
//==========
price = input(hl2, "Price Data (hl2)")
lengthh = input(22, "Lookback Window", minval=2)
k = input(true, "Use Kahlman?")
gain = input(.7, "Gain", minval=.0001, step=.01)
hma(x, len) => wma((2 * wma(x, len / 2)) - wma(x, len), round(sqrt(len)))
hma3(x, len) => p = len/2, wma(wma(x, p/3)*3 - wma(x, p/2) - wma(x, p), p)
kahlman(x, g) =>
kf = 0.0
dk = x - nz(kf[1], x)
smooth = nz(kf[1],x)+dk*sqrt(g*2)
velo = 0.0
velo := nz(velo[1],0) + (g*dk)
kf := smooth+velo
a = k ? kahlman(hma(price, lengthh), gain) : hma(price, lengthh)
b = k ? kahlman(hma3(close, lengthh), gain) : hma3(close, lengthh)
c = b > a ? color.red : color.lime
crossdn = a > b and a[1] < b[1]
crossup = b > a and b[1] < a[1]
fill(plot(a,color=c,linewidth=1,transp=75), plot(b,color=c,linewidth=1,transp=75), color=c, transp=55)
//===========
2022-11-29
957
글번호 164254
지표
답변완료
슈퍼트렌드 쌍바닥 쌍봉
input : Factor(7),Pd(10),highPd(1),lowPd(5);
input : 쌍봉상(1),쌍봉하(2),쌍바닥상(2),쌍바닥하(1);
var : sp(0),th(0),ll(0),myh(0),myl(0),up(0),dn(0),ii(0),Trendup(0),trenddown(0),Trend(0);
var : Tsl(0),linecolor(0),tx(0),tl(0),tx1(0),tx2(0);
sp = (H+L+c)/3;
th = high;
for ii = 1 to Pd*highPd
{
if th < high[ii] Then
th = high[ii];
}
ll = low;
for ii=1 to Pd*lowPd
{
if ll > low[ii] Then
ll = low[ii];
}
myh = ma(high,Pd)*0.4+th*0.6;
myl = (ma(sp,Pd)*0.5+ll*0.5);
Up = myl-(Factor*atr(Pd)*0.8 );
Dn = (myh+(Factor*atr(Pd) ));
TrendUp = iff(sp[1]>TrendUp[1], max(Up,TrendUp[1]) , Up);
TrendDown = iff(sp[1]<TrendDown[1], min(Dn,TrendDown[1]) , Dn);
Trend = iff(sp > TrendDown[1] , 1, iff(sp< TrendUp[1] , -1, Trend[1]));
Tsl = IFF(Trend==1, TrendUp, TrendDown);
linecolor = IFF(Trend == 1 , Red , Blue);
plot1(Tsl,"SuperTrend",linecolor);
if Trend != Trend[1] Then
{
if Trend == 1 Then
{
var1 = Tsl[1];
var2 = var1[1];
tx = Text_New(sDate,sTime, Tsl-PriceScale*2,"●");
Text_SetColor(tx,Green);
Text_SetSize(tx,15);
Text_SetStyle(tx,2,2);
TL = TL_New(sDate,sTime,0,sDate,sTime,99999999);
TL_SetColor(TL,Pink);
TL_SetSize(TL,0.5);
if Var2 > 0 and var1 <= Var2+PriceScale*쌍바닥상 and var1 >= Var2-PriceScale*쌍바닥하 Then
{
tx1 = Text_New(sDate,sTime, Tsl-PriceScale*2,"●");
Text_SetColor(tx1,Blue);
Text_SetSize(tx1,25);
Text_SetStyle(tx1,2,0);
}
}
Else
{
Var3 = Tsl[1];
Var4 = Var3[1];
tx = Text_New(sDate,sTime, Tsl+PriceScale*0,"●");
Text_SetColor(tx,Magenta);
Text_SetSize(tx,15);
Text_SetStyle(tx,2,2);
TL = TL_New(sDate,sTime,0,sDate,sTime,99999999);
TL_SetColor(TL,Lime);
TL_SetSize(TL,0.5);
if Var4 > 0 and var3 <= Var4+PriceScale*쌍봉상 and var3 >= Var4-PriceScale*쌍봉하 Then
{
tx2 = Text_New(sDate,sTime, Tsl+PriceScale*2,"●");
Text_SetColor(tx2,Red);
Text_SetSize(tx2,25);
Text_SetStyle(tx2,2,1);
}
}
}
1.지표식: 현재 변수로 외바닥 외봉은 정상인데, 쌍바닥 쌍봉은 첨부한 그림같이 오류.
참고: 번호 78186 에서 중간선 쌍바닥을, var를 (abs) value로 바꿔 해결해 주심.
2.시스템:쌍바닥 매수,다음 봉에 매수청산. 쌍봉에 매도,다음봉에 매도청산. 감사합니다.
2022-11-29
1344
글번호 164251
지표