커뮤니티

문의드립니다.

프로필 이미지
잡다백수
2018-08-13 23:37:24
229
글번호 121335
답변완료
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 기타 트레일링스탑을 수익에 따라 비율적으로 점점 짧게 잡는 방법이 있을까요? 머리 굴려봐도 단계적으로 조건에 따라 몇틱 몇틱 지정하는 방법외에 없는 것 같은데요. 혹시 수익이 커질수록 트레일링스탑을 짧게 잡거나 크게 잡거나 하는 방법이 있을까요? input: TsValue(1); var: Hvalue(0),Lvalue(0); If MarketPosition() == 1 Then { Hvalue = Highest(H,BarsSinceEntry+1); ExitLong("trailstop_EL", Atstop, Hvalue-TsValue*PriceScale); } If MarketPosition() == -1 Then { Lvalue = Lowest(L,BarsSinceEntry+1); ExitShort("trailStop_Es", Atstop, Lvalue + TsValue*PriceScale); } 2. 기타 -5분봉 기준 -현재봉 끝시간을 기준으로 30분이 지났을 때(=6봉이 지났을 때) -30분봉 '봉 크기 절대값(H-L)'의 200개 평균 만큼 손절-익절 세팅 -60분이 지났을 때(=12봉이 지났을 때) -60분봉 200개의 '봉 크기 절대값'만큼 익절 세팅(손절은 30분 그대로) 3. 기타 아래 포인트 트레일링 스탑에 다음과 같은 조건 추가 부탁드립니다. -시작하자 마자일 때는 TsValue 포인트를 트레일링 스탑으로 설정 -30분 지난 뒤에는 -매수일 경우, 30분봉 '윗꼬리 절대값(H-C)'의 200개 평균값으로 트레일링스탑 값 세팅 -매도일 경우 30분봉 '아랫꼬리 절대값(C-L)'의 200개 평균값으로 트레일링스탑 값 세팅 input: TsValue(1); var: Hvalue(0),Lvalue(0); If MarketPosition() == 1 Then { Hvalue = Highest(H,BarsSinceEntry+1); ExitLong("trailstop_EL", Atstop, Hvalue-TsValue); } If MarketPosition() == -1 Then { Lvalue = Lowest(L,BarsSinceEntry+1); ExitShort("trailStop_Es", Atstop, Lvalue + TsValue); }
시스템
답변 4
프로필 이미지

예스스탁 예스스탁 답변

2018-08-14 10:36:54

