커뮤니티
문의 드립니다.
2014-11-13 07:00:52
151
글번호 80329
항상 도움 주셔서 감사합니다.
문1) 매수, 매도 진입 후
수익이 10틱 이상 갔다가 1틱으로 줄면 청산
수익이 20틱 이상 갔다가 10틱으로 줄면 청산
수익이 30틱 이상 갔다가 20틱으로 줄면 청산
하는 로직 부탁드립니다.
SetStopTrailing를 사용해야 하나요?
아래와 같이 코딩했는데 청산이 제대로 안됩니다.
if (MarketPosition == 1 or MarketPosition == -1) and MaxPositionProfit >= 0.001 Then {
if PositionProfit <= 0.0001 then
ExitLong("B_out");
ExitShort("S_out");
}
Else if (MarketPosition == 1 or MarketPosition == -1) and MaxPositionProfit >= 0.002 Then {
if PositionProfit <= 0.001 then
ExitLong("B_out2");
ExitShort("S_out2");
}
else if (MarketPosition == 1 or MarketPosition == -1) and MaxPositionProfit >= 0.003 Then {
if PositionProfit <= 0.002 then
ExitLong("B_out3");
ExitShort("S_ou3t");
}
문2) 아래와 같이 코딩하였는데
조건시간 중 모두 정배열, 역배열 상태에서도
변수값이 모두 0으로 나옵니다.
로직이 문제가 있는지 점검 부탁드립니다.
정배열 = 이평5 > 이평20 and 이평20 > 이평60 ;
역배열 = 이평5 < 이평20 and 이평20 < 이평60 ;
if sTime >= 010000 and stime < 070000 and 정배열 == true then{
var1 == 0;
var2 == 1;
}
else if sTime >= 010000 and stime < 070000 and 역배열 == true then{
var1 == 1;
var2 == 0;
}
else {
var1 == 0;
var2 == 0;
}
문3) 해외선물 2분봉 차트에서 (거래시간 아침8시부터~익일 7시까지)
당일의 최고점을 상향 갱신하면 매수진입
당일의 최저점을 하향 갱신하면 매도진입
하는 시스템식 부탁드립니다.
문4) 해외선물 2분봉 차트에서 (거래시간 아침8시부터~익일 7시까지)
한시간(30봉전)전 최고점을 상향 갱신하면 매수진입
한시간(30봉전)전 최저점을 하향 갱신하면 매도진입
하는 시스템식 부탁드립니다.
문5) 해외선물 2분봉 차트에서 (거래시간 아침8시부터~익일 7시까지)
한시간(30봉전)전 최고점에서 20틱 하락하면 매도진입
한시간(30봉전)전 최저점에서 20틱 상승하면 매수진입
하는 시스템식 부탁드립니다.
문6) 해외선물 2분봉 차트에서 (거래시간 아침8시부터~익일 7시까지)
이평5>이평10 인상태가 10봉 이상 되면 매수진입
이평5<이평10 인상태가 10봉 이상 되면 매도진입
하는 시스템식 부탁드립니다.
많은 질문 드려 죄송합니다.
도움 부탁드립니다.
답변 1
예스스탁 예스스탁 답변
2014-11-13 13:20:12
안녕하세요
예스스탁입니다.
1.
아래와 같이 작성하시면 됩니다.
if MarketPosition == 1 Then {
var1 = highest(H,BarsSinceEntry);
if var1 >= EntryPrice+PriceScale*10 and var1 < EntryPrice+PriceScale*20 then
ExitLong("bx1",AtStop,EntryPrice+PriceScale*1);
if var1 >= EntryPrice+PriceScale*20 and var1 < EntryPrice+PriceScale*30 then
ExitLong("bx2",AtStop,EntryPrice+PriceScale*10);
if var1 >= EntryPrice+PriceScale*30 then
ExitLong("bx3",AtStop,EntryPrice+PriceScale*20);
}
if MarketPosition == -1 Then {
var2 = lowest(L,BarsSinceEntry);
if var2 <= EntryPrice-PriceScale*10 and var2 > EntryPrice-PriceScale*20 then
ExitShort("sx1",AtStop,EntryPrice-PriceScale*1);
if var2 <= EntryPrice-PriceScale*10 and var2 > EntryPrice-PriceScale*20 then
ExitShort("sx2",AtStop,EntryPrice-PriceScale*10);
if var2 <= EntryPrice-PriceScale*10 and var2 > EntryPrice-PriceScale*20 then
ExitShort("sx3",AtStop,EntryPrice-PriceScale*20);
}
2.
변수에 값저장은 = 입니다.
==은 같다라면 표현입니다.
정배열 = 이평5 > 이평20 and 이평20 > 이평60 ;
역배열 = 이평5 < 이평20 and 이평20 < 이평60 ;
if sTime >= 010000 and stime < 070000 and 정배열 == true then{
var1 = 0;
var2 = 1;
}
else if sTime >= 010000 and stime < 070000 and 역배열 == true then{
var1 = 1;
var2 = 0;
}
else {
var1 = 0;
var2 = 0;
}
3.
var : ii(0);
if stime == 080000 or (stime > 080000 and stime[1] < 080000) Then
ii = 0;
if stime >= 080000 or stime < 070000 Then{
ii = ii +1;
if ii >= 2 and dayhigh > dayhigh[1] Then
buy();
if ii >= 2 and DayLow < daylow[1] Then
sell();
}
4.
var : ii(0);
if stime == 080000 or (stime > 080000 and stime[1] < 080000) Then
ii = 0;
if stime >= 080000 or stime < 070000 Then{
if H > H[30] Then
buy();
if L < L[30] Then
sell();
}
5.
var : ii(0);
if stime == 080000 or (stime > 080000 and stime[1] < 080000) Then
ii = 0;
if stime >= 080000 or stime < 070000 Then{
if C <= H[30]-PriceScale*20 Then
buy();
if C >= L[30]+PriceScale*20 Then
sell();
}
6.
var : ii(0);
var1 = ma(c,5);
var2 = ma(c,10);
if stime == 080000 or (stime > 080000 and stime[1] < 080000) Then
ii = 0;
if stime >= 080000 or stime < 070000 Then{
if countif(var1>var2,10) == 10 Then
buy();
if countif(var1<var2,10) == 10 Then
sell();
}
즐거운 하루되세요
> 양치기 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 항상 도움 주셔서 감사합니다.
문1) 매수, 매도 진입 후
수익이 10틱 이상 갔다가 1틱으로 줄면 청산
수익이 20틱 이상 갔다가 10틱으로 줄면 청산
수익이 30틱 이상 갔다가 20틱으로 줄면 청산
하는 로직 부탁드립니다.
SetStopTrailing를 사용해야 하나요?
아래와 같이 코딩했는데 청산이 제대로 안됩니다.
if (MarketPosition == 1 or MarketPosition == -1) and MaxPositionProfit >= 0.001 Then {
if PositionProfit <= 0.0001 then
ExitLong("B_out");
ExitShort("S_out");
}
Else if (MarketPosition == 1 or MarketPosition == -1) and MaxPositionProfit >= 0.002 Then {
if PositionProfit <= 0.001 then
ExitLong("B_out2");
ExitShort("S_out2");
}
else if (MarketPosition == 1 or MarketPosition == -1) and MaxPositionProfit >= 0.003 Then {
if PositionProfit <= 0.002 then
ExitLong("B_out3");
ExitShort("S_ou3t");
}
문2) 아래와 같이 코딩하였는데
조건시간 중 모두 정배열, 역배열 상태에서도
변수값이 모두 0으로 나옵니다.
로직이 문제가 있는지 점검 부탁드립니다.
정배열 = 이평5 > 이평20 and 이평20 > 이평60 ;
역배열 = 이평5 < 이평20 and 이평20 < 이평60 ;
if sTime >= 010000 and stime < 070000 and 정배열 == true then{
var1 == 0;
var2 == 1;
}
else if sTime >= 010000 and stime < 070000 and 역배열 == true then{
var1 == 1;
var2 == 0;
}
else {
var1 == 0;
var2 == 0;
}
문3) 해외선물 2분봉 차트에서 (거래시간 아침8시부터~익일 7시까지)
당일의 최고점을 상향 갱신하면 매수진입
당일의 최저점을 하향 갱신하면 매도진입
하는 시스템식 부탁드립니다.
문4) 해외선물 2분봉 차트에서 (거래시간 아침8시부터~익일 7시까지)
한시간(30봉전)전 최고점을 상향 갱신하면 매수진입
한시간(30봉전)전 최저점을 하향 갱신하면 매도진입
하는 시스템식 부탁드립니다.
문5) 해외선물 2분봉 차트에서 (거래시간 아침8시부터~익일 7시까지)
한시간(30봉전)전 최고점에서 20틱 하락하면 매도진입
한시간(30봉전)전 최저점에서 20틱 상승하면 매수진입
하는 시스템식 부탁드립니다.
문6) 해외선물 2분봉 차트에서 (거래시간 아침8시부터~익일 7시까지)
이평5>이평10 인상태가 10봉 이상 되면 매수진입
이평5<이평10 인상태가 10봉 이상 되면 매도진입
하는 시스템식 부탁드립니다.
많은 질문 드려 죄송합니다.
도움 부탁드립니다.