커뮤니티

질문있습니다.

프로필 이미지
여유로운투자
2018-02-08 01:34:57
160
글번호 116425
답변완료
현물시스템 3분봉 3000봉에 참조데이타로 지수연결선물 3분봉 3000봉으로 지수 이평선을 보고 매수매도를 결정하려고하는 시스템을 구현하려고합니다. var : mt_sum3(0),mt_sum5(0),mt_sum10(0),mt_sum15(0),mt_sum20(0); var : mt_ma3(0),mt_ma5(0),mt_ma10(0),mt_ma15(0),mt_ma20(0); var : mt_ma3Flag(0),mt_ma5Flag(0),mt_ma10Flag(0),mt_ma15Flag(0),mt_ma20Flag(0); var : mt_10(0),mt_20(0),mt_30(0),mt_40(0),mt_120(0),mt_600(0); var : mt_buyFlag(1),mt_sellFlag(0),mt_changeFlag(0),mt_change_t1(0),mt_change_t2(0); var : mt_buyfactor(0); var : i(0); if index==0 Then{ ClearDebug; mt_10=30/BarInterval; mt_20=60/BarInterval; mt_30=90/BarInterval; mt_40=120/BarInterval; mt_120=360/BarInterval; mt_600=600/BarInterval; } if DayIndex==0 Then{ mt_sum3 = 0; mt_sum5 = 0; mt_sum10 = 0; mt_sum15 = 0; mt_sum20 = 0; for i=1 to 19 { if i<3 Then mt_sum3 = mt_sum3 + DayClose(i); if i<5 Then mt_sum5 = mt_sum5 + DayClose(i); if i<10 Then mt_sum10 = mt_sum10 + DayClose(i); if i<15 Then mt_sum15 = mt_sum15 + DayClose(i); mt_sum20 = mt_sum20 + DayClose(i); } } mt_ma3 = (mt_sum3 + DayClose(0))/3; mt_ma5 = (mt_sum5 + DayClose(0))/5; mt_ma10 = (mt_sum10 + DayClose(0))/10; mt_ma15 = (mt_sum15 + DayClose(0))/15; mt_ma20 = (mt_sum20 + DayClose(0))/20; MessageLog("%.f %.f %.f",mt_ma3,mt_ma5,mt_ma10); MessageLog("%.f %.f %.f",DayClose(0),DayClose(1),DayClose(2)); if(mt_ma3<c)Then{ mt_ma3Flag=1; }Else mt_ma3Flag=0; if(mt_ma5<c)Then{ mt_ma5Flag=1; }Else mt_ma5Flag=0; if(mt_ma10<c)Then{ mt_ma10Flag=1; }Else mt_ma10Flag=0; if(mt_ma15<c)Then{ mt_ma15Flag=1; }Else mt_ma15Flag=0; if(mt_ma20*0.99<c)Then{ mt_ma20Flag=1; }Else mt_ma20Flag=0; //지수로 확인하는 것 if(DayIndex==0)Then{ mt_changeFlag = 0; mt_change_t1 = 0; mt_change_t2 = 0; mt_buyFlag = 1; mt_sellFlag = 0; } if(mt_ma3Flag+mt_ma5Flag+mt_ma10Flag+mt_ma20Flag==0)Then{ mt_sellFlag = 1; mt_buyFlag = 0; MessageLog("모두팔기!1"); } if(mt_ma20Flag==0&&(mt_ma3Flag+mt_ma5Flag+mt_ma10Flag>=2))Then{ mt_buyFlag = 1; mt_sellFlag = 0; } if(mt_changeFlag==0)Then{ if(DayHigh*0.985>c||DayClose(1)*0.985>c)Then{ mt_buyFlag = 0; } if(DayHigh*0.98>c||DayClose(1)*0.98>c)Then{ mt_buyFlag = 0; mt_sellFlag = 1; MessageLog("모두팔기!2"); } } if(mt_buyFlag==0)Then{ if(ma(c,mt_20)>ma(c,mt_120))Then{ mt_change_t1 = 1; }Else mt_change_t1 = 0; if((Lowest(h,mt_600)[15]*1.005<c||Lowest(h,mt_600)[30]*1.005<c)&&(ma(c,mt_10)*1.01<c||Highest(h,mt_10)[2]*1.005<c))Then{ mt_change_t2 = 1; }Else mt_change_t2 = 0; if(mt_change_t1==1||mt_change_t2==1)Then{ mt_changeFlag = 1; mt_buyFlag = 1; mt_sellFlag = 0; } } if(mt_changeFlag==1)Then{ if(ma(c,mt_20)>ma(c,mt_120))Then{ mt_change_t1 = 1; }Else mt_change_t1 = 0; if((Lowest(h,mt_600)[15]*1.005<c||Lowest(h,mt_600)[30]*1.005<c)&&(ma(c,mt_10)*1.01<c||Highest(h,mt_10)[2]*1.005<c))Then{ mt_change_t2 = 1; }Else mt_change_t2 = 0; if(mt_change_t1+mt_change_t2==0)Then{ mt_changeFlag = 0; mt_buyFlag = 0; } } //20선 위 if(mt_buyFlag==1&&mt_ma20Flag==1)Then{ mt_buyfactor = ((mt_ma3Flag+mt_ma5Flag+mt_ma10Flag+mt_ma10Flag)*10+60)/100; Plot1(mt_buyfactor); } //20선 아래 if(mt_buyFlag==1&&mt_ma20Flag==0)Then{ var1 = 0; if(ma(c,mt_20)>ma(c,mt_120))Then var1 = var1+1; if(Lowest(h,mt_600)[15]*1.005<c)Then var1 = var1+1; if(Lowest(h,mt_600)[30]*1.005<c)Then var1 = var1+1; if(ma(c,mt_10)*1.01<c)Then var1 = var1+1; if(Highest(h,mt_10)[2]*1.005<c)Then var1 = var1+1; mt_buyfactor = (var1*10)/100; Plot2(mt_buyfactor); } 위의 식은 일반적으로 연결선물지수 차트에 지표로 사용하는 것입니다. 위에 것을 현물 차트(3분봉 3000봉)에 참조데이터 연결선물지수(3분봉 3000봉)인 곳에서 사용할수 있도록 변환을 아래와 같이하였지만 정상작동하지않습니다. var : mt_sum3(0,data2),mt_sum5(0,data2),mt_sum10(0,data2),mt_sum15(0,data2),mt_sum20(0,data2); var : mt_ma3(0,data2),mt_ma5(0,data2),mt_ma10(0,data2),mt_ma15(0,data2),mt_ma20(0,data2); var : mt_ma3Flag(0,data2),mt_ma5Flag(0,data2),mt_ma10Flag(0,data2),mt_ma15Flag(0,data2),mt_ma20Flag(0,data2); var : mt_10(0,data2),mt_20(0,data2),mt_30(0,data2),mt_40(0,data2),mt_120(0,data2),mt_600(0,data2); var : mt_buyFlag(1,data2),mt_sellFlag(0,data2),mt_changeFlag(0,data2),mt_change_t1(0,data2),mt_change_t2(0,data2); var : mt_buyfactor(0,data2); var : i(0,data2); if index==0 Then{ ClearDebug; mt_10=30/data2(BarInterval); mt_20=60/data2(BarInterval); mt_30=90/data2(BarInterval); mt_40=120/data2(BarInterval); mt_120=360/data2(BarInterval); mt_600=600/data2(BarInterval); } if DayIndex==0 Then{ mt_sum3 = 0; mt_sum5 = 0; mt_sum10 = 0; mt_sum15 = 0; mt_sum20 = 0; for i=1 to 19 { if i<3 Then mt_sum3 = data2(mt_sum3 + CloseD(i)); if i<5 Then mt_sum5 = data2(mt_sum5 + CloseD(i)); if i<10 Then mt_sum10 = data2(mt_sum10 + CloseD(i)); if i<15 Then mt_sum15 = data2(mt_sum15 + CloseD(i)); mt_sum20 = data2(mt_sum20 + CloseD(i)); } } mt_ma3 = data2((mt_sum3 + CloseD(0))/3); mt_ma5 = data2((mt_sum5 + CloseD(0))/5); mt_ma10 = data2((mt_sum10 + CloseD(0))/10); mt_ma15 = data2((mt_sum15 + CloseD(0))/15); mt_ma20 = data2((mt_sum20 + CloseD(0))/20); MessageLog("%.f %.f %.f",data2(mt_ma3),data2(mt_ma5),data2(mt_ma10)); MessageLog("%.f %.f %.f",data2(CloseD(0)),data2(CloseD(1)),data2(CloseD(2))); if(mt_ma3<c)Then{ mt_ma3Flag=1; }Else mt_ma3Flag=0; if(mt_ma5<c)Then{ mt_ma5Flag=1; }Else mt_ma5Flag=0; if(mt_ma10<c)Then{ mt_ma10Flag=1; }Else mt_ma10Flag=0; if(mt_ma15<c)Then{ mt_ma15Flag=1; }Else mt_ma15Flag=0; if(mt_ma20*0.99<c)Then{ mt_ma20Flag=1; }Else mt_ma20Flag=0; //지수로 확인하는 것 if(DayIndex==0)Then{ mt_changeFlag = 0; mt_change_t1 = 0; mt_change_t2 = 0; mt_buyFlag = 1; mt_sellFlag = 0; } if(mt_ma3Flag+mt_ma5Flag+mt_ma10Flag+mt_ma20Flag==0)Then{ mt_sellFlag = 1; mt_buyFlag = 0; //MessageLog("모두팔기!1"); } if(mt_ma20Flag==0&&(mt_ma3Flag+mt_ma5Flag+mt_ma10Flag>=2))Then{ mt_buyFlag = 1; mt_sellFlag = 0; } if(mt_changeFlag==0)Then{ if(data2(HighD(0)*0.985>c||CloseD(1)*0.985>c))Then{ mt_buyFlag = 0; } if(data2(HighD(0)*0.98>c||CloseD(1)*0.98>c))Then{ mt_buyFlag = 0; mt_sellFlag = 1; //MessageLog("모두팔기!2"); } } if(mt_buyFlag==0)Then{ if(data2(ma(c,mt_20)>ma(c,mt_120)))Then{ mt_change_t1 = 1; }Else mt_change_t1 = 0; if(data2((Lowest(h,mt_600)[15]*1.005<c||Lowest(h,mt_600)[30]*1.005<c)&&(ma(c,mt_10)*1.01<c||Highest(h,mt_10)[2]*1.005<c)))Then{ mt_change_t2 = 1; }Else mt_change_t2 = 0; if(mt_change_t1==1||mt_change_t2==1)Then{ mt_changeFlag = 1; mt_buyFlag = 1; mt_sellFlag = 0; } } if(mt_changeFlag==1)Then{ if(data2(ma(c,mt_20)>ma(c,mt_120)))Then{ mt_change_t1 = 1; }Else mt_change_t1 = 0; if(data2((Lowest(h,mt_600)[15]*1.005<c||Lowest(h,mt_600)[30]*1.005<c)&&(ma(c,mt_10)*1.01<c||Highest(h,mt_10)[2]*1.005<c)))Then{ mt_change_t2 = 1; }Else mt_change_t2 = 0; if(mt_change_t1+mt_change_t2==0)Then{ mt_changeFlag = 0; mt_buyFlag = 0; } } //20선 위 if(mt_buyFlag==1&&mt_ma20Flag==1)Then{ mt_buyfactor = ((mt_ma3Flag+mt_ma5Flag+mt_ma10Flag+mt_ma10Flag)*10+60)/100; Plot1(mt_buyfactor); } //20선 아래 if(mt_buyFlag==1&&mt_ma20Flag==0)Then{ var1 = 0; if(data2(ma(c,mt_20)>ma(c,mt_120)))Then var1 = var1+1; if(data2(Lowest(h,mt_600)[15]*1.005<c))Then var1 = var1+1; if(data2(Lowest(h,mt_600)[30]*1.005<c))Then var1 = var1+1; if(data2(ma(c,mt_10)*1.01<c))Then var1 = var1+1; if(data2(Highest(h,mt_10)[2]*1.005<c))Then var1 = var1+1; mt_buyfactor = (var1*10)/100; Plot2(mt_buyfactor); } 어디가어떻게 잘못되었는지 알려주시면 감사하겠습니다 감사합니다
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-02-08 14:10:38