안녕하세요 예스스탁입니다. 1 언급하신 내용과 같이 단계적으로 몇틱 몇틱 지정하는 방법외에는 없을것 같습니다. 2 문의하신 내용은 참조데이터를 이용해야 합니다. 수식에서 계산도 가능하지만 수식에서 계산하면 5분봉에서 30분,60분봉의 200개에 해당하는 데이터 갯수가 확보되기 전에는 신호가 발생하지 않아 자체적으로 계산하는 것은 의미가 없습니다. 5분봉 차트에 30분봉을 data2로.60분봉을 data3으로 추가하고 아래식 사용합니다. 물론 참조데이터를 이용하게 되므로 기존에 사용하는 수식내용도 data1처리를 별도로 해야 합니다. if MarketPosition == 1 Then { ExitLong("bl",AtStop,EntryPrice-data2(ma(H-L,200))); ExitLong("bp",AtLimit,EntryPrice+data3(ma(H-L,200))); } if MarketPosition == -1 Then { ExitShort("sl",AtStop,EntryPrice+data2(ma(H-L,200))); ExitShort("sp",AtLimit,EntryPrice-data3(ma(H-L,200))); } 3 30분봉을 참조데이터 data2로 추가하고 적용하셔야 합니다. input: TsValue(1); var: Hvalue(0,data1),Lvalue(0,data1); If MarketPosition() == 1 Then { Hvalue = data1(Highest(H,BarsSinceEntry+1)); if TimeToMinutes(stime) < TimeToMinutes(EntryTime)+30 Then ExitLong("trailstop_EL1", Atstop, Hvalue-TsValue*PriceScale); else ExitLong("trailstop_EL2", Atstop, Hvalue-data2(ma(H-C,200))); } If MarketPosition() == -1 Then { Lvalue = data1(Lowest(L,BarsSinceEntry+1)); if TimeToMinutes(stime) < TimeToMinutes(EntryTime)+30 Then ExitShort("trailStop_Es1", Atstop, Lvalue + TsValue*PriceScale); Else ExitShort("trailStop_Es2", Atstop, Lvalue + data2(ma(H-C,200))); } 즐거운 하루되세요 > 잡다백수 님이 쓴 글입니다. > 제목 : 문의드립니다. > 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 기타 트레일링스탑을 수익에 따라 비율적으로 점점 짧게 잡는 방법이 있을까요? 머리 굴려봐도 단계적으로 조건에 따라 몇틱 몇틱 지정하는 방법외에 없는 것 같은데요. 혹시 수익이 커질수록 트레일링스탑을 짧게 잡거나 크게 잡거나 하는 방법이 있을까요? input: TsValue(1); var: Hvalue(0),Lvalue(0); If MarketPosition() == 1 Then { Hvalue = Highest(H,BarsSinceEntry+1); ExitLong("trailstop_EL", Atstop, Hvalue-TsValue*PriceScale); } If MarketPosition() == -1 Then { Lvalue = Lowest(L,BarsSinceEntry+1); ExitShort("trailStop_Es", Atstop, Lvalue + TsValue*PriceScale); } 2. 기타 -5분봉 기준 -현재봉 끝시간을 기준으로 30분이 지났을 때(=6봉이 지났을 때) -30분봉 '봉 크기 절대값(H-L)'의 200개 평균 만큼 손절-익절 세팅 -60분이 지났을 때(=12봉이 지났을 때) -60분봉 200개의 '봉 크기 절대값'만큼 익절 세팅(손절은 30분 그대로) 3. 기타 아래 포인트 트레일링 스탑에 다음과 같은 조건 추가 부탁드립니다. -시작하자 마자일 때는 TsValue 포인트를 트레일링 스탑으로 설정 -30분 지난 뒤에는 -매수일 경우, 30분봉 '윗꼬리 절대값(H-C)'의 200개 평균값으로 트레일링스탑 값 세팅 -매도일 경우 30분봉 '아랫꼬리 절대값(C-L)'의 200개 평균값으로 트레일링스탑 값 세팅 input: TsValue(1); var: Hvalue(0),Lvalue(0); If MarketPosition() == 1 Then { Hvalue = Highest(H,BarsSinceEntry+1); ExitLong("trailstop_EL", Atstop, Hvalue-TsValue); } If MarketPosition() == -1 Then { Lvalue = Lowest(L,BarsSinceEntry+1); ExitShort("trailStop_Es", Atstop, Lvalue + TsValue); }
프로필 이미지

잡다백수

2018-08-14 11:08:42

