커뮤니티

시스템 점검 바랍니다

프로필 이미지
vlfaud3
2019-03-13 15:50:26
258
글번호 127042
답변완료
렌꼬 시스템인데요 시간제한과 목표이익및 기타 이익표시가 전혀 반영이 안되고 있습니다 잘못된곳 수정 부탁 드립니다 감사 합니다. input : vSSTIME(090000), vEETIME(150000); Vars : TCOND(False); If vSSTIME < vEETIME Then Begin IF vSSTIME <= TIME And TIME < vEETIME Then TCOND = True; Else TCOND = False; End Else Begin IF vSSTIME <= TIME Or TIME < vEETIME Then TCOND = True; Else TCOND = False; End; input:단위호가(18); var:j(0),벽돌크기(0),벽돌개수(0),방향(0),상승(100),하락(-100),저항선(0),지지선(0); array:고[20](0),저[20](0), 고Bar[20](0),저Bar[20](0); // Index 개념이 아닌 벽돌개수.지지,저항선 계산시 사용 If TCOND Then If Index == 0 || Date <= 2016 Then { 벽돌크기 = PriceScale * 단위호가; 고[1] = C; 고Bar[1] = 0; 저[1] = C; 저Bar[1] = 0; } If 방향 == 0 Then { If 저[1] - 벽돌크기 >= C Then { 벽돌개수 = Int((저[1] - C)/벽돌크기); 저[1] = 저[1] - (벽돌크기 * 벽돌개수); 저Bar[1] = 0; 방향 = 하락; } Else If 고[1] + 벽돌크기 <= C Then { 벽돌개수 = Int((C - 고[1])/벽돌크기); 고[1] = 고[1] + (벽돌크기 * 벽돌개수); 고Bar[1] = 0; 방향 = 상승; } } Else If 방향 == 하락 Then { If 저[1] - 벽돌크기 >= C Then { 벽돌개수 = Int((저[1] - C)/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } 저[1] = 저[1] - (벽돌크기 * 벽돌개수); 저Bar[1] = 0; } If 저[1] + 2*벽돌크기 <= C Then { 벽돌개수 = Int((C - 저[1])/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 저[1] + (벽돌크기 * 벽돌개수); 고Bar[1] = 0; 방향 = 상승; } } Else If 방향 == 상승 Then { If 고[1] + 벽돌크기 <= C Then { 벽돌개수 = Int((C - 고[1])/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } 고[1] = 고[1] + (벽돌크기 * 벽돌개수); 고Bar[1] = 0; } If 고[1] - 2*벽돌크기 >= C Then { 벽돌개수 = Int((고[1] - C)/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 고[1] - (벽돌크기 * 벽돌개수); 저Bar[1] = 0; 방향 = 하락; } } If TCOND Then Begin if 방향 == 상승 then Buy("돌파"); if 방향 == 하락 and 저[0]<저항선 then ExitLong("청산"); if 방향 == 하락 then Sell("돌파"); if 방향 == 상승 and 고[0]>지지선 then ExitShort("청산"); //////////////////////////////////////////////////////////////////////////////////////// Inputs: MyProfitTargetPercent(0.3); //////////////////////////////////////////////////////////////////////////////////////// Inputs: MyPercentTrailingBefore(0.2), MyPercentTrailingAfter(10); End; SetStopEndofday(0);
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2019-03-14 13:36:15

