커뮤니티

문의 드립니다

프로필 이미지
푸른
2022-10-28 06:50:40
1015
글번호 163347
답변완료

첨부 이미지

input : N(8),진입Per(-23.6),청산Per(61.8); var : DD(0),Year(0),V1(0),V2(0),V3(0),V4(0),summer(False); var : ST(0),ET(0),hh(0),ll(0),cnt(0),EP(0),XP(0); if NextBarSdate != sDate Then { DD = DayOfWeek(NextBarSdate); Year = Floor(NextBarSdate/10000); V1 = (10000 * Year) + (100 * 3) + 1; V2 = 15 - dayofweek(v1); v3 = (10000 * Year) + (100 * 11) + 1; v4 = 8 - dayofweek(v3); Summer = Sdate > (10000 * Year) + (100 * 3) + v2 and Sdate < (10000 * Year) + (100 * 11) + v4; if summer == true Then { ST = 70000; ET = 55000; } Else { ST = 80000; ET = 65000; } } if Year > 0 Then { if ((NextBarSdate != sDate and NextBarStime >= ST) or (NextBarSdate == sDate and NextBarStime >= ST and sTime < ST)) Then { ExitLong(); hh = 0; ll = 0; For cnt = 0 to N-1 { if hh == 0 or (hh > 0 and DayHigh(cnt) > hh) Then hh = DayHigh(cnt); if ll == 0 or (ll > 0 and DayLow(cnt) < ll) Then ll = DayLow(cnt); } EP = ll+(hh-ll)*(진입Per/100); if NextBarOpen < EP Then Buy("b1",AtStop,EP); Else Buy("b1.",AtLimit,EP); } Else { hh = 0; ll = 0; For cnt = 1 to N { if hh == 0 or (hh > 0 and DayHigh(cnt) > hh) Then hh = DayHigh(cnt); if ll == 0 or (ll > 0 and DayLow(cnt) < ll) Then ll = DayLow(cnt); } EP = ll+(hh-ll)*(진입Per/100); if H < EP Then Buy("b2",AtStop,EP); if L > EP Then Buy("b2.",AtLimit,EP); } if MarketPosition == 1 Then { if MarketPosition != MarketPosition[1] Then XP = ll[BarsSinceEntry]+(hh[BarsSinceEntry]-ll[BarsSinceEntry])*(청산Per/100); ExitLong("bx",AtLimit,XP); } } ----------------- 청산이 당일신호로 나옵니다. 수식어에서 진입 N값은 8일입니다. 청산 N값을 진입 N값하고 기간을 다르게 숫자로 표기 하고 싶습니다. 예를들면 8일 기간값에서 진입신호후 청산은 10일중에 청산값에 도달하면 되는걸 말합니다. 익절 200 손절 40 포함해 주셨으면 합니다. ------------------------ input : N(8),진입Per(38.2),청산Per(61.8); var : DD(0),Year(0),V1(0),V2(0),V3(0),V4(0),summer(False); var : ST(0),ET(0),hh(0),ll(0),cnt(0),EP(0),XP(0); if NextBarSdate != sDate Then { DD = DayOfWeek(NextBarSdate); Year = Floor(NextBarSdate/10000); V1 = (10000 * Year) + (100 * 3) + 1; V2 = 15 - dayofweek(v1); v3 = (10000 * Year) + (100 * 11) + 1; v4 = 8 - dayofweek(v3); Summer = Sdate > (10000 * Year) + (100 * 3) + v2 and Sdate < (10000 * Year) + (100 * 11) + v4; if summer == true Then { ST = 70000; ET = 55000; } Else { ST = 80000; ET = 65000; } } if Year > 0 Then { IF ET > ST Then SetStopEndofday(ET); Else { if NextBarSdate != sDate Then SetStopEndofday(ET); } if ((NextBarSdate != sDate and NextBarStime >= ST) or (NextBarSdate == sDate and NextBarStime >= ST and sTime < ST)) Then { SetStopEndofday(0); hh = 0; ll = 0; For cnt = 0 to N-1 { if hh == 0 or (hh > 0 and DayHigh(cnt) > hh) Then hh = DayHigh(cnt); if ll == 0 or (ll > 0 and DayLow(cnt) < ll) Then ll = DayLow(cnt); } EP = ll+(hh-ll)*(진입Per/100); if NextBarOpen < EP Then Buy("b1",AtStop,EP); Else Buy("b1.",AtLimit,EP); } Else { hh = 0; ll = 0; For cnt = 1 to N { if hh == 0 or (hh > 0 and DayHigh(cnt) > hh) Then hh = DayHigh(cnt); if ll == 0 or (ll > 0 and DayLow(cnt) < ll) Then ll = DayLow(cnt); } EP = ll+(hh-ll)*(진입Per/100); if H < EP Then Buy("b2",AtStop,EP); if L > EP Then Buy("b2.",AtLimit,EP); } if MarketPosition == 1 Then { if MarketPosition != MarketPosition[1] Then XP = ll[BarsSinceEntry]+(hh[BarsSinceEntry]-ll[BarsSinceEntry])*(청산Per/100); ExitLong("bx",AtLimit,XP); } } --------------- 위 수식어를 익절150 손절 40을 포함한 당일청산이 아닌 식으로 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-10-28 13:11:32

