커뮤니티

시스템식 부탁드립니다

프로필 이미지
양치기
2017-03-06 08:29:11
135
글번호 107471
답변완료
항상 도움 주셔서 감사합니다. 아래처럼 코딩을 하였는데 매매가 안됩니다. 매매가 될수 있도록 도움 부탁드립니다. //======================================================== // 추세선으로 매매하기 //======================================================== input : 추세선시작일1(20170303),추세선시작시간1(070000); //추세선1-저가 input : 추세선종료일1(20170303),추세선종료시간1(190500); //추세선1-저가2 input : 추세선시작일2(20170303),추세선시작시간2(011000); //추세선2-고가 input : 추세선종료일2(20170303),추세선종료시간2(174500); //추세선2-고가2 input : X1(0.65),X11(-0.65),X2(0.6),X22(-0.6) ;// 추세선 이동 input : loss(10),profit(30),Tp(10),Ts(5); // 수익,손절,트레일링스탑 var : TL1(0),TLL1(0),TLLL1(0),T1(0); //추세선1 var : TL2(0),TLL2(0),TLLL2(0),T2(0); //추세선2 ##### 추세선 그리기 ##### // 추세선1 - 저가 if sdate == 추세선시작일1 and time == 추세선시작시간1 Then{ T1 = 1; var1 = L; } if T1 == 1 and sdate == 추세선종료일1 and time == 추세선종료시간1 Then{ var2 = L; TL1 = TL_New(추세선시작일1,추세선시작시간1,var1,추세선종료일1,추세선종료시간1,var2); TL_SetExtLeft(TL1,true); TL_SetExtRight(TL1,true); TL_SetColor(TL1,BLUE) ; T1 = 2; TLL1 = TL_New(추세선시작일1,추세선시작시간1,var1+x1,추세선종료일1,추세선종료시간1,var2+x1); //추세선 복사 TL_SetExtLeft(TLL1,true); TL_SetExtRight(TLL1,true); TL_SetColor(TLL1,BLUE) ; TLLL1 = TL_New(추세선시작일1,추세선시작시간1,var1+x11,추세선종료일1,추세선종료시간1,var2+x11); //추세선 복사 TL_SetExtLeft(TLLL1,true); TL_SetExtRight(TLLL1,true); TL_SetColor(TLLL1,BLUE) ; } // 추세선2 - 고가 if sdate == 추세선시작일2 and time == 추세선시작시간2 Then{ T2 = 1; var3 = H; } if T2 == 1 and sdate == 추세선종료일2 and time == 추세선종료시간2 Then{ var4 = H; TL2 = TL_New(추세선시작일2,추세선시작시간2,var3,추세선종료일2,추세선종료시간2,var4); TL_SetExtLeft(TL2,true); TL_SetExtRight(TL2,true); TL_SetColor(TL2,RED) ; T2 = 2; TLL2 = TL_New(추세선시작일2,추세선시작시간2,var3+x2,추세선종료일2,추세선종료시간2,var4+x2); TL_SetExtLeft(TLL2,true); TL_SetExtRight(TLL2,true); TL_SetColor(TLL2,RED) ; TLLL2 = TL_New(추세선시작일2,추세선시작시간2,var3+x22,추세선종료일2,추세선종료시간2,var4+x22); TL_SetExtLeft(TLLL2,true); TL_SetExtRight(TLLL2,true); TL_SetColor(TLLL2,RED) ; } ##### 시스템매매 ##### // 진입 시스템 // 매매시간 시작(2개의 추세선 중 늦은시간의 추세선이 그려진 이후 매매) if sdate >= 추세선종료일1 and stime >= 추세선종료시간1 then { // 저가선 하락돌파 if T1 == 2 and MarketPosition == 0 then{ if C < TL_GetValue(TL1,sdate,stime) and C[1] > TL_GetValue(TL1,sdate[1],stime[1]) Then sell("S"); } // 고가선 상승돌파 if T2 == 2 and MarketPosition == 0 then{ if C > TL_GetValue(TL2,sdate,stime) and C[1] < TL_GetValue(TL2,sdate[1],stime[1]) Then Buy("B"); } // 청산 시스템 // 매도청산 if T1 == 2 and MarketPosition == -1 then{ if (C <= TL_GetValue(TLLL1,sdate,stime) and C[1] > TL_GetValue(TLLL1,sdate[1],stime[1])) or (C <= TL_GetValue(TLLL2,sdate,stime) and C[1] > TL_GetValue(TLLL2,sdate[1],stime[1])) Then ExitShort("SX"); } // 매수청산 if T2 == 2 and MarketPosition == 1 then{ if (C >= TL_GetValue(TLL1,sdate,stime) and C[1] < TL_GetValue(TLL1,sdate[1],stime[1])) or (C >= TL_GetValue(TLL2,sdate,stime) and C[1] < TL_GetValue(TLL2,sdate[1],stime[1])) Then ExitLong("BX"); } // 매매시간종료 } ##### 스탑로스 ##### //SetStopProfittarget(Profit*PriceScale,PointStop); SetStopLoss(loss*PriceScale,PointStop); //SetStopTrailing(TS*PriceScale,TP*PriceScale,PointStop); SetStopEndofday(065000) ; - 위 코딩은 오일 4월물로 테스트 부탁드립니다. 그리고 한가지 부탁드립니다. 예스스탁에서 추세선 매매 할수 있는 시스템 개발 좀 부탁드립니다. 추세선 매매가 되면 더 많은 사람들이 예스스탁을 이용할 것이며, 수식작성에 대한 문의도 줄어들것으로 예상됩니다. 추세선 매매만 된다면 정말 훌륭한 시스템매매 툴이 될것으로 생각됩니다. 다시한번 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-03-06 15:30:35