안녕하세요 예스스탁입니다. 1 Tcond자체는 구간에 맞게 true/false가 리턴되고 있습니다. 수식 상단에 불필요하게 Tcond로 제어되는 부분이 있어 삭제했습니다. 2 수식안에 목표수익등은 지정된 내용이 없습니다. MyProfitTargetPercent등으로 수식에 외부변수만 있고 처리된 내용이 없어 해당 값으로 익절과 트레일링청산 추가했습니다. 3 input : vSSTIME(090000), vEETIME(150000); Vars : TCOND(False); If vSSTIME < vEETIME Then Begin IF vSSTIME <= TIME And TIME < vEETIME Then TCOND = True; Else TCOND = False; End Else Begin IF vSSTIME <= TIME Or TIME < vEETIME Then TCOND = True; Else TCOND = False; End; input:단위호가(18); var:j(0),벽돌크기(0),벽돌개수(0),방향(0),상승(100),하락(-100),저항선(0),지지선(0); array:고[20](0),저[20](0), 고Bar[20](0),저Bar[20](0); // Index 개념이 아닌 벽돌개수.지지,저항선 계산시 사용 If Index == 0 || Date <= 20160101 Then { 벽돌크기 = PriceScale * 단위호가; 고[1] = C; 고Bar[1] = 0; 저[1] = C; 저Bar[1] = 0; } If 방향 == 0 Then { If 저[1] - 벽돌크기 >= C Then { 벽돌개수 = Int((저[1] - C)/벽돌크기); 저[1] = 저[1] - (벽돌크기 * 벽돌개수); 저Bar[1] = 0; 방향 = 하락; } Else If 고[1] + 벽돌크기 <= C Then { 벽돌개수 = Int((C - 고[1])/벽돌크기); 고[1] = 고[1] + (벽돌크기 * 벽돌개수); 고Bar[1] = 0; 방향 = 상승; } } Else If 방향 == 하락 Then { If 저[1] - 벽돌크기 >= C Then { 벽돌개수 = Int((저[1] - C)/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } 저[1] = 저[1] - (벽돌크기 * 벽돌개수); 저Bar[1] = 0; } If 저[1] + 2*벽돌크기 <= C Then { 벽돌개수 = Int((C - 저[1])/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 저[1] + (벽돌크기 * 벽돌개수); 고Bar[1] = 0; 방향 = 상승; } } Else If 방향 == 상승 Then { If 고[1] + 벽돌크기 <= C Then { 벽돌개수 = Int((C - 고[1])/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } 고[1] = 고[1] + (벽돌크기 * 벽돌개수); 고Bar[1] = 0; } If 고[1] - 2*벽돌크기 >= C Then { 벽돌개수 = Int((고[1] - C)/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 고[1] - (벽돌크기 * 벽돌개수); 저Bar[1] = 0; 방향 = 하락; } } If TCOND Then Begin if 방향 == 상승 then Buy("돌파매수"); if 방향 == 하락 and 저[0]<저항선 then ExitLong("매수청산"); if 방향 == 하락 then Sell("돌파매도"); if 방향 == 상승 and 고[0]>지지선 then ExitShort("매도청산"); End; //////////////////////////////////////////////////////////////////////////////////////// Inputs: MyProfitTargetPercent(0.3); //////////////////////////////////////////////////////////////////////////////////////// Inputs: MyPercentTrailingBefore(0.2), MyPercentTrailingAfter(10); SetStopProfittarget( MyProfitTargetPercent,PercentStop); SetStopTrailing(MyPercentTrailingAfter,MyPercentTrailingBefore,PercentStop,0); SetStopEndofday(0); 즐거운 하루되세요 > vlfaud3 님이 쓴 글입니다. > 제목 : 시스템 점검 바랍니다 > 렌꼬 시스템인데요 시간제한과 목표이익및 기타 이익표시가 전혀 반영이 안되고 있습니다 잘못된곳 수정 부탁 드립니다 감사 합니다. input : vSSTIME(090000), vEETIME(150000); Vars : TCOND(False); If vSSTIME < vEETIME Then Begin IF vSSTIME <= TIME And TIME < vEETIME Then TCOND = True; Else TCOND = False; End Else Begin IF vSSTIME <= TIME Or TIME < vEETIME Then TCOND = True; Else TCOND = False; End; input:단위호가(18); var:j(0),벽돌크기(0),벽돌개수(0),방향(0),상승(100),하락(-100),저항선(0),지지선(0); array:고[20](0),저[20](0), 고Bar[20](0),저Bar[20](0); // Index 개념이 아닌 벽돌개수.지지,저항선 계산시 사용 If TCOND Then If Index == 0 || Date <= 2016 Then { 벽돌크기 = PriceScale * 단위호가; 고[1] = C; 고Bar[1] = 0; 저[1] = C; 저Bar[1] = 0; } If 방향 == 0 Then { If 저[1] - 벽돌크기 >= C Then { 벽돌개수 = Int((저[1] - C)/벽돌크기); 저[1] = 저[1] - (벽돌크기 * 벽돌개수); 저Bar[1] = 0; 방향 = 하락; } Else If 고[1] + 벽돌크기 <= C Then { 벽돌개수 = Int((C - 고[1])/벽돌크기); 고[1] = 고[1] + (벽돌크기 * 벽돌개수); 고Bar[1] = 0; 방향 = 상승; } } Else If 방향 == 하락 Then { If 저[1] - 벽돌크기 >= C Then { 벽돌개수 = Int((저[1] - C)/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } 저[1] = 저[1] - (벽돌크기 * 벽돌개수); 저Bar[1] = 0; } If 저[1] + 2*벽돌크기 <= C Then { 벽돌개수 = Int((C - 저[1])/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 저[1] + (벽돌크기 * 벽돌개수); 고Bar[1] = 0; 방향 = 상승; } } Else If 방향 == 상승 Then { If 고[1] + 벽돌크기 <= C Then { 벽돌개수 = Int((C - 고[1])/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } 고[1] = 고[1] + (벽돌크기 * 벽돌개수); 고Bar[1] = 0; } If 고[1] - 2*벽돌크기 >= C Then { 벽돌개수 = Int((고[1] - C)/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 고[1] - (벽돌크기 * 벽돌개수); 저Bar[1] = 0; 방향 = 하락; } } If TCOND Then Begin if 방향 == 상승 then Buy("돌파"); if 방향 == 하락 and 저[0]<저항선 then ExitLong("청산"); if 방향 == 하락 then Sell("돌파"); if 방향 == 상승 and 고[0]>지지선 then ExitShort("청산"); //////////////////////////////////////////////////////////////////////////////////////// Inputs: MyProfitTargetPercent(0.3); //////////////////////////////////////////////////////////////////////////////////////// Inputs: MyPercentTrailingBefore(0.2), MyPercentTrailingAfter(10); End; SetStopEndofday(0);
프로필 이미지