안녕하세요 예스스탁입니다. data2의 안의 함수를 for문으로 루프를 돌리면 안됩니다, 아래와 같이 배열변수 이용해 별도로 일간 고저종가 계산후 해당 배열을 루프로 돌리셔야 합니다. var : mt_sum3(0,data2),mt_sum5(0,data2),mt_sum10(0,data2),mt_sum15(0,data2),mt_sum20(0,data2); var : mt_ma3(0,data2),mt_ma5(0,data2),mt_ma10(0,data2),mt_ma15(0,data2),mt_ma20(0,data2); var : mt_ma3Flag(0,data2),mt_ma5Flag(0,data2),mt_ma10Flag(0,data2),mt_ma15Flag(0,data2),mt_ma20Flag(0,data2); var : mt_10(0),mt_20(0,data2),mt_30(0,data2),mt_40(0,data2),mt_120(0,data2),mt_600(0,data2); var : mt_buyFlag(1,data2),mt_sellFlag(0,data2),mt_changeFlag(0,data2),mt_change_t1(0,data2),mt_change_t2(0,data2); var : mt_buyfactor(0,data2),V1(0,data2); var : cnt(0,data2); Array : C2[100](0,data2),H2[100](0,data2),L2[100](0,data2); if data2(bdate != bdate[1]) Then { H2[0] = data2(H); L2[0] = data2(L); for cnt = 1 to 99{ C2[cnt] = C2[cnt-1][1]; H2[cnt] = H2[cnt-1][1]; L2[cnt] = L2[cnt-1][1]; } } if data2(H) > H2[0] Then H2[0] = data2(h); if data2(L) < L2[0] Then L2[0] = data2(L); C2[0] = data2(c); if data2(index==0) Then{ mt_10=30/BarInterval; mt_20=60/BarInterval; mt_30=90/BarInterval; mt_40=120/BarInterval; mt_120=360/BarInterval; mt_600=600/BarInterval; } if data2(DayIndex==0) Then{ mt_sum3 = 0; mt_sum5 = 0; mt_sum10 = 0; mt_sum15 = 0; mt_sum20 = 0; for cnt =1 to 19 { if cnt<3 Then mt_sum3 = mt_sum3 + C2[cnt]; if cnt<5 Then mt_sum5 = mt_sum5 + C2[cnt]; if cnt<10 Then mt_sum10 = mt_sum10 + C2[cnt]; if cnt<15 Then mt_sum15 = mt_sum15 + C2[cnt]; mt_sum20 = mt_sum20 + C2[cnt]; } } mt_ma3 = (mt_sum3 + C2[0])/3; mt_ma5 = (mt_sum5 + C2[0])/5; mt_ma10 = (mt_sum10 + C2[0])/10; mt_ma15 = (mt_sum15 + C2[0])/15; mt_ma20 = (mt_sum20 + C2[0])/20; MessageLog("%.f %.f %.f",mt_ma3,mt_ma5,mt_ma10); MessageLog("%.f %.f %.f",C2[0],C2[1],C2[2]); if data2((mt_ma3<c))Then{ mt_ma3Flag=1; }Else mt_ma3Flag=0; if data2((mt_ma5<c))Then{ mt_ma5Flag=1; }Else mt_ma5Flag=0; if data2((mt_ma10<c))Then{ mt_ma10Flag=1; }Else mt_ma10Flag=0; if data2((mt_ma15<c))Then{ mt_ma15Flag=1; }Else mt_ma15Flag=0; if data2((mt_ma20*0.99<c))Then{ mt_ma20Flag=1; }Else mt_ma20Flag=0; //지수로 확인하는 것 if data2((DayIndex==0)) Then{ mt_changeFlag = 0; mt_change_t1 = 0; mt_change_t2 = 0; mt_buyFlag = 1; mt_sellFlag = 0; } if data2((mt_ma3Flag+mt_ma5Flag+mt_ma10Flag+mt_ma20Flag==0))Then{ mt_sellFlag = 1; mt_buyFlag = 0; MessageLog("모두팔기!1"); } if data2((mt_ma20Flag==0&&(mt_ma3Flag+mt_ma5Flag+mt_ma10Flag>=2))) Then{ mt_buyFlag = 1; mt_sellFlag = 0; } if data2((mt_changeFlag==0)) Then{ if data2((H2[0]*0.985>c|| C2[1]*0.985>c)) Then{ mt_buyFlag = 0; } if data2((H2[0]*0.98>c|| C2[1]*0.98>c)) Then{ mt_buyFlag = 0; mt_sellFlag = 1; MessageLog("모두팔기!2"); } } if data2((mt_buyFlag==0)) Then{ if data2((ma(c,mt_20)>ma(c,mt_120))) Then{ mt_change_t1 = 1; }Else mt_change_t1 = 0; if data2(((Lowest(h,mt_600)[15]*1.005<c||Lowest(h,mt_600)[30]*1.005<c)&&(ma(c,mt_10)*1.01<c||Highest(h,mt_10)[2]*1.005<c))) Then{ mt_change_t2 = 1; }Else mt_change_t2 = 0; if data2((mt_change_t1==1||mt_change_t2==1)) Then{ mt_changeFlag = 1; mt_buyFlag = 1; mt_sellFlag = 0; } } if data2((mt_changeFlag==1)) Then{ if data2((ma(c,mt_20)>ma(c,mt_120))) Then{ mt_change_t1 = 1; }Else mt_change_t1 = 0; if data2(((Lowest(h,mt_600)[15]*1.005<c||Lowest(h,mt_600)[30]*1.005<c)&&(ma(c,mt_10)*1.01<c||Highest(h,mt_10)[2]*1.005<c))) Then{ mt_change_t2 = 1; }Else mt_change_t2 = 0; if data2((mt_change_t1+mt_change_t2==0)) Then{ mt_changeFlag = 0; mt_buyFlag = 0; } } //20선 위 if(mt_buyFlag==1&&mt_ma20Flag==1)Then{ mt_buyfactor = ((mt_ma3Flag+mt_ma5Flag+mt_ma10Flag+mt_ma10Flag)*10+60)/100; Plot1(mt_buyfactor); } //20선 아래 if(mt_buyFlag==1&&mt_ma20Flag==0)Then{ var1 = 0; if(ma(c,mt_20)>ma(c,mt_120))Then var1 = var1+1; if(Lowest(h,mt_600)[15]*1.005<c)Then var1 = var1+1; if(Lowest(h,mt_600)[30]*1.005<c)Then var1 = var1+1; if(ma(c,mt_10)*1.01<c)Then var1 = var1+1; if(Highest(h,mt_10)[2]*1.005<c)Then var1 = var1+1; mt_buyfactor = (var1*10)/100; Plot2(mt_buyfactor); } 즐거운 하루되세요 > 여유로운투자 님이 쓴 글입니다. > 제목 : 질문있습니다. > 현물시스템 3분봉 3000봉에 참조데이타로 지수연결선물 3분봉 3000봉으로 지수 이평선을 보고 매수매도를 결정하려고하는 시스템을 구현하려고합니다. var : mt_sum3(0),mt_sum5(0),mt_sum10(0),mt_sum15(0),mt_sum20(0); var : mt_ma3(0),mt_ma5(0),mt_ma10(0),mt_ma15(0),mt_ma20(0); var : mt_ma3Flag(0),mt_ma5Flag(0),mt_ma10Flag(0),mt_ma15Flag(0),mt_ma20Flag(0); var : mt_10(0),mt_20(0),mt_30(0),mt_40(0),mt_120(0),mt_600(0); var : mt_buyFlag(1),mt_sellFlag(0),mt_changeFlag(0),mt_change_t1(0),mt_change_t2(0); var : mt_buyfactor(0); var : i(0); if index==0 Then{ ClearDebug; mt_10=30/BarInterval; mt_20=60/BarInterval; mt_30=90/BarInterval; mt_40=120/BarInterval; mt_120=360/BarInterval; mt_600=600/BarInterval; } if DayIndex==0 Then{ mt_sum3 = 0; mt_sum5 = 0; mt_sum10 = 0; mt_sum15 = 0; mt_sum20 = 0; for i=1 to 19 { if i<3 Then mt_sum3 = mt_sum3 + DayClose(i); if i<5 Then mt_sum5 = mt_sum5 + DayClose(i); if i<10 Then mt_sum10 = mt_sum10 + DayClose(i); if i<15 Then mt_sum15 = mt_sum15 + DayClose(i); mt_sum20 = mt_sum20 + DayClose(i); } } mt_ma3 = (mt_sum3 + DayClose(0))/3; mt_ma5 = (mt_sum5 + DayClose(0))/5; mt_ma10 = (mt_sum10 + DayClose(0))/10; mt_ma15 = (mt_sum15 + DayClose(0))/15; mt_ma20 = (mt_sum20 + DayClose(0))/20; MessageLog("%.f %.f %.f",mt_ma3,mt_ma5,mt_ma10); MessageLog("%.f %.f %.f",DayClose(0),DayClose(1),DayClose(2)); if(mt_ma3<c)Then{ mt_ma3Flag=1; }Else mt_ma3Flag=0; if(mt_ma5<c)Then{ mt_ma5Flag=1; }Else mt_ma5Flag=0; if(mt_ma10<c)Then{ mt_ma10Flag=1; }Else mt_ma10Flag=0; if(mt_ma15<c)Then{ mt_ma15Flag=1; }Else mt_ma15Flag=0; if(mt_ma20*0.99<c)Then{ mt_ma20Flag=1; }Else mt_ma20Flag=0; //지수로 확인하는 것 if(DayIndex==0)Then{ mt_changeFlag = 0; mt_change_t1 = 0; mt_change_t2 = 0; mt_buyFlag = 1; mt_sellFlag = 0; } if(mt_ma3Flag+mt_ma5Flag+mt_ma10Flag+mt_ma20Flag==0)Then{ mt_sellFlag = 1; mt_buyFlag = 0; MessageLog("모두팔기!1"); } if(mt_ma20Flag==0&&(mt_ma3Flag+mt_ma5Flag+mt_ma10Flag>=2))Then{ mt_buyFlag = 1; mt_sellFlag = 0; } if(mt_changeFlag==0)Then{ if(DayHigh*0.985>c||DayClose(1)*0.985>c)Then{ mt_buyFlag = 0; } if(DayHigh*0.98>c||DayClose(1)*0.98>c)Then{ mt_buyFlag = 0; mt_sellFlag = 1; MessageLog("모두팔기!2"); } } if(mt_buyFlag==0)Then{ if(ma(c,mt_20)>ma(c,mt_120))Then{ mt_change_t1 = 1; }Else mt_change_t1 = 0; if((Lowest(h,mt_600)[15]*1.005<c||Lowest(h,mt_600)[30]*1.005<c)&&(ma(c,mt_10)*1.01<c||Highest(h,mt_10)[2]*1.005<c))Then{ mt_change_t2 = 1; }Else mt_change_t2 = 0; if(mt_change_t1==1||mt_change_t2==1)Then{ mt_changeFlag = 1; mt_buyFlag = 1; mt_sellFlag = 0; } } if(mt_changeFlag==1)Then{ if(ma(c,mt_20)>ma(c,mt_120))Then{ mt_change_t1 = 1; }Else mt_change_t1 = 0; if((Lowest(h,mt_600)[15]*1.005<c||Lowest(h,mt_600)[30]*1.005<c)&&(ma(c,mt_10)*1.01<c||Highest(h,mt_10)[2]*1.005<c))Then{ mt_change_t2 = 1; }Else mt_change_t2 = 0; if(mt_change_t1+mt_change_t2==0)Then{ mt_changeFlag = 0; mt_buyFlag = 0; } } //20선 위 if(mt_buyFlag==1&&mt_ma20Flag==1)Then{ mt_buyfactor = ((mt_ma3Flag+mt_ma5Flag+mt_ma10Flag+mt_ma10Flag)*10+60)/100; Plot1(mt_buyfactor); } //20선 아래 if(mt_buyFlag==1&&mt_ma20Flag==0)Then{ var1 = 0; if(ma(c,mt_20)>ma(c,mt_120))Then var1 = var1+1; if(Lowest(h,mt_600)[15]*1.005<c)Then var1 = var1+1; if(Lowest(h,mt_600)[30]*1.005<c)Then var1 = var1+1; if(ma(c,mt_10)*1.01<c)Then var1 = var1+1; if(Highest(h,mt_10)[2]*1.005<c)Then var1 = var1+1; mt_buyfactor = (var1*10)/100; Plot2(mt_buyfactor); } 위의 식은 일반적으로 연결선물지수 차트에 지표로 사용하는 것입니다. 위에 것을 현물 차트(3분봉 3000봉)에 참조데이터 연결선물지수(3분봉 3000봉)인 곳에서 사용할수 있도록 변환을 아래와 같이하였지만 정상작동하지않습니다. var : mt_sum3(0,data2),mt_sum5(0,data2),mt_sum10(0,data2),mt_sum15(0,data2),mt_sum20(0,data2); var : mt_ma3(0,data2),mt_ma5(0,data2),mt_ma10(0,data2),mt_ma15(0,data2),mt_ma20(0,data2); var : mt_ma3Flag(0,data2),mt_ma5Flag(0,data2),mt_ma10Flag(0,data2),mt_ma15Flag(0,data2),mt_ma20Flag(0,data2); var : mt_10(0,data2),mt_20(0,data2),mt_30(0,data2),mt_40(0,data2),mt_120(0,data2),mt_600(0,data2); var : mt_buyFlag(1,data2),mt_sellFlag(0,data2),mt_changeFlag(0,data2),mt_change_t1(0,data2),mt_change_t2(0,data2); var : mt_buyfactor(0,data2); var : i(0,data2); if index==0 Then{ ClearDebug; mt_10=30/data2(BarInterval); mt_20=60/data2(BarInterval); mt_30=90/data2(BarInterval); mt_40=120/data2(BarInterval); mt_120=360/data2(BarInterval); mt_600=600/data2(BarInterval); } if DayIndex==0 Then{ mt_sum3 = 0; mt_sum5 = 0; mt_sum10 = 0; mt_sum15 = 0; mt_sum20 = 0; for i=1 to 19 { if i<3 Then mt_sum3 = data2(mt_sum3 + CloseD(i)); if i<5 Then mt_sum5 = data2(mt_sum5 + CloseD(i)); if i<10 Then mt_sum10 = data2(mt_sum10 + CloseD(i)); if i<15 Then mt_sum15 = data2(mt_sum15 + CloseD(i)); mt_sum20 = data2(mt_sum20 + CloseD(i)); } } mt_ma3 = data2((mt_sum3 + CloseD(0))/3); mt_ma5 = data2((mt_sum5 + CloseD(0))/5); mt_ma10 = data2((mt_sum10 + CloseD(0))/10); mt_ma15 = data2((mt_sum15 + CloseD(0))/15); mt_ma20 = data2((mt_sum20 + CloseD(0))/20); MessageLog("%.f %.f %.f",data2(mt_ma3),data2(mt_ma5),data2(mt_ma10)); MessageLog("%.f %.f %.f",data2(CloseD(0)),data2(CloseD(1)),data2(CloseD(2))); if(mt_ma3<c)Then{ mt_ma3Flag=1; }Else mt_ma3Flag=0; if(mt_ma5<c)Then{ mt_ma5Flag=1; }Else mt_ma5Flag=0; if(mt_ma10<c)Then{ mt_ma10Flag=1; }Else mt_ma10Flag=0; if(mt_ma15<c)Then{ mt_ma15Flag=1; }Else mt_ma15Flag=0; if(mt_ma20*0.99<c)Then{ mt_ma20Flag=1; }Else mt_ma20Flag=0; //지수로 확인하는 것 if(DayIndex==0)Then{ mt_changeFlag = 0; mt_change_t1 = 0; mt_change_t2 = 0; mt_buyFlag = 1; mt_sellFlag = 0; } if(mt_ma3Flag+mt_ma5Flag+mt_ma10Flag+mt_ma20Flag==0)Then{ mt_sellFlag = 1; mt_buyFlag = 0; //MessageLog("모두팔기!1"); } if(mt_ma20Flag==0&&(mt_ma3Flag+mt_ma5Flag+mt_ma10Flag>=2))Then{ mt_buyFlag = 1; mt_sellFlag = 0; } if(mt_changeFlag==0)Then{ if(data2(HighD(0)*0.985>c||CloseD(1)*0.985>c))Then{ mt_buyFlag = 0; } if(data2(HighD(0)*0.98>c||CloseD(1)*0.98>c))Then{ mt_buyFlag = 0; mt_sellFlag = 1; //MessageLog("모두팔기!2"); } } if(mt_buyFlag==0)Then{ if(data2(ma(c,mt_20)>ma(c,mt_120)))Then{ mt_change_t1 = 1; }Else mt_change_t1 = 0; if(data2((Lowest(h,mt_600)[15]*1.005<c||Lowest(h,mt_600)[30]*1.005<c)&&(ma(c,mt_10)*1.01<c||Highest(h,mt_10)[2]*1.005<c)))Then{ mt_change_t2 = 1; }Else mt_change_t2 = 0; if(mt_change_t1==1||mt_change_t2==1)Then{ mt_changeFlag = 1; mt_buyFlag = 1; mt_sellFlag = 0; } } if(mt_changeFlag==1)Then{ if(data2(ma(c,mt_20)>ma(c,mt_120)))Then{ mt_change_t1 = 1; }Else mt_change_t1 = 0; if(data2((Lowest(h,mt_600)[15]*1.005<c||Lowest(h,mt_600)[30]*1.005<c)&&(ma(c,mt_10)*1.01<c||Highest(h,mt_10)[2]*1.005<c)))Then{ mt_change_t2 = 1; }Else mt_change_t2 = 0; if(mt_change_t1+mt_change_t2==0)Then{ mt_changeFlag = 0; mt_buyFlag = 0; } } //20선 위 if(mt_buyFlag==1&&mt_ma20Flag==1)Then{ mt_buyfactor = ((mt_ma3Flag+mt_ma5Flag+mt_ma10Flag+mt_ma10Flag)*10+60)/100; Plot1(mt_buyfactor); } //20선 아래 if(mt_buyFlag==1&&mt_ma20Flag==0)Then{ var1 = 0; if(data2(ma(c,mt_20)>ma(c,mt_120)))Then var1 = var1+1; if(data2(Lowest(h,mt_600)[15]*1.005<c))Then var1 = var1+1; if(data2(Lowest(h,mt_600)[30]*1.005<c))Then var1 = var1+1; if(data2(ma(c,mt_10)*1.01<c))Then var1 = var1+1; if(data2(Highest(h,mt_10)[2]*1.005<c))Then var1 = var1+1; mt_buyfactor = (var1*10)/100; Plot2(mt_buyfactor); } 어디가어떻게 잘못되었는지 알려주시면 감사하겠습니다 감사합니다