커뮤니티

봉 b 30분

프로필 이미지
푸른
2023-09-28 15:13:29
1256
글번호 172720
답변완료
input : StartTime(210000),EndTime(50000); input : 익절틱수(0),손절틱수(30); var : Tcond(False),entry(0); Variables: Mom(0); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; IF Endtime <= starttime Then { SetStopEndofday(0); } } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } if Tcond == true Then { if L ==lowest(L,2) and highest(H,2) >= lowest(L,2)+PriceScale*10 Then { Buy("b",AtStop,(highest(H,2)+lowest(L,2))/2); } if MarketPosition == 1 and BarsSinceEntry == 8 Then ExitLong(); } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop);
시스템
답변 8
프로필 이미지

예스스탁 예스스탁 답변

2023-09-25 16:58:16

안녕하세요 예스스탁입니다. 문의하신 내용은 가상으로 진입/청산을 체크해야 하는 내용으로 작성해 보는데 시간이 많이 소모되는 내용입니다. 업무상 일정시간 이상 요구되는 내용은 저희가 작성해 드리기 어렵습니다. 즐거운 하루되세요 > 푸른 님이 쓴 글입니다. > 제목 : 문의 드립니다 > 1. input : starttime(200000),endtime(50000); input : 익절틱수(400),손절틱수(100); var1 = SwingHigh(1, H, 3, 1, 100); var2 = SwingHigh(1, L, 3, 1, 100); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if crossup(c, var1) then{ buy(); exitshort(); } if crossdown(c, var2) then{ sell(); exitlong(); } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); 2. input : starttime(200000),endtime(60000); input : N(5); input : 익절틱수(300),손절틱수(60); var1 = swingLow(1,L,N,N,100); var2 = swinglow(2,L,N,N,100); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if var1 > var2 then var3 = 1; else var3 = 0; if crossup(c, var1) then{ buy(); exitshort(); } if crossdown(c, var2) then{ sell(); exitlong(); } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); ---------------------- 위 2가지 수식어에 장시작후 8번의 매수, 매도의 신호후 실체결은 9번의 신호에 가능한지 문의 드립니다. ---------------------- input : StartTime(170000),EndTime(060000); var : Tcond(False); var1 = SwingHigh(1, H, 3, 1, 100); var2 = SwingHigh(1, L, 3, 1, 100); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; IF Endtime <= starttime Then { SetStopEndofday(0); } } if crossup(c, var2) then{ buy(); exitshort(); } if crossdown(c, var1) then{ sell(); ExitLong(); } 위 수식어에 매수주문 신호시 5선 기울기가 하방이면 매도전환후 5선 기울기가 상방일때 청산 매도주문 신호시 5선 기울기가 상방이면 매수전환후 5선 기울기가 하방일때 청산의 수식어를 추가로 부탁드립니다.
프로필 이미지

푸른

2023-09-28 15:16:14

input : StartTime(210000),EndTime(50000); input : 익절틱수(0),손절틱수(30); var : Tcond(False),entry(0); Variables: Mom(0); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; IF Endtime <= starttime Then { SetStopEndofday(0); } } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } if Tcond == true Then if H == highest(H,2) and highest(H,2) >= lowest(L,2)+PriceScale*10 Then { Sell("s",AtStop,(highest(H,2)+lowest(L,2))/2); } if MarketPosition == -1 and BarsSinceEntry == 6 Then ExitShort(); SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop);
프로필 이미지

푸른

2023-09-28 15:15:53

input : StartTime(210000),EndTime(50000); input : 익절틱수(0),손절틱수(30); var : Tcond(False),entry(0); Variables: Mom(0); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; IF Endtime <= starttime Then { SetStopEndofday(0); } } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } if Tcond == true Then { if L ==lowest(L,2) and highest(H,2) >= lowest(L,2)+PriceScale*10 Then { Buy("b",AtStop,(highest(H,2)+lowest(L,2))/2); } if MarketPosition == 1 and BarsSinceEntry == 6 Then ExitLong(); } if Tcond == true Then if H == highest(H,2) and highest(H,2) >= lowest(L,2)+PriceScale*10 Then { Sell("s",AtStop,(highest(H,2)+lowest(L,2))/2); } if MarketPosition == -1 and BarsSinceEntry == 6 Then ExitShort(); SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop);
프로필 이미지