코딩감사합니다. 3번 재질문 드립니다. -밑에 매도는 아랫꼬리로 요청 드린 부분은 data2(ma(H-C,200))를 data2(ma(C-L,200))로 바꾸면 되겠지요? input: TsValue(1); var: Hvalue(0,data1),Lvalue(0,data1); If MarketPosition() == 1 Then { Hvalue = data1(Highest(H,BarsSinceEntry+1)); if TimeToMinutes(stime) < TimeToMinutes(EntryTime)+30 Then ExitLong("trailstop_EL1", Atstop, Hvalue-TsValue*PriceScale); else ExitLong("trailstop_EL2", Atstop, Hvalue-data2(ma(H-C,200))); } If MarketPosition() == -1 Then { Lvalue = data1(Lowest(L,BarsSinceEntry+1)); if TimeToMinutes(stime) < TimeToMinutes(EntryTime)+30 Then ExitShort("trailStop_Es1", Atstop, Lvalue + TsValue*PriceScale); Else ExitShort("trailStop_Es2", Atstop, Lvalue + data2(ma(H-C,200))); } > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의드립니다. > 안녕하세요 예스스탁입니다. 1 언급하신 내용과 같이 단계적으로 몇틱 몇틱 지정하는 방법외에는 없을것 같습니다. 2 문의하신 내용은 참조데이터를 이용해야 합니다. 수식에서 계산도 가능하지만 수식에서 계산하면 5분봉에서 30분,60분봉의 200개에 해당하는 데이터 갯수가 확보되기 전에는 신호가 발생하지 않아 자체적으로 계산하는 것은 의미가 없습니다. 5분봉 차트에 30분봉을 data2로.60분봉을 data3으로 추가하고 아래식 사용합니다. 물론 참조데이터를 이용하게 되므로 기존에 사용하는 수식내용도 data1처리를 별도로 해야 합니다. if MarketPosition == 1 Then { ExitLong("bl",AtStop,EntryPrice-data2(ma(H-L,200))); ExitLong("bp",AtLimit,EntryPrice+data3(ma(H-L,200))); } if MarketPosition == -1 Then { ExitShort("sl",AtStop,EntryPrice+data2(ma(H-L,200))); ExitShort("sp",AtLimit,EntryPrice-data3(ma(H-L,200))); } 3 30분봉을 참조데이터 data2로 추가하고 적용하셔야 합니다. input: TsValue(1); var: Hvalue(0,data1),Lvalue(0,data1); If MarketPosition() == 1 Then { Hvalue = data1(Highest(H,BarsSinceEntry+1)); if TimeToMinutes(stime) < TimeToMinutes(EntryTime)+30 Then ExitLong("trailstop_EL1", Atstop, Hvalue-TsValue*PriceScale); else ExitLong("trailstop_EL2", Atstop, Hvalue-data2(ma(H-C,200))); } If MarketPosition() == -1 Then { Lvalue = data1(Lowest(L,BarsSinceEntry+1)); if TimeToMinutes(stime) < TimeToMinutes(EntryTime)+30 Then ExitShort("trailStop_Es1", Atstop, Lvalue + TsValue*PriceScale); Else ExitShort("trailStop_Es2", Atstop, Lvalue + data2(ma(H-C,200))); } 즐거운 하루되세요 > 잡다백수 님이 쓴 글입니다. > 제목 : 문의드립니다. > 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 기타 트레일링스탑을 수익에 따라 비율적으로 점점 짧게 잡는 방법이 있을까요? 머리 굴려봐도 단계적으로 조건에 따라 몇틱 몇틱 지정하는 방법외에 없는 것 같은데요. 혹시 수익이 커질수록 트레일링스탑을 짧게 잡거나 크게 잡거나 하는 방법이 있을까요? input: TsValue(1); var: Hvalue(0),Lvalue(0); If MarketPosition() == 1 Then { Hvalue = Highest(H,BarsSinceEntry+1); ExitLong("trailstop_EL", Atstop, Hvalue-TsValue*PriceScale); } If MarketPosition() == -1 Then { Lvalue = Lowest(L,BarsSinceEntry+1); ExitShort("trailStop_Es", Atstop, Lvalue + TsValue*PriceScale); } 2. 기타 -5분봉 기준 -현재봉 끝시간을 기준으로 30분이 지났을 때(=6봉이 지났을 때) -30분봉 '봉 크기 절대값(H-L)'의 200개 평균 만큼 손절-익절 세팅 -60분이 지났을 때(=12봉이 지났을 때) -60분봉 200개의 '봉 크기 절대값'만큼 익절 세팅(손절은 30분 그대로) 3. 기타 아래 포인트 트레일링 스탑에 다음과 같은 조건 추가 부탁드립니다. -시작하자 마자일 때는 TsValue 포인트를 트레일링 스탑으로 설정 -30분 지난 뒤에는 -매수일 경우, 30분봉 '윗꼬리 절대값(H-C)'의 200개 평균값으로 트레일링스탑 값 세팅 -매도일 경우 30분봉 '아랫꼬리 절대값(C-L)'의 200개 평균값으로 트레일링스탑 값 세팅 input: TsValue(1); var: Hvalue(0),Lvalue(0); If MarketPosition() == 1 Then { Hvalue = Highest(H,BarsSinceEntry+1); ExitLong("trailstop_EL", Atstop, Hvalue-TsValue); } If MarketPosition() == -1 Then { Lvalue = Lowest(L,BarsSinceEntry+1); ExitShort("trailStop_Es", Atstop, Lvalue + TsValue); }
프로필 이미지