vlfaud3

2019-03-14 14:03:41

답변 감사합니다. 적용을 시킨결과 시간제한 09:00 - 15:00:00 까지 매매하고 강제청산되는것은 전혀 반응이 안되고 있습니다 왜그러는지요? 개선 부탁 드립니다. 감사합니다.
프로필 이미지

예스스탁 예스스탁 답변

2019-03-14 14:19:07

안녕하세요 예스스탁입니다. 기존수식에 당일청산의 인자가 0으로 사용하지 않는 것으로 되어 있습니다. vEETIME시간으로 청된되게 수정해 드립니다. input : vSSTIME(090000), vEETIME(150000); Vars : TCOND(False); If vSSTIME < vEETIME Then Begin IF vSSTIME <= TIME And TIME < vEETIME Then TCOND = True; Else TCOND = False; End Else Begin IF vSSTIME <= TIME Or TIME < vEETIME Then TCOND = True; Else TCOND = False; End; input:단위호가(18); var:j(0),벽돌크기(0),벽돌개수(0),방향(0),상승(100),하락(-100),저항선(0),지지선(0); array:고[20](0),저[20](0), 고Bar[20](0),저Bar[20](0); // Index 개념이 아닌 벽돌개수.지지,저항선 계산시 사용 If Index == 0 || Date <= 20160101 Then { 벽돌크기 = PriceScale * 단위호가; 고[1] = C; 고Bar[1] = 0; 저[1] = C; 저Bar[1] = 0; } If 방향 == 0 Then { If 저[1] - 벽돌크기 >= C Then { 벽돌개수 = Int((저[1] - C)/벽돌크기); 저[1] = 저[1] - (벽돌크기 * 벽돌개수); 저Bar[1] = 0; 방향 = 하락; } Else If 고[1] + 벽돌크기 <= C Then { 벽돌개수 = Int((C - 고[1])/벽돌크기); 고[1] = 고[1] + (벽돌크기 * 벽돌개수); 고Bar[1] = 0; 방향 = 상승; } } Else If 방향 == 하락 Then { If 저[1] - 벽돌크기 >= C Then { 벽돌개수 = Int((저[1] - C)/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } 저[1] = 저[1] - (벽돌크기 * 벽돌개수); 저Bar[1] = 0; } If 저[1] + 2*벽돌크기 <= C Then { 벽돌개수 = Int((C - 저[1])/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 저[1] + (벽돌크기 * 벽돌개수); 고Bar[1] = 0; 방향 = 상승; } } Else If 방향 == 상승 Then { If 고[1] + 벽돌크기 <= C Then { 벽돌개수 = Int((C - 고[1])/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } 고[1] = 고[1] + (벽돌크기 * 벽돌개수); 고Bar[1] = 0; } If 고[1] - 2*벽돌크기 >= C Then { 벽돌개수 = Int((고[1] - C)/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 고[1] - (벽돌크기 * 벽돌개수); 저Bar[1] = 0; 방향 = 하락; } } If TCOND Then Begin if 방향 == 상승 then Buy("돌파매수"); if 방향 == 하락 and 저[0]<저항선 then ExitLong("매수청산"); if 방향 == 하락 then Sell("돌파매도"); if 방향 == 상승 and 고[0]>지지선 then ExitShort("매도청산"); End; //////////////////////////////////////////////////////////////////////////////////////// Inputs: MyProfitTargetPercent(0.3); //////////////////////////////////////////////////////////////////////////////////////// Inputs: MyPercentTrailingBefore(0.2), MyPercentTrailingAfter(10); SetStopProfittarget( MyProfitTargetPercent,PercentStop); SetStopTrailing(MyPercentTrailingAfter,MyPercentTrailingBefore,PercentStop,0); if vSSTIME < vEETIME Then { SetStopEndofday(vEETIME); } Else { if sdate != sdate[1] Then SetStopEndofday(vEETIME); if TCOND == True and Tcond[1] Then SetStopEndofday(0); } 즐거운 하루되세요 > vlfaud3 님이 쓴 글입니다. > 제목 : 재문의 합니다 > 답변 감사합니다. 적용을 시킨결과 시간제한 09:00 - 15:00:00 까지 매매하고 강제청산되는것은 전혀 반응이 안되고 있습니다 왜그러는지요? 개선 부탁 드립니다. 감사합니다.