푸른

2023-09-28 06:30:06

input : StartTime(220000),EndTime(50000); input : 익절틱수(400),손절틱수(100),진입횟수(20); var : Tcond(False),entry(0); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; entry = 0; IF Endtime <= starttime Then { SetStopEndofday(0); } } var1 = SwingHigh(1, H, 3, 1, 50); var2 = SwingHigh(1, L, 3, 1, 50); if crossup(c, var1) then{ buy(); exitshort(); } if crossdown(c, var2) then{ sell(); exitlong(); }
프로필 이미지

푸른

2023-09-30 05:39:13

안녕하세요 예스스탁입니다. 캔들 90봉 이내 이격도 100의 변수값 99.95 ~ 100.08 위 내용은 최근 90의 이격도가 모두 99.95 ~ 100.08 사이로 지정해 드립니다/ 1 input : StartTime(100000),EndTime(053000); var : Tcond(False); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; IF Endtime <= starttime Then { SetStopEndofday(0); } } var1 = Disparity(100); Var2 = highest(H,100); Var3 = lowest(l,100); if Tcond == true Then { if CountIF(var1 <= 100.08 and var1 >= 99.85, 90) == 90 and CrossUp(C,Var3+(var2-Var3)*0.236) Then Buy(); if MarketPosition == 1 and CrossUp(C,Var3+(var2-Var3)*0.764) Then ExitLong(); } 2 input : StartTime(100000),EndTime(053000); var : Tcond(False); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; IF Endtime <= starttime Then { SetStopEndofday(0); } } var1 = Disparity(100); Var2 = highest(H,100); Var3 = lowest(l,100); if Tcond == true Then { if CountIF(var1 <= 100.08 and var1 >= 99.85, 90) == 90 and CrossDown(C,Var3+(var2-Var3)*0.764) Then Sell(); if MarketPosition == -1 and CrossDown(C,Var3+(var2-Var3)*0.236) Then ExitShort(); } 3 input : StartTime(190000),EndTime(053000); var : Tcond(False); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; IF Endtime <= starttime Then { SetStopEndofday(0); } } var1 = highest(l,3); var2 = lowest(l,3); Var3 = (var1+Var2)/2; if Tcond == true Then { if var1 <= Var2+PriceScale*40 Then Buy("b",AtLimit,Var3); if MarketPosition == 1 and BarsSinceEntry == 7 Then ExitLong(); } 4 input : StartTime(190000),EndTime(053000); var : Tcond(False); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; IF Endtime <= starttime Then { SetStopEndofday(0); } } var1 = highest(h,3); var2 = lowest(h,3); Var3 = (var1+Var2)/2; if Tcond == true Then { if var1 <= Var2+PriceScale*40 Then Sell("s",AtLimit,Var3); if MarketPosition == -1 and BarsSinceEntry == 7 Then ExitLong(); } 즐거운 하루되세요 > 푸른 님이 쓴 글입니다. > 제목 : 문의 드립니다 > 해외선물 매매입니다. 1. * 매매시간 10:00 ~ 익일 05:30 * 익절 100 손절 100 * 캔들 90봉 이내 이격도 100의 변수값 99.95 ~ 100.08 * 피보나치지표 100의 변수값 23.6 매수후 76.4 청산 2. * 매매시간 10:00 ~ 익일 05:30 * 익절 100 손절 100 * 캔들 90봉 이내 이격도 100의 변수값 99.95 ~ 100.08 * 피보나치지표 100의 변수값 76.4 매도후 23.6 청산 3. * 매수 청산 * * 매매시간 19:00 ~ 익일 05:30 * 익절 100 손절 100 * 1,2,3번 캔들의 저점이 40틱내 일때 4번 캔들의 매수는 1,2,3번 캔들의 저점의 중간값에서 매수후 7번 캔들 종가에 청산 4. * 매도 청산 * * 매매시간 19:00 ~ 익일 05:30 * 익절 100 손절 100 * 1,2,3번 캔들의 고점이 40틱내 일때 4번 캔들의 매도는 1,2,3번 캔들의 3개 고점의 중간값에서 매도후 7번 캔들 종가에 청산
프로필 이미지

푸른

2023-09-30 05:57:36