예스스탁 예스스탁 답변

2018-08-14 11:25:07

안녕하세요 예스스탁입니다. 예 말씀하신내용을 변경하시면 됩니다. 즐거운 하루되세요 > 잡다백수 님이 쓴 글입니다. > 제목 : Re : Re : 문의드립니다. > 코딩감사합니다. 3번 재질문 드립니다. -밑에 매도는 아랫꼬리로 요청 드린 부분은 data2(ma(H-C,200))를 data2(ma(C-L,200))로 바꾸면 되겠지요? input: TsValue(1); var: Hvalue(0,data1),Lvalue(0,data1); If MarketPosition() == 1 Then { Hvalue = data1(Highest(H,BarsSinceEntry+1)); if TimeToMinutes(stime) < TimeToMinutes(EntryTime)+30 Then ExitLong("trailstop_EL1", Atstop, Hvalue-TsValue*PriceScale); else ExitLong("trailstop_EL2", Atstop, Hvalue-data2(ma(H-C,200))); } If MarketPosition() == -1 Then { Lvalue = data1(Lowest(L,BarsSinceEntry+1)); if TimeToMinutes(stime) < TimeToMinutes(EntryTime)+30 Then ExitShort("trailStop_Es1", Atstop, Lvalue + TsValue*PriceScale); Else ExitShort("trailStop_Es2", Atstop, Lvalue + data2(ma(H-C,200))); } > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의드립니다. > 안녕하세요 예스스탁입니다. 1 언급하신 내용과 같이 단계적으로 몇틱 몇틱 지정하는 방법외에는 없을것 같습니다. 2 문의하신 내용은 참조데이터를 이용해야 합니다. 수식에서 계산도 가능하지만 수식에서 계산하면 5분봉에서 30분,60분봉의 200개에 해당하는 데이터 갯수가 확보되기 전에는 신호가 발생하지 않아 자체적으로 계산하는 것은 의미가 없습니다. 5분봉 차트에 30분봉을 data2로.60분봉을 data3으로 추가하고 아래식 사용합니다. 물론 참조데이터를 이용하게 되므로 기존에 사용하는 수식내용도 data1처리를 별도로 해야 합니다. if MarketPosition == 1 Then { ExitLong("bl",AtStop,EntryPrice-data2(ma(H-L,200))); ExitLong("bp",AtLimit,EntryPrice+data3(ma(H-L,200))); } if MarketPosition == -1 Then { ExitShort("sl",AtStop,EntryPrice+data2(ma(H-L,200))); ExitShort("sp",AtLimit,EntryPrice-data3(ma(H-L,200))); } 3 30분봉을 참조데이터 data2로 추가하고 적용하셔야 합니다. input: TsValue(1); var: Hvalue(0,data1),Lvalue(0,data1); If MarketPosition() == 1 Then { Hvalue = data1(Highest(H,BarsSinceEntry+1)); if TimeToMinutes(stime) < TimeToMinutes(EntryTime)+30 Then ExitLong("trailstop_EL1", Atstop, Hvalue-TsValue*PriceScale); else ExitLong("trailstop_EL2", Atstop, Hvalue-data2(ma(H-C,200))); } If MarketPosition() == -1 Then { Lvalue = data1(Lowest(L,BarsSinceEntry+1)); if TimeToMinutes(stime) < TimeToMinutes(EntryTime)+30 Then ExitShort("trailStop_Es1", Atstop, Lvalue + TsValue*PriceScale); Else ExitShort("trailStop_Es2", Atstop, Lvalue + data2(ma(H-C,200))); } 즐거운 하루되세요 > 잡다백수 님이 쓴 글입니다. > 제목 : 문의드립니다. > 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 기타 트레일링스탑을 수익에 따라 비율적으로 점점 짧게 잡는 방법이 있을까요? 머리 굴려봐도 단계적으로 조건에 따라 몇틱 몇틱 지정하는 방법외에 없는 것 같은데요. 혹시 수익이 커질수록 트레일링스탑을 짧게 잡거나 크게 잡거나 하는 방법이 있을까요? input: TsValue(1); var: Hvalue(0),Lvalue(0); If MarketPosition() == 1 Then { Hvalue = Highest(H,BarsSinceEntry+1); ExitLong("trailstop_EL", Atstop, Hvalue-TsValue*PriceScale); } If MarketPosition() == -1 Then { Lvalue = Lowest(L,BarsSinceEntry+1); ExitShort("trailStop_Es", Atstop, Lvalue + TsValue*PriceScale); } 2. 기타 -5분봉 기준 -현재봉 끝시간을 기준으로 30분이 지났을 때(=6봉이 지났을 때) -30분봉 '봉 크기 절대값(H-L)'의 200개 평균 만큼 손절-익절 세팅 -60분이 지났을 때(=12봉이 지났을 때) -60분봉 200개의 '봉 크기 절대값'만큼 익절 세팅(손절은 30분 그대로) 3. 기타 아래 포인트 트레일링 스탑에 다음과 같은 조건 추가 부탁드립니다. -시작하자 마자일 때는 TsValue 포인트를 트레일링 스탑으로 설정 -30분 지난 뒤에는 -매수일 경우, 30분봉 '윗꼬리 절대값(H-C)'의 200개 평균값으로 트레일링스탑 값 세팅 -매도일 경우 30분봉 '아랫꼬리 절대값(C-L)'의 200개 평균값으로 트레일링스탑 값 세팅 input: TsValue(1); var: Hvalue(0),Lvalue(0); If MarketPosition() == 1 Then { Hvalue = Highest(H,BarsSinceEntry+1); ExitLong("trailstop_EL", Atstop, Hvalue-TsValue); } If MarketPosition() == -1 Then { Lvalue = Lowest(L,BarsSinceEntry+1); ExitShort("trailStop_Es", Atstop, Lvalue + TsValue); }
프로필 이미지