안녕하세요 예스스탁입니다. 1 input : N(8),진입Per(-23.6),xN(10),청산Per(61.8); input : 익절틱수(200),손절틱수(40); var : DD(0),Year(0),V1(0),V2(0),V3(0),V4(0),summer(False); var : ST(0),ET(0),hh(0),ll(0),cnt(0),EP(0),XP(0); var : xh(0),xl(0); if NextBarSdate != sDate Then { DD = DayOfWeek(NextBarSdate); Year = Floor(NextBarSdate/10000); V1 = (10000 * Year) + (100 * 3) + 1; V2 = 15 - dayofweek(v1); v3 = (10000 * Year) + (100 * 11) + 1; v4 = 8 - dayofweek(v3); Summer = Sdate > (10000 * Year) + (100 * 3) + v2 and Sdate < (10000 * Year) + (100 * 11) + v4; if summer == true Then { ST = 70000; ET = 55000; } Else { ST = 80000; ET = 65000; } } if Year > 0 Then { if ((NextBarSdate != sDate and NextBarStime >= ST) or (NextBarSdate == sDate and NextBarStime >= ST and sTime < ST)) Then { ExitLong(); hh = 0; ll = 0; For cnt = 0 to N-1 { if hh == 0 or (hh > 0 and DayHigh(cnt) > hh) Then hh = DayHigh(cnt); if ll == 0 or (ll > 0 and DayLow(cnt) < ll) Then ll = DayLow(cnt); } EP = ll+(hh-ll)*(진입Per/100); if NextBarOpen < EP Then Buy("b1",AtStop,EP); Else Buy("b1.",AtLimit,EP); } Else { hh = 0; ll = 0; For cnt = 1 to N { if hh == 0 or (hh > 0 and DayHigh(cnt) > hh) Then hh = DayHigh(cnt); if ll == 0 or (ll > 0 and DayLow(cnt) < ll) Then ll = DayLow(cnt); } EP = ll+(hh-ll)*(진입Per/100); if H < EP Then Buy("b2",AtStop,EP); if L > EP Then Buy("b2.",AtLimit,EP); } if MarketPosition == 1 Then { xh = 0; xl = 0; For cnt = 0 to xN-1 { if xh == 0 or (xh > 0 and DayHigh(cnt) > xh) Then xh = DayHigh(cnt); if xl == 0 or (xl > 0 and DayLow(cnt) < xl) Then xl = DayLow(cnt); } XP = xl[BarsSinceEntry]+(xh[BarsSinceEntry]-xl[BarsSinceEntry])*(청산Per/100); ExitLong("bx",AtLimit,XP); } } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); 2 input : N(8),진입Per(38.2),청산Per(61.8); input : 익절틱수(150),손절틱수(40); var : DD(0),Year(0),V1(0),V2(0),V3(0),V4(0),summer(False); var : ST(0),ET(0),hh(0),ll(0),cnt(0),EP(0),XP(0); if NextBarSdate != sDate Then { DD = DayOfWeek(NextBarSdate); Year = Floor(NextBarSdate/10000); V1 = (10000 * Year) + (100 * 3) + 1; V2 = 15 - dayofweek(v1); v3 = (10000 * Year) + (100 * 11) + 1; v4 = 8 - dayofweek(v3); Summer = Sdate > (10000 * Year) + (100 * 3) + v2 and Sdate < (10000 * Year) + (100 * 11) + v4; if summer == true Then { ST = 70000; ET = 55000; } Else { ST = 80000; ET = 65000; } } if Year > 0 Then { if ((NextBarSdate != sDate and NextBarStime >= ST) or (NextBarSdate == sDate and NextBarStime >= ST and sTime < ST)) Then { hh = 0; ll = 0; For cnt = 0 to N-1 { if hh == 0 or (hh > 0 and DayHigh(cnt) > hh) Then hh = DayHigh(cnt); if ll == 0 or (ll > 0 and DayLow(cnt) < ll) Then ll = DayLow(cnt); } EP = ll+(hh-ll)*(진입Per/100); if NextBarOpen < EP Then Buy("b1",AtStop,EP); Else Buy("b1.",AtLimit,EP); } Else { hh = 0; ll = 0; For cnt = 1 to N { if hh == 0 or (hh > 0 and DayHigh(cnt) > hh) Then hh = DayHigh(cnt); if ll == 0 or (ll > 0 and DayLow(cnt) < ll) Then ll = DayLow(cnt); } EP = ll+(hh-ll)*(진입Per/100); if H < EP Then Buy("b2",AtStop,EP); if L > EP Then Buy("b2.",AtLimit,EP); } if MarketPosition == 1 Then { if MarketPosition != MarketPosition[1] Then XP = ll[BarsSinceEntry]+(hh[BarsSinceEntry]-ll[BarsSinceEntry])*(청산Per/100); ExitLong("bx",AtLimit,XP); } } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); 즐거운 하루되세요 > 푸른 님이 쓴 글입니다. > 제목 : 문의 드립니다 > input : N(8),진입Per(-23.6),청산Per(61.8); var : DD(0),Year(0),V1(0),V2(0),V3(0),V4(0),summer(False); var : ST(0),ET(0),hh(0),ll(0),cnt(0),EP(0),XP(0); if NextBarSdate != sDate Then { DD = DayOfWeek(NextBarSdate); Year = Floor(NextBarSdate/10000); V1 = (10000 * Year) + (100 * 3) + 1; V2 = 15 - dayofweek(v1); v3 = (10000 * Year) + (100 * 11) + 1; v4 = 8 - dayofweek(v3); Summer = Sdate > (10000 * Year) + (100 * 3) + v2 and Sdate < (10000 * Year) + (100 * 11) + v4; if summer == true Then { ST = 70000; ET = 55000; } Else { ST = 80000; ET = 65000; } } if Year > 0 Then { if ((NextBarSdate != sDate and NextBarStime >= ST) or (NextBarSdate == sDate and NextBarStime >= ST and sTime < ST)) Then { ExitLong(); hh = 0; ll = 0; For cnt = 0 to N-1 { if hh == 0 or (hh > 0 and DayHigh(cnt) > hh) Then hh = DayHigh(cnt); if ll == 0 or (ll > 0 and DayLow(cnt) < ll) Then ll = DayLow(cnt); } EP = ll+(hh-ll)*(진입Per/100); if NextBarOpen < EP Then Buy("b1",AtStop,EP); Else Buy("b1.",AtLimit,EP); } Else { hh = 0; ll = 0; For cnt = 1 to N { if hh == 0 or (hh > 0 and DayHigh(cnt) > hh) Then hh = DayHigh(cnt); if ll == 0 or (ll > 0 and DayLow(cnt) < ll) Then ll = DayLow(cnt); } EP = ll+(hh-ll)*(진입Per/100); if H < EP Then Buy("b2",AtStop,EP); if L > EP Then Buy("b2.",AtLimit,EP); } if MarketPosition == 1 Then { if MarketPosition != MarketPosition[1] Then XP = ll[BarsSinceEntry]+(hh[BarsSinceEntry]-ll[BarsSinceEntry])*(청산Per/100); ExitLong("bx",AtLimit,XP); } } ----------------- 청산이 당일신호로 나옵니다. 수식어에서 진입 N값은 8일입니다. 청산 N값을 진입 N값하고 기간을 다르게 숫자로 표기 하고 싶습니다. 예를들면 8일 기간값에서 진입신호후 청산은 10일중에 청산값에 도달하면 되는걸 말합니다. 익절 200 손절 40 포함해 주셨으면 합니다. ------------------------ input : N(8),진입Per(38.2),청산Per(61.8); var : DD(0),Year(0),V1(0),V2(0),V3(0),V4(0),summer(False); var : ST(0),ET(0),hh(0),ll(0),cnt(0),EP(0),XP(0); if NextBarSdate != sDate Then { DD = DayOfWeek(NextBarSdate); Year = Floor(NextBarSdate/10000); V1 = (10000 * Year) + (100 * 3) + 1; V2 = 15 - dayofweek(v1); v3 = (10000 * Year) + (100 * 11) + 1; v4 = 8 - dayofweek(v3); Summer = Sdate > (10000 * Year) + (100 * 3) + v2 and Sdate < (10000 * Year) + (100 * 11) + v4; if summer == true Then { ST = 70000; ET = 55000; } Else { ST = 80000; ET = 65000; } } if Year > 0 Then { IF ET > ST Then SetStopEndofday(ET); Else { if NextBarSdate != sDate Then SetStopEndofday(ET); } if ((NextBarSdate != sDate and NextBarStime >= ST) or (NextBarSdate == sDate and NextBarStime >= ST and sTime < ST)) Then { SetStopEndofday(0); hh = 0; ll = 0; For cnt = 0 to N-1 { if hh == 0 or (hh > 0 and DayHigh(cnt) > hh) Then hh = DayHigh(cnt); if ll == 0 or (ll > 0 and DayLow(cnt) < ll) Then ll = DayLow(cnt); } EP = ll+(hh-ll)*(진입Per/100); if NextBarOpen < EP Then Buy("b1",AtStop,EP); Else Buy("b1.",AtLimit,EP); } Else { hh = 0; ll = 0; For cnt = 1 to N { if hh == 0 or (hh > 0 and DayHigh(cnt) > hh) Then hh = DayHigh(cnt); if ll == 0 or (ll > 0 and DayLow(cnt) < ll) Then ll = DayLow(cnt); } EP = ll+(hh-ll)*(진입Per/100); if H < EP Then Buy("b2",AtStop,EP); if L > EP Then Buy("b2.",AtLimit,EP); } if MarketPosition == 1 Then { if MarketPosition != MarketPosition[1] Then XP = ll[BarsSinceEntry]+(hh[BarsSinceEntry]-ll[BarsSinceEntry])*(청산Per/100); ExitLong("bx",AtLimit,XP); } } --------------- 위 수식어를 익절150 손절 40을 포함한 당일청산이 아닌 식으로 부탁드립니다.