커뮤니티
문의드립니다
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);
}