잡다백수

2018-08-14 11:38:05

2번 수식 보다가 헷갈려서 질문드립니다. 여기 수식에 30분 지났을 때, 60분 지났을 때(60분 지났을 때 손절은 30분 그대로)란 수식이 포함돼 있는 건가요? 혹은 그렇게 하는 거나 그냥 하는 거나 시스템적으로 별 차이가 없어서 스킵하신 건지요. 혹시 후자라면 일부러 나누어 놓은 조건이니 추가 좀 부탁드립니다. -30분봉 '봉 크기 절대값(H-L)'의 200개 평균 만큼 손절-익절 세팅 -60분이 지났을 때(=12봉이 지났을 때) -60분봉 200개의 '봉 크기 절대값'만큼 익절 세팅(손절은 30분 그대로) if MarketPosition == 1 Then { ExitLong("bl",AtStop,EntryPrice-data2(ma(H-L,200))); ExitLong("bp",AtLimit,EntryPrice+data3(ma(H-L,200))); } if MarketPosition == -1 Then { ExitShort("sl",AtStop,EntryPrice+data2(ma(H-L,200))); ExitShort("sp",AtLimit,EntryPrice-data3(ma(H-L,200))); } > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의드립니다. > 안녕하세요 예스스탁입니다. 1 언급하신 내용과 같이 단계적으로 몇틱 몇틱 지정하는 방법외에는 없을것 같습니다. 2 문의하신 내용은 참조데이터를 이용해야 합니다. 수식에서 계산도 가능하지만 수식에서 계산하면 5분봉에서 30분,60분봉의 200개에 해당하는 데이터 갯수가 확보되기 전에는 신호가 발생하지 않아 자체적으로 계산하는 것은 의미가 없습니다. 5분봉 차트에 30분봉을 data2로.60분봉을 data3으로 추가하고 아래식 사용합니다. 물론 참조데이터를 이용하게 되므로 기존에 사용하는 수식내용도 data1처리를 별도로 해야 합니다. if MarketPosition == 1 Then { ExitLong("bl",AtStop,EntryPrice-data2(ma(H-L,200))); ExitLong("bp",AtLimit,EntryPrice+data3(ma(H-L,200))); } if MarketPosition == -1 Then { ExitShort("sl",AtStop,EntryPrice+data2(ma(H-L,200))); ExitShort("sp",AtLimit,EntryPrice-data3(ma(H-L,200))); } 3 30분봉을 참조데이터 data2로 추가하고 적용하셔야 합니다. input: TsValue(1); var: Hvalue(0,data1),Lvalue(0,data1); If MarketPosition() == 1 Then { Hvalue = data1(Highest(H,BarsSinceEntry+1)); if TimeToMinutes(stime) < TimeToMinutes(EntryTime)+30 Then ExitLong("trailstop_EL1", Atstop, Hvalue-TsValue*PriceScale); else ExitLong("trailstop_EL2", Atstop, Hvalue-data2(ma(H-C,200))); } If MarketPosition() == -1 Then { Lvalue = data1(Lowest(L,BarsSinceEntry+1)); if TimeToMinutes(stime) < TimeToMinutes(EntryTime)+30 Then ExitShort("trailStop_Es1", Atstop, Lvalue + TsValue*PriceScale); Else ExitShort("trailStop_Es2", Atstop, Lvalue + data2(ma(H-C,200))); } 즐거운 하루되세요 > 잡다백수 님이 쓴 글입니다. > 제목 : 문의드립니다. > 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 기타 트레일링스탑을 수익에 따라 비율적으로 점점 짧게 잡는 방법이 있을까요? 머리 굴려봐도 단계적으로 조건에 따라 몇틱 몇틱 지정하는 방법외에 없는 것 같은데요. 혹시 수익이 커질수록 트레일링스탑을 짧게 잡거나 크게 잡거나 하는 방법이 있을까요? input: TsValue(1); var: Hvalue(0),Lvalue(0); If MarketPosition() == 1 Then { Hvalue = Highest(H,BarsSinceEntry+1); ExitLong("trailstop_EL", Atstop, Hvalue-TsValue*PriceScale); } If MarketPosition() == -1 Then { Lvalue = Lowest(L,BarsSinceEntry+1); ExitShort("trailStop_Es", Atstop, Lvalue + TsValue*PriceScale); } 2. 기타 -5분봉 기준 -현재봉 끝시간을 기준으로 30분이 지났을 때(=6봉이 지났을 때) -30분봉 '봉 크기 절대값(H-L)'의 200개 평균 만큼 손절-익절 세팅 -60분이 지났을 때(=12봉이 지났을 때) -60분봉 200개의 '봉 크기 절대값'만큼 익절 세팅(손절은 30분 그대로) 3. 기타 아래 포인트 트레일링 스탑에 다음과 같은 조건 추가 부탁드립니다. -시작하자 마자일 때는 TsValue 포인트를 트레일링 스탑으로 설정 -30분 지난 뒤에는 -매수일 경우, 30분봉 '윗꼬리 절대값(H-C)'의 200개 평균값으로 트레일링스탑 값 세팅 -매도일 경우 30분봉 '아랫꼬리 절대값(C-L)'의 200개 평균값으로 트레일링스탑 값 세팅 input: TsValue(1); var: Hvalue(0),Lvalue(0); If MarketPosition() == 1 Then { Hvalue = Highest(H,BarsSinceEntry+1); ExitLong("trailstop_EL", Atstop, Hvalue-TsValue); } If MarketPosition() == -1 Then { Lvalue = Lowest(L,BarsSinceEntry+1); ExitShort("trailStop_Es", Atstop, Lvalue + TsValue); }