커뮤니티

수식검토 부탁드립니다.

프로필 이미지
고박사122
2024-01-24 10:28:03
986
글번호 176026
답변완료

첨부 이미지

안녕하세요. 운영자님 예전에 의뢰드렸던 시스템신호를 가동시키면 그림과 같이 메시지가 뜨는데 해결 부탁드립니다. 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();
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2024-01-24 11:53:53

안녕하세요 예스스탁입니다. 시뮬레이션 차트에는 변수최적화 기능때문에 외부변수(input)가 숫자가 아닌경우 적용이 제한됩니다. 현재식에서 input변수가 true,false를 지정하는 내용이 있어 1,0으로 변경해 드립니다. true이면 1, false이면 0으로 지정하시면 됩니다. sma_signal(true)는 사용하는 부분이 없어 삭제해 드립니다. input : signal_length(11),lin_reg(1),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 == 1 , LRL(open, linreg_length) , open)); bhigh1 = data1(iff(lin_reg == 1 , LRL(high, linreg_length) , high)); blow1 = data1(iff(lin_reg == 1 , LRL(low, linreg_length) , low)); bclose1 = data1(iff(lin_reg == 1 , LRL(close, linreg_length) , close)); r1 = data1(bopen1 < bclose1); bopen2 = data2(iff(lin_reg == 1 , LRL(open, linreg_length) , open)); bhigh2 = data2(iff(lin_reg == 1 , LRL(high, linreg_length) , high)); blow2 = data2(iff(lin_reg == 1 , LRL(low, linreg_length) , low)); bclose2 = data2(iff(lin_reg == 1 , LRL(close, linreg_length) , close)); r2 = data2(bopen2 < bclose2); bopen3 = data3(iff(lin_reg == 1 , LRL(open, linreg_length) , open)); bhigh3 = data3(iff(lin_reg == 1 , LRL(high, linreg_length) , high)); blow3 = data3(iff(lin_reg == 1 , LRL(low, linreg_length) , low)); bclose3 = data3(iff(lin_reg == 1 , LRL(close, linreg_length) , close)); r3 = data3(bopen3 < bclose3); bopen4 = data4(iff(lin_reg == 1 , LRL(open, linreg_length) , open)); bhigh4 = data4(iff(lin_reg == 1 , LRL(high, linreg_length) , high)); blow4 = data4(iff(lin_reg == 1 , LRL(low, linreg_length) , low)); bclose4 = data4(iff(lin_reg == 1 , 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(); 즐거운 하루되세요 > 고박사122 님이 쓴 글입니다. > 제목 : 수식검토 부탁드립니다. > 안녕하세요. 운영자님 예전에 의뢰드렸던 시스템신호를 가동시키면 그림과 같이 메시지가 뜨는데 해결 부탁드립니다. 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();
프로필 이미지

고박사122

2024-01-24 15:47:17

빠른 답변 감사드립니다. 시스템 적용을 해보면 그림과 같이 메시지가 뜨네요. 조언 부탁드립니다. 초보라 힘드네요.. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식검토 부탁드립니다. > 안녕하세요 예스스탁입니다. 시뮬레이션 차트에는 변수최적화 기능때문에 외부변수(input)가 숫자가 아닌경우 적용이 제한됩니다. 현재식에서 input변수가 true,false를 지정하는 내용이 있어 1,0으로 변경해 드립니다. true이면 1, false이면 0으로 지정하시면 됩니다. sma_signal(true)는 사용하는 부분이 없어 삭제해 드립니다. input : signal_length(11),lin_reg(1),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 == 1 , LRL(open, linreg_length) , open)); bhigh1 = data1(iff(lin_reg == 1 , LRL(high, linreg_length) , high)); blow1 = data1(iff(lin_reg == 1 , LRL(low, linreg_length) , low)); bclose1 = data1(iff(lin_reg == 1 , LRL(close, linreg_length) , close)); r1 = data1(bopen1 < bclose1); bopen2 = data2(iff(lin_reg == 1 , LRL(open, linreg_length) , open)); bhigh2 = data2(iff(lin_reg == 1 , LRL(high, linreg_length) , high)); blow2 = data2(iff(lin_reg == 1 , LRL(low, linreg_length) , low)); bclose2 = data2(iff(lin_reg == 1 , LRL(close, linreg_length) , close)); r2 = data2(bopen2 < bclose2); bopen3 = data3(iff(lin_reg == 1 , LRL(open, linreg_length) , open)); bhigh3 = data3(iff(lin_reg == 1 , LRL(high, linreg_length) , high)); blow3 = data3(iff(lin_reg == 1 , LRL(low, linreg_length) , low)); bclose3 = data3(iff(lin_reg == 1 , LRL(close, linreg_length) , close)); r3 = data3(bopen3 < bclose3); bopen4 = data4(iff(lin_reg == 1 , LRL(open, linreg_length) , open)); bhigh4 = data4(iff(lin_reg == 1 , LRL(high, linreg_length) , high)); blow4 = data4(iff(lin_reg == 1 , LRL(low, linreg_length) , low)); bclose4 = data4(iff(lin_reg == 1 , 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(); 즐거운 하루되세요 > 고박사122 님이 쓴 글입니다. > 제목 : 수식검토 부탁드립니다. > 안녕하세요. 운영자님 예전에 의뢰드렸던 시스템신호를 가동시키면 그림과 같이 메시지가 뜨는데 해결 부탁드립니다. 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();