답변완료
수식검토 부탁드립니다.
안녕하세요. 운영자님
예전에 의뢰드렸던 시스템신호를 가동시키면 그림과 같이 메시지가 뜨는데 해결 부탁드립니다.
input : signal_length(11),sma_signal(true),lin_reg(true),linreg_length(11);
input : lengthMA(34),lengthSignal(9);
input : sto1(12),sto2(5),sto3(5);
input : RSIP(9);
var : bopen1(0,Data1),bhigh1(0,Data1),blow1(0,Data1),bclose1(0,Data1),r1(False,Data1);
var : bopen2(0,Data2),bhigh2(0,Data2),blow2(0,Data2),bclose2(0,Data2),r2(False,Data2);
var : bopen3(0,Data3),bhigh3(0,Data3),blow3(0,Data3),bclose3(0,Data3),r3(False,Data3);
var : bopen4(0,Data4),bhigh4(0,Data4),blow4(0,Data4),bclose4(0,Data4),r4(False,Data4);
var : src1(0,Data1),hi1(0,Data1),lo1(0,Data1),Ema1(0,Data1),eema1(0,Data1),mi1(0,Data1);
var : md1(0,Data1),sb1(0,Data1),sh1(0,Data1),mdc1(0,Data1);
var : src2(0,Data2),hi2(0,Data2),lo2(0,Data2),Ema2(0,Data2),eema2(0,Data2),mi2(0,Data2);
var : md2(0,Data2),sb2(0,Data2),sh2(0,Data2),mdc2(0,Data2);
var : src3(0,Data3),hi3(0,Data3),lo3(0,Data3),Ema3(0,Data3),eema3(0,Data3),mi3(0,Data3);
var : md3(0,Data3),sb3(0,Data3),sh3(0,Data3),mdc3(0,Data3);
var : src4(0,Data4),hi4(0,Data4),lo4(0,Data4),Ema4(0,Data4),eema4(0,Data4),mi4(0,Data4);
var : md4(0,Data4),sb4(0,Data4),sh4(0,Data4),mdc4(0,Data4);
var : stok1(0,Data1),stod1(0,Data1),RSIV1(0,Data1);
var : stok2(0,Data2),stod2(0,Data2),RSIV2(0,Data2);
var : stok3(0,Data3),stod3(0,Data3),RSIV3(0,Data3);
var : stok4(0,Data4),stod4(0,Data4),RSIV4(0,Data4);
var : Bcond(False,Data1),Scond(False,Data1);
bopen1 = data1(iff(lin_reg , LRL(open, linreg_length) , open));
bhigh1 = data1(iff(lin_reg , LRL(high, linreg_length) , high));
blow1 = data1(iff(lin_reg , LRL(low, linreg_length) , low));
bclose1 = data1(iff(lin_reg , LRL(close, linreg_length) , close));
r1 = data1(bopen1 < bclose1);
bopen2 = data2(iff(lin_reg , LRL(open, linreg_length) , open));
bhigh2 = data2(iff(lin_reg , LRL(high, linreg_length) , high));
blow2 = data2(iff(lin_reg , LRL(low, linreg_length) , low));
bclose2 = data2(iff(lin_reg , LRL(close, linreg_length) , close));
r2 = data2(bopen2 < bclose2);
bopen3 = data3(iff(lin_reg , LRL(open, linreg_length) , open));
bhigh3 = data3(iff(lin_reg , LRL(high, linreg_length) , high));
blow3 = data3(iff(lin_reg , LRL(low, linreg_length) , low));
bclose3 = data3(iff(lin_reg , LRL(close, linreg_length) , close));
r3 = data3(bopen3 < bclose3);
bopen4 = data4(iff(lin_reg , LRL(open, linreg_length) , open));
bhigh4 = data4(iff(lin_reg , LRL(high, linreg_length) , high));
blow4 = data4(iff(lin_reg , LRL(low, linreg_length) , low));
bclose4 = data4(iff(lin_reg , LRL(close, linreg_length) , close));
r4 = data4(bopen4 < bclose4);
src1 = Data1((h+l+c)/3);
hi1 = data1(IFF(IsNan(hi1[1]) == true, ma(high,lengthMA), hi1[1]*(lengthMA-1)+high)/lengthMA);
lo1 = data1(IFF(IsNan(lo1[1]) == true, ma(low,lengthMA), lo1[1]*(lengthMA-1)+low)/lengthMA);
ema1 = data1(ema(src1, lengthMA));
eema1 = data1(ema(ema1, lengthMA));
mi1 = ema1+(ema1-eema1);
md1 = data1(IFf((mi1>hi1), (mi1-hi1) , IFf((mi1<lo1) , (mi1 - lo1) , 0)));
sb1 = data1(ma(md1, lengthSignal));
sh1 = md1-sb1;
mdc1 = data1(iff(src1>mi1,iff(src1>hi1,lime,green),iff(src1<lo1,red,orange)));
src2 = Data2((h+l+c)/3);
hi2 = data2(IFF(IsNan(hi2[1]) == true, ma(high,lengthMA), hi2[1]*(lengthMA-1)+high)/lengthMA);
lo2 = data2(IFF(IsNan(lo2[1]) == true, ma(low,lengthMA), lo2[1]*(lengthMA-1)+low)/lengthMA);
ema2 = data2(ema(src2, lengthMA));
eema2 = data2(ema(ema2, lengthMA));
mi2 = ema2+(ema2-eema2);
md2 = data2(IFf((mi2>hi2), (mi2-hi2) , IFf((mi2<lo2) , (mi2 - lo2) , 0)));
sb2 = data2(ma(md2, lengthSignal));
sh2 = md2-sb2;
mdc2 = data2(iff(src2>mi2,iff(src2>hi2,lime,green),iff(src2<lo2,red,orange)));
src3 = Data3((h+l+c)/3);
hi3 = data3(IFF(IsNan(hi3[1]) == true, ma(high,lengthMA), hi3[1]*(lengthMA-1)+high)/lengthMA);
lo3 = data3(IFF(IsNan(lo3[1]) == true, ma(low,lengthMA), lo3[1]*(lengthMA-1)+low)/lengthMA);
ema3 = data3(ema(src3, lengthMA));
eema3 = data3(ema(ema3, lengthMA));
mi3 = ema3+(ema3-eema3);
md3 = data3(IFf((mi3>hi3), (mi3-hi3) , IFf((mi3<lo3) , (mi3 - lo3) , 0)));
sb3 = data3(ma(md3, lengthSignal));
sh3 = md3-sb3;
mdc3 = data3(iff(src3>mi3,iff(src3>hi3,lime,green),iff(src3<lo3,red,orange)));
src4 = Data4((h+l+c)/3);
hi4 = data4(IFF(IsNan(hi4[1]) == true, ma(high,lengthMA), hi4[1]*(lengthMA-1)+high)/lengthMA);
lo4 = data4(IFF(IsNan(lo4[1]) == true, ma(low,lengthMA), lo4[1]*(lengthMA-1)+low)/lengthMA);
ema4 = data4(ema(src4, lengthMA));
eema4 = data4(ema(ema4, lengthMA));
mi4 = ema4+(ema4-eema4);
md4 = data4(IFf((mi4>hi4), (mi4-hi4) , IFf((mi4<lo4) , (mi4 - lo4) , 0)));
sb4 = data4(ma(md4, lengthSignal));
sh4 = md4-sb4;
mdc4 = data4(iff(src4>mi4,iff(src4>hi4,lime,green),iff(src4<lo4,red,orange)));
stok1 = data1(StochasticsK(sto1,sto2));
stod1 = data1(StochasticsD(sto1,sto2,sto3));
RSIV1 = data1(RSI(RSIP));
stok2 = data2(StochasticsK(sto1,sto2));
stod2 = data2(StochasticsD(sto1,sto2,sto3));
RSIV2 = data2(RSI(RSIP));
stok3 = data3(StochasticsK(sto1,sto2));
stod3 = data3(StochasticsD(sto1,sto2,sto3));
RSIV3 = data3(RSI(RSIP));
stok4 = data4(StochasticsK(sto1,sto2));
stod4 = data4(StochasticsD(sto1,sto2,sto3));
RSIV4 = data4(RSI(RSIP));
Bcond = r1 == true and md1 == green and stok1 > stod1 and RSIV1 > 50 and
r2 == true and md2 == green and stok2 > stod2 and RSIV2 > 50 and
r3 == true and md3 == green and stok3 > stod3 and RSIV3 > 50 and
r4 == true and md4 == green and stok4 > stod4 and RSIV4 > 50 ;
Scond = r1 == False and md1 == Red and stok1 < stod1 and RSIV1 < 50 and
r2 == False and md2 == Red and stok2 < stod1 and RSIV2 < 50 and
r3 == False and md3 == Red and stok3 < stod1 and RSIV3 < 50 and
r4 == False and md4 == Red and stok4 < stod1 and RSIV4 < 50;
if MarketPosition <= 0 and Bcond == true and Bcond[1] == False Then
Buy();
if MarketPosition >= 0 and Scond == true and Scond[1] == False Then
Sell();
if MarketPosition == 1 and Bcond == False Then
ExitLong();
if MarketPosition == -1 and Scond == False Then
ExitShort();
2024-01-24
985
글번호 176026
시스템
답변완료
문의 드립니다!
안녕하세요!
아래수식은 며칠전에 수정해주신 수식인데 한가지만 더 수정 부탁드립니다
장중에 실시간 진행중 챠트에서 가로선이 발생되는 발생되는 시점과 첫번째 음성신호가 발생되는 시점이 다른데요
가로선은 캔들이 완성되는 시점에 발생되고 첫번째 음성신호는 그전에 발생이되더군요
* 여기서 가로선은 아래수식 2번째 줄의 "선굵기"에의한 가로선입니다
1, 이때 첫번째 음성신호가 발생시 현재의 가로선과는 별개로 별도의 가로선(매수, 매도)가 각각 발생되게할수는 없을까요?
* 가능하다면 가로선의 두께와 색상도 조정 가능토록 부탁합니다
2, 만약에 위내용이 불가하다면 어떤형태로든 첫번째 음성신호 위치를 나타낼수있는 다른방법을 알려주시면 고맙겠습니다
항상 친절하고 세심히 도와주심에 진심으로 감사드립니다!
------------------------------------------------
input : af(0.2), maxAF(0.3);
input : 텍스트출력(0),선굵기(0);
var : T(0),cnt(0),count(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0),day1(0),day0(0),TL3(0);
var : TL1(0),TL2(0),tx1(0),tx2(0),tx11(0),tx22(0),idx(0),tx99(0),tx88(0);
Array : HD[20](0),HT[20](0),HH[20](0),LD[20](0),LT[20](0),LL[20](0);
Array : HI[20](0),LI[20](0);
var1 = CSar(af,maxAF);
if bdate != bdate[1] Then
{
day0 = sdate;
day1 = day0[1];
}
if crossup(c,var1) Then
{
T = 1;
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
HI[0] = index;
for cnt = 1 to 19
{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
HI[cnt] = HI[cnt-1][1];
}
if LL[0] > 0 Then
{
Condition1 = false;
for cnt = 1 to 19
{
if Condition1 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition1 = true;
TL1 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetSize(TL1,선굵기);
TL_SetColor(TL1,cyan);
TL_SetStyle(TL1,3);
idx = abs(LI[0]-LI[cnt]);
//tx99 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0));
tx99 = Text_New(LD[cnt],LT[cnt],LL[cnt],"■");
Text_SetColor(tx99,cyan);
Text_SetStyle(tx99,0,3);
Text_SetBold(tx99,2);
PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav");
}
}
}
}
if CrossDown(c,var1) Then
{
T = -1;
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
LI[0] = index;
for cnt = 1 to 19
{
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
LI[cnt] = LI[cnt-1][1];
}
if HH[0] > 0 Then
{
Condition2 = false;
for cnt = 1 to 19
{
if Condition2 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition2 = true;
TL2 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetSize(TL2,선굵기);
TL_SetColor(TL2,cyan);
TL_SetStyle(TL1,3);
idx = abs(HI[0]-HI[cnt]);
//tx99 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0));
tx99 = Text_New(HD[cnt],HT[cnt],HH[cnt],"■");
Text_SetColor(tx99,cyan);
Text_SetStyle(tx99,0,3);
Text_SetBold(tx99,2);
PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav");
}
}
}
}
if T == 1 then
{
if H > HH[0] Then
{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
if Condition3 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetSize(TL3,선굵기);
TL_SetColor(TL3,cyan);
TL_SetStyle(TL1,3);
idx = abs(HI[0]-HI[cnt]);
//tx88 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0));
tx99 = Text_New(HD[cnt],HT[cnt],HH[cnt],"■");
Text_SetColor(tx88,cyan);
Text_SetStyle(tx88,2,0);
Text_SetBold(tx88,2);
PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav");
}
}
}
if T == -1 then
{
if L < LL[0] Then
{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
if Condition3 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetSize(TL3,선굵기);
TL_SetStyle(TL1,3);
TL_SetColor(TL3,cyan);
idx = abs(LI[0]-LI[cnt]);
//tx88 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0));
tx99 = Text_New(LD[cnt],LT[cnt],LL[cnt],"■");
Text_SetColor(tx88,cyan);
Text_SetStyle(tx88,2,0);
Text_SetBold(tx88,2);
PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav");
}
}
}
2024-01-24
680
글번호 176021
지표