커뮤니티

왜 수식이 제대로 적용이 안되는지 모르겠네요

프로필 이미지
태양의제국
2015-07-08 10:37:40
143
글번호 88159
답변완료
안녕하세요 예스스탁입니다. 시간조건을 잘못지정했습니다. 수정한 식입니다. 수식에 주석을 붙여드립니다. input : 익절틱수(20); var : entry(0); #7시에 #시가저장 #당일 진입횟수 0으로 초기화 if stime == 070000 or (stime > 070000 and stime < 070000) Then{ var1 = O; entry = 0; } #새로운 포지션에 진입하면 1씩 증가 if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; #당일 첫번째 진입(7시~다음날 5시 50분 이전) if MarketPosition == 0 and entry == 0 and var1 > 0 and (stime >= 070000 or stime < 055500) Then{ #종가가 시가보다 크면 매수 if C > var1 Then buy("b"); #종가가 시가보다 작으면 매도 if C < var1 Then sell("s"); } #당일 첫진입 발생 후 (7시~다음날 5시 50분 이전) if entry >= 1 and (stime >= 070000 or stime < 055500) Then{ #현재 무포지션이고 직전 거래가 매수고 목표수익으로 끝났으면 #직전 청산가보다 10틱이상 하락하고 종가는 시가 이상이면 매수 if MarketPosition == 0 and MarketPosition(1) == 1 and IsExitName("StopProfitTarget",1) == true and C <= ExitPrice(1)-PriceScale*10 and C > var1 Then buy("bb"); #현재 무포지션이고 직전 거래가 매도고 목표수익으로 끝났으면 #직전 청산가보다 10틱이상 상승하고 종가는 시가 이하이면 매도 if MarketPosition == 0 and MarketPosition(1) == -1 and IsExitName("StopProfitTarget",1) == true and C >= ExitPrice(1)+PriceScale*10 and C < var1 Then Sell("ss"); #매도포지션이거나 무포지션인데 직전거래가 목표수익으로 끝나지 않았으면 #시가 상향돌파하면 매수 if MarketPosition == -1 or (MarketPosition == 0 and IsExitName("StopProfitTarget",1) == false) and crossup(c,var1) Then buy(); #매도포지션이거나 무포지션인데 직전거래가 목표수익으로 끝나지 않았으면 #시가 하향이탈하면 매도 if MarketPosition == 1 or (MarketPosition == 0 and IsExitName("StopProfitTarget",1) == false) and CrossDown(c,var1) Then Sell(); } #10틱 수익청산 SetStopProfittarget(PriceScale*익절틱수,PointStop); 즐거운 하루되세요 아래의 조건을 만족하는 수식을 만들어 주셨음 좋겠습니다. -장운영시간: 07:00 ~ 익일 05:55분 까지 이며, 05:55분에 보유 물량 전량 강제 정리후 모든 진입금지. -이익청산 목표가는 매수 또는 매도 진입가 대비 20틱이며 목표가 도달시 강제청산 -최초의 거래는 현재가가 시가보다 높으면 매수, 낮으면 매도 -최초 매수 또는 매도 후 목표가 도달하여 강제 청산시 동일봉 재진입 금지하며, -최초 매수 또는 매도 후 목표가 청산후 재진입은 아래의 조건이 충족 될때만 매수 또는 매도 진입 1. 최초 매수에서 목표가 강제 청산일 경우 현재가가 강제 청산가 보다 10틱 아래이면서, 현재가가 시가보다 위에 있을때 재 매수. 2. 최초 매도에서 목표가 강제 청산일 경우 현재가가 강제 청산가 보다 10틱 위에이며, 현재가가 시가보다 아래에 있을때 재 매도. -최초 매수 또는 매도 거래 후 모든 진입은 위 매수 또는 매도 조건이 충족 될때만 진입하며, -현재가가 시가아래에서 시가을 돌파 할 경우 또는 현재가가 시가 위에서 시가 아래로 돌파 할 경우는 최초의 매수조건을 따라가며, 그 이후의 매수조건은 위의 2가지 조건을 충족 할 경우에만 진입.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-07-08 13:45:49

