커뮤니티

문의드립니다

프로필 이미지
파파리리
2016-05-13 10:47:28
99
글번호 98028
답변완료
문의드립니다 아래식은 만들어주신것에 청산을 추가하여는데요 잘못된것같습니다 추가한 부분은 주석처리된 부분입니다 일단 Crossup(c,var1) 매수가 된후에 0.30 에청산하고 청산한봉의 고가를var4가 업하면 매수하고 익절가는 0.30있니다 (1) 한마디로 모든진입신호 후에 0.30에청산하고 청산한 봉 고가와 저가를 기준으로 var3 와 var4가 업또는 다운하면 진입신호 발생 입니다 진입신호 발생후 0.30에 청산되면 또 청산된봉의 고가 저가 기준입니다 (2)청산한봉이 크기가 너무작으면 안되니 청산한봉 h에 +0.10 청산한봉 L에 -0.10 조절할수있도록 부탁드립니다 (3)모든 진입신호는 항상 유효상태 이여야합니다 하지만 매수신호 상태에서는 다른 매수신호는 무시하고 기존 매매신호를 유지해야합니다 매도신호 상태에서는 다른 매도신호는 무시하고 기존 매매신호를 유지해야합니다 (4) 선을 그리는 TL_New 이 함수떄문에 검증시간이 오래걸림니다 선을 안그려도되니 다른방식으로 식을 부탁드립니다 항상 감사드립니다 수고하십시요 input : Period1(5),Period2(20),dd(0.30); var : TL1(0),TL2(0); var1 = ma(h,Period1); var2 = ma(L,Period1); var3 = ma(h,Period2); var4 = ma(L,Period2); if Crossup(c,var1) Then{ buy("b"); } if CrossDown(c,var2) Then{ sell("s"); } TL_Delete(TL1); TL_Delete(TL2); if MarketPosition == 1 Then{ // ExitLong("1수수익",AtLimit,EntryPrice +PriceScale+dd); TL1 = TL_New(EntryDate,EntryTime,H[BarsSinceEntry],sdate,stime,H[BarsSinceEntry]); TL2 = TL_New(EntryDate,EntryTime,L[BarsSinceEntry],sdate,stime,L[BarsSinceEntry]); if CrossUp(var4,H[BarsSinceEntry]) Then Buy("b2"); // ExitLong("2수수익",AtLimit,EntryPrice +PriceScale+dd); if CrossDown(var3,L[BarsSinceEntry]) Then sell("s2"); // ExitShort("3도수익",AtLimit,EntryPrice-PriceScale-dd); } if MarketPosition == -1 Then{ // ExitShort("3도수익",AtLimit,EntryPrice-PriceScale-dd); TL1 = TL_New(EntryDate,EntryTime,H[BarsSinceEntry],sdate,stime,H[BarsSinceEntry]); TL2 = TL_New(EntryDate,EntryTime,L[BarsSinceEntry],sdate,stime,L[BarsSinceEntry]); if CrossUp(var4,H[BarsSinceEntry]) Then Buy("b3"); // ExitLong("2수수익",AtLimit,EntryPrice +PriceScale+dd); if CrossDown(var3,L[BarsSinceEntry]) Then sell("s3"); //ExitShort("3도수익",AtLimit,EntryPrice-PriceScale-dd); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-05-13 19:49:52

안녕하세요 예스스탁입니다. 시스템 식만 올려드립니다. 익절후 청산봉의 고가+폭을 var4로 상향돌파하면 매수 익절후 청산봉의 저거-폭을 var3으로 하향이탈하면 매도 진입합니다. 시스템에서 발생되는 내용은 추세선으로 뿐이 그릴수 없습니다. 불필요하시면 해당 내용 삭제하시기 바랍니다. input : Period1(5),Period2(20),익절(0.30),폭(0.1); var : TL1(0),TL2(0); var1 = ma(h,Period1); var2 = ma(L,Period1); var3 = ma(h,Period2); var4 = ma(L,Period2); if Crossup(c,var1) Then{ buy("b"); } if CrossDown(c,var2) Then{ sell("s"); } TL_Delete(TL1); TL_Delete(TL2); if MarketPosition == 0 and TotalTrades >= 1 Then TL1 = TL_New(ExitDate(1),ExitTime(1),H[BarsSinceExit(1)]+폭,sdate,stime,H[BarsSinceExit(1)]+폭); TL2 = TL_New(ExitDate(1),ExitTime(1),L[BarsSinceExit(1)]-폭,sdate,stime,L[BarsSinceExit(1)]-폭); if BarsSinceExit(1) != 0 Then{ if CrossUp(var4,H[BarsSinceExit(0)]+폭) Then Buy("b2"); if CrossDown(var3,L[BarsSinceExit(1)]-폭) Then sell("s2"); } #목표수익 0.3 SetStopProfittarget(익절,PointStop); 즐거운 하루되세요 > 파파리리 님이 쓴 글입니다. > 제목 : 문의드립니다 > 문의드립니다 아래식은 만들어주신것에 청산을 추가하여는데요 잘못된것같습니다 추가한 부분은 주석처리된 부분입니다 일단 Crossup(c,var1) 매수가 된후에 0.30 에청산하고 청산한봉의 고가를var4가 업하면 매수하고 익절가는 0.30있니다 (1) 한마디로 모든진입신호 후에 0.30에청산하고 청산한 봉 고가와 저가를 기준으로 var3 와 var4가 업또는 다운하면 진입신호 발생 입니다 진입신호 발생후 0.30에 청산되면 또 청산된봉의 고가 저가 기준입니다 (2)청산한봉이 크기가 너무작으면 안되니 청산한봉 h에 +0.10 청산한봉 L에 -0.10 조절할수있도록 부탁드립니다 (3)모든 진입신호는 항상 유효상태 이여야합니다 하지만 매수신호 상태에서는 다른 매수신호는 무시하고 기존 매매신호를 유지해야합니다 매도신호 상태에서는 다른 매도신호는 무시하고 기존 매매신호를 유지해야합니다 (4) 선을 그리는 TL_New 이 함수떄문에 검증시간이 오래걸림니다 선을 안그려도되니 다른방식으로 식을 부탁드립니다 항상 감사드립니다 수고하십시요 input : Period1(5),Period2(20),dd(0.30); var : TL1(0),TL2(0); var1 = ma(h,Period1); var2 = ma(L,Period1); var3 = ma(h,Period2); var4 = ma(L,Period2); if Crossup(c,var1) Then{ buy("b"); } if CrossDown(c,var2) Then{ sell("s"); } TL_Delete(TL1); TL_Delete(TL2); if MarketPosition == 1 Then{ // ExitLong("1수수익",AtLimit,EntryPrice +PriceScale+dd); TL1 = TL_New(EntryDate,EntryTime,H[BarsSinceEntry],sdate,stime,H[BarsSinceEntry]); TL2 = TL_New(EntryDate,EntryTime,L[BarsSinceEntry],sdate,stime,L[BarsSinceEntry]); if CrossUp(var4,H[BarsSinceEntry]) Then Buy("b2"); // ExitLong("2수수익",AtLimit,EntryPrice +PriceScale+dd); if CrossDown(var3,L[BarsSinceEntry]) Then sell("s2"); // ExitShort("3도수익",AtLimit,EntryPrice-PriceScale-dd); } if MarketPosition == -1 Then{ // ExitShort("3도수익",AtLimit,EntryPrice-PriceScale-dd); TL1 = TL_New(EntryDate,EntryTime,H[BarsSinceEntry],sdate,stime,H[BarsSinceEntry]); TL2 = TL_New(EntryDate,EntryTime,L[BarsSinceEntry],sdate,stime,L[BarsSinceEntry]); if CrossUp(var4,H[BarsSinceEntry]) Then Buy("b3"); // ExitLong("2수수익",AtLimit,EntryPrice +PriceScale+dd); if CrossDown(var3,L[BarsSinceEntry]) Then sell("s3"); //ExitShort("3도수익",AtLimit,EntryPrice-PriceScale-dd); }