커뮤니티

수식 부탁드립니다.

프로필 이미지
강장군
2023-04-23 13:56:40
1148
글번호 168416
답변완료
안녕하세요. 항상 감사합니다. 지난주에 수식 요청드렸었는데 기대했던대로 작동이 안되어 다시한번 요청드립니다. 제가 설명을 잘못 드린 것 같아 보다 자세히 설명드리겠습니다. line1과 line2의 교차 매매인데 교차시에 바로진입을 하는 것이 아니고 위든 아래든 추세가 뚫릴 때 매매하는 것이 핵심입니다. 종목은 나스닥. 매매시간은 21:30~05:50 입니다. line1 = 단기 이평 line2 = 장기 이평 input : 익절틱수(100),손절틱수(50), 진입틱수(50); input : tr_onoff(1),최소수익(50),감소수익(50);#트레일링스탑 사용1, 미사용 0 var : line1(0),line2(0); var : entry1(False) entry2(False; //두 라인이 crossup 또는 crossdown 될 때 entry1 true, 청산시 false. 진입중이면 entry2 true, 청산시 false if entry1 == False and (CrossUp(line1, line2) or CrossDown(line1, line2)) Then { var1 = line1; entry1= True; } // 두 라인이 교차되면 crossup 이든 crossdown이든 일단 진입대기 상태가 된다. if entry1 == True and entry2 == False and 현재가 > var1 + 진입틱수 Then { Buy("b"); entry2 = True; } if entry1 == True and entry2 == False and 현재가 < var1 - 진입틱수 Then { Sell("s"); entry2 = True; // 진입대기 상태에서 두선의 교차가보다 진입틱수가 높으면 매수진입, 낮으면 매도 진입 // 이 상태에서는 아직 entry1을 False 만들면 안 될 듯. entry1이 False면 첫 번째 조건인 entry1 == False에 다시 진입하기 때문. SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); if tr_onoff == 1 Then SetStopTrailing(PriceScale*감소수익,PriceScale*최소수익,PointStop); //예전에 만들어주신건데 이대로 하면 되겠죠? 청산되면 entry1 == False, entry2 == False 이런 수식이면 제가 원하는대로 될 것 같기는 한데. 일단 만들어주시면 확인해봐야겠네요. 가동시간도 확인부탁드립니다. 변수로 조절할 수 있게 만들어 주시면 더 좋을 것 같습니다. 잘부탁드리겠습니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-04-24 13:47:31

안녕하세요 예스스탁입니다. input : 익절틱수(100),손절틱수(50), 진입틱수(50); input : tr_onoff(1),최소수익(50),감소수익(50); var : line1(0),line2(0); var : entry1(False),entry2(False); input : StartTime(213000),EndTime(055000); 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); } } line1 = (H+L)/2; line2 = ma(C,60); if entry1 == False and (CrossUp(line1, line2) or CrossDown(line1, line2)) Then { var1 = line1; entry1= True; } if entry1 == True and entry2 == False and c> var1 + 진입틱수*PriceScale and Tcond == true Then { Buy("b"); entry2 = True; } if entry1 == True and entry2 == False and c < var1 - 진입틱수*PriceScale and Tcond == true Then { Sell("s"); entry2 = True; } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); if tr_onoff == 1 Then SetStopTrailing(PriceScale*감소수익,PriceScale*최소수익,PointStop); if TotalTrades > TotalTrades[1] Then { entry1 == False; entry2 == False; } 즐거운 하루되세요 > 강장군 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다. > 안녕하세요. 항상 감사합니다. 지난주에 수식 요청드렸었는데 기대했던대로 작동이 안되어 다시한번 요청드립니다. 제가 설명을 잘못 드린 것 같아 보다 자세히 설명드리겠습니다. line1과 line2의 교차 매매인데 교차시에 바로진입을 하는 것이 아니고 위든 아래든 추세가 뚫릴 때 매매하는 것이 핵심입니다. 종목은 나스닥. 매매시간은 21:30~05:50 입니다. line1 = 단기 이평 line2 = 장기 이평 input : 익절틱수(100),손절틱수(50), 진입틱수(50); input : tr_onoff(1),최소수익(50),감소수익(50);#트레일링스탑 사용1, 미사용 0 var : line1(0),line2(0); var : entry1(False) entry2(False; //두 라인이 crossup 또는 crossdown 될 때 entry1 true, 청산시 false. 진입중이면 entry2 true, 청산시 false if entry1 == False and (CrossUp(line1, line2) or CrossDown(line1, line2)) Then { var1 = line1; entry1= True; } // 두 라인이 교차되면 crossup 이든 crossdown이든 일단 진입대기 상태가 된다. if entry1 == True and entry2 == False and 현재가 > var1 + 진입틱수 Then { Buy("b"); entry2 = True; } if entry1 == True and entry2 == False and 현재가 < var1 - 진입틱수 Then { Sell("s"); entry2 = True; // 진입대기 상태에서 두선의 교차가보다 진입틱수가 높으면 매수진입, 낮으면 매도 진입 // 이 상태에서는 아직 entry1을 False 만들면 안 될 듯. entry1이 False면 첫 번째 조건인 entry1 == False에 다시 진입하기 때문. SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); if tr_onoff == 1 Then SetStopTrailing(PriceScale*감소수익,PriceScale*최소수익,PointStop); //예전에 만들어주신건데 이대로 하면 되겠죠? 청산되면 entry1 == False, entry2 == False 이런 수식이면 제가 원하는대로 될 것 같기는 한데. 일단 만들어주시면 확인해봐야겠네요. 가동시간도 확인부탁드립니다. 변수로 조절할 수 있게 만들어 주시면 더 좋을 것 같습니다. 잘부탁드리겠습니다.