안녕하세요 예스스탁입니다. 식을 수정했습니다. 해당식 적용해 보시고 의도와 다른부분 있으시면 전화주시기 바랍니다. 02-3453-1060 input : 익절틱수(20); var : entry(0); #7시에 #시가저장 #당일 진입횟수 0으로 초기화 if stime == 070000 or (stime > 070000 and stime[1] < 070000) Then{ var1 = O; entry = 0; Condition1 = false; } #새로운 포지션에 진입하면 1씩 증가 if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; if MarketPosition != 0 Then Condition1 = true; #당일 첫번째 진입(7시~다음날 5시 50분 이전) if MarketPosition == 0 and entry == 0 and var1 > 0 and (stime >= 070000 or stime < 055500) and Condition1 == false Then{ #종가가 시가보다 크면 매수 if C > var1 Then buy("b"); #종가가 시가보다 작으면 매도 if C < var1 Then sell("s"); } #당일 첫진입 발생 후 (7시~다음날 5시 50분 이전) if entry >= 1 and (stime >= 070000 or stime < 055500) Then{ #현재 무포지션이고 직전 거래가 매수고 목표수익으로 끝났으면 #직전 청산가보다 10틱이상 하락하고 종가는 시가 이상이면 매수 if MarketPosition == 0 and MarketPosition(1) == 1 and BarsSinceExit(1) > 0 and IsExitName("StopProfitTarget",1) == true and C <= ExitPrice(1)-PriceScale*10 and C > var1 Then buy("bb"); #현재 무포지션이고 직전 거래가 매도고 목표수익으로 끝났으면 #직전 청산가보다 10틱이상 상승하고 종가는 시가 이하이면 매도 if MarketPosition == 0 and MarketPosition(1) == -1 and BarsSinceExit(1) > 0 and IsExitName("StopProfitTarget",1) == true and C >= ExitPrice(1)+PriceScale*10 and C < var1 Then Sell("ss"); #매도포지션이거나 무포지션인데 직전거래가 목표수익으로 끝나지 않았으면 #시가 상향돌파하면 매수 if (MarketPosition == -1 or (MarketPosition == 0 and IsExitName("StopProfitTarget",1) == false)) and crossup(c,var1) Then buy(); #매도포지션이거나 무포지션인데 직전거래가 목표수익으로 끝나지 않았으면 #시가 하향이탈하면 매도 if (MarketPosition == 1 or (MarketPosition == 0 and IsExitName("StopProfitTarget",1) == false)) and CrossDown(c,var1) Then Sell(); } #10틱 수익청산 SetStopProfittarget(PriceScale*익절틱수,PointStop); 즐거운 하루되세요 > 태양의제국 님이 쓴 글입니다. > 제목 : 왜 수식이 제대로 적용이 안되는지 모르겠네요 > 안녕하세요 예스스탁입니다. 시간조건을 잘못지정했습니다. 수정한 식입니다. 수식에 주석을 붙여드립니다. input : 익절틱수(20); var : entry(0); #7시에 #시가저장 #당일 진입횟수 0으로 초기화 if stime == 070000 or (stime > 070000 and stime < 070000) Then{ var1 = O; entry = 0; } #새로운 포지션에 진입하면 1씩 증가 if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; #당일 첫번째 진입(7시~다음날 5시 50분 이전) if MarketPosition == 0 and entry == 0 and var1 > 0 and (stime >= 070000 or stime < 055500) Then{ #종가가 시가보다 크면 매수 if C > var1 Then buy("b"); #종가가 시가보다 작으면 매도 if C < var1 Then sell("s"); } #당일 첫진입 발생 후 (7시~다음날 5시 50분 이전) if entry >= 1 and (stime >= 070000 or stime < 055500) Then{ #현재 무포지션이고 직전 거래가 매수고 목표수익으로 끝났으면 #직전 청산가보다 10틱이상 하락하고 종가는 시가 이상이면 매수 if MarketPosition == 0 and MarketPosition(1) == 1 and IsExitName("StopProfitTarget",1) == true and C <= ExitPrice(1)-PriceScale*10 and C > var1 Then buy("bb"); #현재 무포지션이고 직전 거래가 매도고 목표수익으로 끝났으면 #직전 청산가보다 10틱이상 상승하고 종가는 시가 이하이면 매도 if MarketPosition == 0 and MarketPosition(1) == -1 and IsExitName("StopProfitTarget",1) == true and C >= ExitPrice(1)+PriceScale*10 and C < var1 Then Sell("ss"); #매도포지션이거나 무포지션인데 직전거래가 목표수익으로 끝나지 않았으면 #시가 상향돌파하면 매수 if MarketPosition == -1 or (MarketPosition == 0 and IsExitName("StopProfitTarget",1) == false) and crossup(c,var1) Then buy(); #매도포지션이거나 무포지션인데 직전거래가 목표수익으로 끝나지 않았으면 #시가 하향이탈하면 매도 if MarketPosition == 1 or (MarketPosition == 0 and IsExitName("StopProfitTarget",1) == false) and CrossDown(c,var1) Then Sell(); } #10틱 수익청산 SetStopProfittarget(PriceScale*익절틱수,PointStop); 즐거운 하루되세요 아래의 조건을 만족하는 수식을 만들어 주셨음 좋겠습니다. -장운영시간: 07:00 ~ 익일 05:55분 까지 이며, 05:55분에 보유 물량 전량 강제 정리후 모든 진입금지. -이익청산 목표가는 매수 또는 매도 진입가 대비 20틱이며 목표가 도달시 강제청산 -최초의 거래는 현재가가 시가보다 높으면 매수, 낮으면 매도 -최초 매수 또는 매도 후 목표가 도달하여 강제 청산시 동일봉 재진입 금지하며, -최초 매수 또는 매도 후 목표가 청산후 재진입은 아래의 조건이 충족 될때만 매수 또는 매도 진입 1. 최초 매수에서 목표가 강제 청산일 경우 현재가가 강제 청산가 보다 10틱 아래이면서, 현재가가 시가보다 위에 있을때 재 매수. 2. 최초 매도에서 목표가 강제 청산일 경우 현재가가 강제 청산가 보다 10틱 위에이며, 현재가가 시가보다 아래에 있을때 재 매도. -최초 매수 또는 매도 거래 후 모든 진입은 위 매수 또는 매도 조건이 충족 될때만 진입하며, -현재가가 시가아래에서 시가을 돌파 할 경우 또는 현재가가 시가 위에서 시가 아래로 돌파 할 경우는 최초의 매수조건을 따라가며, 그 이후의 매수조건은 위의 2가지 조건을 충족 할 경우에만 진입.