안녕하세요 예스스탁입니다. 수식내 설정하신 당일청산때문에 신호가 발생하지 않는 것입니다. 당일청산(SetStopEndofday)는 지정한 시간으로 당일 밤 12시 까지 진입을 막게 됩니다. 해외선물은 24시가 기준이 되므로 일정시간에 당일청산을 한다면 if문으로 시간을 지정해 청산되게 하셔야 합니다. setstopendofday함수 삭제하시고 아래식 추가하시면 됩니다. if stime == 065000 or (stime > 065000 and stime[1] < 065000) Then{ if MarketPosition == 1 Then exitlong(); if MarketPosition == -1 Then ExitShort(); } 즐거운 하루되세요 > 양치기 님이 쓴 글입니다. > 제목 : 시스템식 부탁드립니다 > 항상 도움 주셔서 감사합니다. 아래처럼 코딩을 하였는데 매매가 안됩니다. 매매가 될수 있도록 도움 부탁드립니다. //======================================================== // 추세선으로 매매하기 //======================================================== input : 추세선시작일1(20170303),추세선시작시간1(070000); //추세선1-저가 input : 추세선종료일1(20170303),추세선종료시간1(190500); //추세선1-저가2 input : 추세선시작일2(20170303),추세선시작시간2(011000); //추세선2-고가 input : 추세선종료일2(20170303),추세선종료시간2(174500); //추세선2-고가2 input : X1(0.65),X11(-0.65),X2(0.6),X22(-0.6) ;// 추세선 이동 input : loss(10),profit(30),Tp(10),Ts(5); // 수익,손절,트레일링스탑 var : TL1(0),TLL1(0),TLLL1(0),T1(0); //추세선1 var : TL2(0),TLL2(0),TLLL2(0),T2(0); //추세선2 ##### 추세선 그리기 ##### // 추세선1 - 저가 if sdate == 추세선시작일1 and time == 추세선시작시간1 Then{ T1 = 1; var1 = L; } if T1 == 1 and sdate == 추세선종료일1 and time == 추세선종료시간1 Then{ var2 = L; TL1 = TL_New(추세선시작일1,추세선시작시간1,var1,추세선종료일1,추세선종료시간1,var2); TL_SetExtLeft(TL1,true); TL_SetExtRight(TL1,true); TL_SetColor(TL1,BLUE) ; T1 = 2; TLL1 = TL_New(추세선시작일1,추세선시작시간1,var1+x1,추세선종료일1,추세선종료시간1,var2+x1); //추세선 복사 TL_SetExtLeft(TLL1,true); TL_SetExtRight(TLL1,true); TL_SetColor(TLL1,BLUE) ; TLLL1 = TL_New(추세선시작일1,추세선시작시간1,var1+x11,추세선종료일1,추세선종료시간1,var2+x11); //추세선 복사 TL_SetExtLeft(TLLL1,true); TL_SetExtRight(TLLL1,true); TL_SetColor(TLLL1,BLUE) ; } // 추세선2 - 고가 if sdate == 추세선시작일2 and time == 추세선시작시간2 Then{ T2 = 1; var3 = H; } if T2 == 1 and sdate == 추세선종료일2 and time == 추세선종료시간2 Then{ var4 = H; TL2 = TL_New(추세선시작일2,추세선시작시간2,var3,추세선종료일2,추세선종료시간2,var4); TL_SetExtLeft(TL2,true); TL_SetExtRight(TL2,true); TL_SetColor(TL2,RED) ; T2 = 2; TLL2 = TL_New(추세선시작일2,추세선시작시간2,var3+x2,추세선종료일2,추세선종료시간2,var4+x2); TL_SetExtLeft(TLL2,true); TL_SetExtRight(TLL2,true); TL_SetColor(TLL2,RED) ; TLLL2 = TL_New(추세선시작일2,추세선시작시간2,var3+x22,추세선종료일2,추세선종료시간2,var4+x22); TL_SetExtLeft(TLLL2,true); TL_SetExtRight(TLLL2,true); TL_SetColor(TLLL2,RED) ; } ##### 시스템매매 ##### // 진입 시스템 // 매매시간 시작(2개의 추세선 중 늦은시간의 추세선이 그려진 이후 매매) if sdate >= 추세선종료일1 and stime >= 추세선종료시간1 then { // 저가선 하락돌파 if T1 == 2 and MarketPosition == 0 then{ if C < TL_GetValue(TL1,sdate,stime) and C[1] > TL_GetValue(TL1,sdate[1],stime[1]) Then sell("S"); } // 고가선 상승돌파 if T2 == 2 and MarketPosition == 0 then{ if C > TL_GetValue(TL2,sdate,stime) and C[1] < TL_GetValue(TL2,sdate[1],stime[1]) Then Buy("B"); } // 청산 시스템 // 매도청산 if T1 == 2 and MarketPosition == -1 then{ if (C <= TL_GetValue(TLLL1,sdate,stime) and C[1] > TL_GetValue(TLLL1,sdate[1],stime[1])) or (C <= TL_GetValue(TLLL2,sdate,stime) and C[1] > TL_GetValue(TLLL2,sdate[1],stime[1])) Then ExitShort("SX"); } // 매수청산 if T2 == 2 and MarketPosition == 1 then{ if (C >= TL_GetValue(TLL1,sdate,stime) and C[1] < TL_GetValue(TLL1,sdate[1],stime[1])) or (C >= TL_GetValue(TLL2,sdate,stime) and C[1] < TL_GetValue(TLL2,sdate[1],stime[1])) Then ExitLong("BX"); } // 매매시간종료 } ##### 스탑로스 ##### //SetStopProfittarget(Profit*PriceScale,PointStop); SetStopLoss(loss*PriceScale,PointStop); //SetStopTrailing(TS*PriceScale,TP*PriceScale,PointStop); SetStopEndofday(065000) ; - 위 코딩은 오일 4월물로 테스트 부탁드립니다. 그리고 한가지 부탁드립니다. 예스스탁에서 추세선 매매 할수 있는 시스템 개발 좀 부탁드립니다. 추세선 매매가 되면 더 많은 사람들이 예스스탁을 이용할 것이며, 수식작성에 대한 문의도 줄어들것으로 예상됩니다. 추세선 매매만 된다면 정말 훌륭한 시스템매매 툴이 될것으로 생각됩니다. 다시한번 부탁드립니다.