커뮤니티
왜 수식이 제대로 적용이 안되는지 모르겠네요
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가지 조건을 충족 할 경우에만 진입.
다음글
이전글