안녕하세요 예스스탁입니다. 1 문의하신 내용은 가상으로 진입/청산을 체크해야 하는 내용으로 작성해 보는데 시간이 많이 소모되는 내용입니다. 업무상 일정시간 이상 요구되는 내용은 저희가 작성해 드리기 어렵습니다. 2 올려주신 내용이면 매수진입과 매도진입의 차이가 어떤 부분에서 다른지 알수 없습니다. 3봉 최고/최저 차이가 40틱 이상이고 현재봉이 3봉 최저가이면 다음봉에 상승해 중간값에 도달하면 매수 3봉 최고/최저 차이가 40틱 이상이고 현재봉이 3봉 최고가이면 다음봉에 하락해 중간값에 도달하면 매도로 작성해 드립니다. 아래 내용 참고하셔서 의도하신 진입으로 수정하시기 바랍니다. input : StartTime(210000),EndTime(50000); input : 익절틱수(100),손절틱수(100); var : Tcond(False),entry(0); Variables: Mom(0); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; IF Endtime <= starttime Then { SetStopEndofday(0); } } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } if Tcond == true Then { if L ==lowest(L,3) and highest(H,3) >= lowest(L,3)+PriceScale*40 Then { Buy("b",AtStop,(highest(H,3)+lowest(L,3))/2); } if H == highest(H,3) and highest(H,3) >= lowest(L,3)+PriceScale*40 Then { Sell("s",AtStop,(highest(H,3)+lowest(L,3))/2); } if MarketPosition == 1 and BarsSinceEntry == 5 Then ExitLong(); if MarketPosition == -1 and BarsSinceEntry == 5 Then ExitShort(); } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); 즐거운 하루되세요 > 푸른 님이 쓴 글입니다. > 제목 : 문의 드립니다 > 1. input : StartTime(150000),EndTime(50000),진입횟수(10); input : 익절틱수(250),손절틱수(50); Input : 당일수익틱수(850),당일손실틱수(100); Input:Length(1),Pval(0.01); var : Tcond(False),entry(0); Variables: Mom(0); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; entry = 0; Xcond = false; N1 = NetProfit; IF Endtime <= starttime Then { SetStopEndofday(0); } } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 or daypl <= -당일손실 Then Xcond = true; if (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true ) then Xcond = true; } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; Buy("CBI_LE",AtStop,Highest(High,Length)+Pval); ExitLong("CBI_SE",AtStop,Lowest(Low,Length)-Pval); if MarketPosition == 1 then { ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts)); } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); 2. input : StartTime(150000),EndTime(50000),진입횟수(10); input : 익절틱수(250),손절틱수(50); Input : 당일수익틱수(850),당일손실틱수(100); Input:Length(1),Pval(0.01); var : Tcond(False),entry(0); Variables: Mom(0); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; entry = 0; Xcond = false; N1 = NetProfit; IF Endtime <= starttime Then { SetStopEndofday(0); } } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 or daypl <= -당일손실 Then Xcond = true; if (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true ) then Xcond = true; } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; ExitShort("CBI_LE",AtStop,Highest(High,Length)+Pval); Sell("CBI_SE",AtStop,Lowest(Low,Length)-Pval); if MarketPosition == 1 then { ExitShort("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); ExitShort("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts)); } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); 위 수식어에서 진입없이 연속 손실이 8회의 데이터가 나올때 9회에서 18회까지 진입하는 수식어를 추가할 수 있는지요 ?
프로필 이미지

푸른

2023-09-30 06:31:41

input : StartTime(220000),EndTime(53000); input : 익절틱수(0),손절틱수(0),진입횟수(20); var : Tcond(False),entry(0); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; entry = 0; IF Endtime <= starttime Then { SetStopEndofday(0); } } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } var1 = SwingHigh(1, H, 3, 3, 100); if crossup(c, var1) then{ buy(); exitshort(); } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop);
프로필 이미지

푸른

2023-09-30 06:33:59

input : StartTime(220000),EndTime(53000); input : 익절틱수(160),손절틱수(0),진입횟수(20); var : Tcond(False),entry(0); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; entry = 0; IF Endtime <= starttime Then { SetStopEndofday(0); } } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } var2 = SwingHigh(1, L, 3, 1, 100); if crossdown(c, var2) then{ sell(); exitlong(); } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop);