커뮤니티

27597 식관련 문의입니다..

프로필 이미지
어게인1999
2012-12-21 18:02:11
220
글번호 57509
답변완료
선행1이 클때와 선행2가 클경우를 한 식에서 신호를 낼수는 없는지요? 즉 식이 4개가 아니라 2개로 만들어질수는 없는지요? 번거럽게 해드려 죄송합니다..
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-12-21 18:23:19

안녕하세요 예스스탁입니다. 선행스팬1이 선행스팬2보다 큰 경우 (a-1과 b-1)은 진입조건은 같고 청산만 다릅니다. a-1의 식에 b-1의 청산조건 중 9틱 이익 후 자동 매도(종가기준)만 추가하시면 됩니다. Inputs: TurnLen(9), StdLen(26), PrdLen(52); Variables: 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0); 전환선 = (Highest(High, TurnLen) + Lowest(Low, TurnLen)) / 2; 기준선 = (Highest(High, StdLen) + Lowest(Low, StdLen)) / 2; 후행스팬 = Close ; 선행스팬1 = (전환선 + 기준선) / 2 ; 선행스팬2 = (Highest(High, PrdLen) + Lowest(Low, PrdLen)) / 2; if MarketPosition == 0 and 선행스팬2 > 선행스팬1 and countif(crossup(c,선행스팬1[25]),3) >= 1 Then buy("a1",AtStop,전환선); if BarsSinceEntry == 0 and C < 전환선 Then ExitLong("bx1"); if CrossDown(c,기준선) Then exitlong("bx2"); if MarketPosition == 1 and C >= EntryPrice+PriceScale*9 Then ExitLong("bx3"); 선행스팬1이 선행스팬2보다 큰 경우도 같습니다. a-2식에 b-2의 3번 청산조건만 추가하시면 됩니다. Inputs: TurnLen(9), StdLen(26), PrdLen(52); Variables: 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0); 전환선 = (Highest(High, TurnLen) + Lowest(Low, TurnLen)) / 2; 기준선 = (Highest(High, StdLen) + Lowest(Low, StdLen)) / 2; 후행스팬 = Close ; 선행스팬1 = (전환선 + 기준선) / 2 ; 선행스팬2 = (Highest(High, PrdLen) + Lowest(Low, PrdLen)) / 2; if MarketPosition == 0 and 선행스팬1 > 선행스팬2 and countif(crossup(c,선행스팬1[25]),3) >= 1 Then buy("a2",AtStop,선행스팬1[25]); if BarsSinceEntry == 0 and C < 선행스팬1 Then ExitLong("bx1"); if CrossDown(c,기준선) Then exitlong("bx2"); if MarketPosition == 1 and C >= EntryPrice+PriceScale*9 Then ExitLong("bx3"); a식 두개와 b식 두개를 합치신 다면 아래와 같습니다. 1.a식 Inputs: TurnLen(9), StdLen(26), PrdLen(52); Variables: 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0); 전환선 = (Highest(High, TurnLen) + Lowest(Low, TurnLen)) / 2; 기준선 = (Highest(High, StdLen) + Lowest(Low, StdLen)) / 2; 후행스팬 = Close ; 선행스팬1 = (전환선 + 기준선) / 2 ; 선행스팬2 = (Highest(High, PrdLen) + Lowest(Low, PrdLen)) / 2; #a-1 if MarketPosition == 0 and 선행스팬2 > 선행스팬1 and countif(crossup(c,선행스팬1[25]),3) >= 1 Then buy("a1",AtStop,전환선); if BarsSinceEntry == 0 and C < 전환선 Then ExitLong("bx11",OnClose,def,"a1"); if CrossDown(c,기준선) Then exitlong("bx12",OnClose,def,"a1"); #a-2 if MarketPosition == 0 and 선행스팬1 > 선행스팬2 and countif(crossup(c,선행스팬1[25]),3) >= 1 Then buy("a2",AtStop,선행스팬1[25]); if BarsSinceEntry == 0 and C < 선행스팬1 Then ExitLong("bx21",OnClose,def,"a2"); if CrossDown(c,기준선) Then exitlong("bx22",OnClose,def,"a2"); 2. b식 Inputs: TurnLen(9), StdLen(26), PrdLen(52); Variables: 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0); 전환선 = (Highest(High, TurnLen) + Lowest(Low, TurnLen)) / 2; 기준선 = (Highest(High, StdLen) + Lowest(Low, StdLen)) / 2; 후행스팬 = Close ; 선행스팬1 = (전환선 + 기준선) / 2 ; 선행스팬2 = (Highest(High, PrdLen) + Lowest(Low, PrdLen)) / 2; #b-1 if MarketPosition == 0 and 선행스팬2 > 선행스팬1 and countif(crossup(c,선행스팬1[25]),3) >= 1 Then buy("b1",AtStop,전환선); if BarsSinceEntry == 0 and C < 전환선 Then ExitLong("bx31",OnClose,def,"b1"); if MarketPosition == 1 and C >= EntryPrice+PriceScale*9 Then ExitLong("bx31",OnClose,def,"b1"); #b-2 if ExitDate(1) != sdate and MarketPosition == 0 and 선행스팬2 > 선행스팬1 and countif(crossup(c,선행스팬1[25]),3) >= 1 Then buy("b2",AtStop,선행스팬1[25]); if BarsSinceEntry == 0 and C < 선행스팬1[25] Then ExitLong("bx41",OnClose,def,"b2"); if MarketPosition == 1 and C >= EntryPrice+PriceScale*9 Then ExitLong("bx42",OnClose,def,"b2"); 즐거운 하루되세요 즐거운 하루되세요 > 어게인1999 님이 쓴 글입니다. > 제목 : 27597 식관련 문의입니다.. > 선행1이 클때와 선행2가 클경우를 한 식에서 신호를 낼수는 없는지요? 즉 식이 4개가 아니라 2개로 만들어질수는 없는지요? 번거럽게 해드려 죄송합니다..