커뮤니티

문의 드립니다.

프로필 이미지
아틀라스
2011-11-14 16:46:24
366
글번호 44777
답변완료
수고가 많으십니다 빠른 답변에 감사드리며 몇가지 문의 하고자 합니다. if MarketPosition == 1 Then{ ExitLong("bx4",AtStop,Highest(H,BarsSinceEntry)*0.99); ExitLong("bx5",AtStop,BarsSinceEntry*0.99); } 상기식에서 BarsSinceEntry와 BarsSinceEntry는 수식마다 모두 다른데 각 수식마다 자동적으로 각각의 값을 인식하여 리턴해 주는 가요? 그리고 Atstop처리는 var=var+1;과 같은 수식을 처리할때 봉의 완성시에 값을 리턴하는지 아니면 처리 순간에 값을 리턴하는지 궁금합니다. 감사합니다. 안녕하세요 예스스탁입니다. value2 = 0; for value1 = 0 to 10{ if EntryDate(value1) == sdate Then value2 = value2+1; } var1 = ma(c,60); var2 = macd(12,26); var3 = ma(c,5); var4 = ma(c,20); Condition1 = ExitDate(1) == sdate and (IsExitName("bx4",1) or IsExitName("bx5",1)); if value2 < 6 and Condition1 == false Then{ if var1 > var1[1] and var1[1] < var1[2] Then buy("b1",OnClose,def,1); if crossup(var2,0) Then buy("b2",OnClose,def,1); if crossup(var3,var4) Then buy("b3",OnClose,def,1); } if var1 < var1[1] and var1[1] < var1[2] Then ExitLong("bx1",OnClose,def,"b1",1,1); if CrossDown(var2,0) Then ExitLong("bx2",OnClose,def,"b2",1,1); if CrossDown(var3,var4) Then ExitLong("bx3",OnClose,def,"b3",1,1); if MarketPosition == 1 Then{ ExitLong("bx4",AtStop,Highest(H,BarsSinceEntry)*0.99); ExitLong("bx5",AtStop,EntryPrice*0.99); } 즐거운 하루되세요
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-11-14 17:05:44

안녕하세요 예스스탁입니다. 1. if MarketPosition == 1 Then{ ExitLong("bx4",AtStop,Highest(H,BarsSinceEntry)*0.99); ExitLong("bx5",AtStop,EntryPrice*0.99); } bx5의 값이 잘못작성이 되어 수정했습니다. 시스템에서 사용되는 모든 진입관련 함수는 피라미딩상 첫진입을 기준으로 합니다. ExitLong("bx4",AtStop,Highest(H,BarsSinceEntry)*0.99); 은 첫진입이후 최고가에서 1% 하향하면 즉시 신호 발생시키고 전량청산입니다. ExitLong("bx5",AtStop,EntryPrice*0.99); 은 진입가 대비 1% 하향하면 즉시 신호 발생시키고 전량청산입니다. 2. atstop은 완성봉에서 가격조건을 걸어 다음봉이 이 가격조건 보다 높은 시세나 낮은 시세가 발생하면 즉시 신호가 발생됩니다. ExitLong("bx4",AtStop,Highest(H,BarsSinceEntry)*0.99); 위식의 경우 현재봉 완성시에 Highest(H,BarsSinceEntry)*0.99라는 가격조건을 셋팅하고 다음봉의 시세중에 Highest(H,BarsSinceEntry)*0.99이하의 시세가 발생하면 봉 미완성시라도 신호가 발생합니다. 식작성에 참고하시기 바랍니다. 즐거운 하루되세요 > 아틀라스 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 수고가 많으십니다 빠른 답변에 감사드리며 몇가지 문의 하고자 합니다. if MarketPosition == 1 Then{ ExitLong("bx4",AtStop,Highest(H,BarsSinceEntry)*0.99); ExitLong("bx5",AtStop,BarsSinceEntry*0.99); } 상기식에서 BarsSinceEntry와 BarsSinceEntry는 수식마다 모두 다른데 각 수식마다 자동적으로 각각의 값을 인식하여 리턴해 주는 가요? 그리고 Atstop처리는 var=var+1;과 같은 수식을 처리할때 봉의 완성시에 값을 리턴하는지 아니면 처리 순간에 값을 리턴하는지 궁금합니다. 감사합니다. 안녕하세요 예스스탁입니다. value2 = 0; for value1 = 0 to 10{ if EntryDate(value1) == sdate Then value2 = value2+1; } var1 = ma(c,60); var2 = macd(12,26); var3 = ma(c,5); var4 = ma(c,20); Condition1 = ExitDate(1) == sdate and (IsExitName("bx4",1) or IsExitName("bx5",1)); if value2 < 6 and Condition1 == false Then{ if var1 > var1[1] and var1[1] < var1[2] Then buy("b1",OnClose,def,1); if crossup(var2,0) Then buy("b2",OnClose,def,1); if crossup(var3,var4) Then buy("b3",OnClose,def,1); } if var1 < var1[1] and var1[1] < var1[2] Then ExitLong("bx1",OnClose,def,"b1",1,1); if CrossDown(var2,0) Then ExitLong("bx2",OnClose,def,"b2",1,1); if CrossDown(var3,var4) Then ExitLong("bx3",OnClose,def,"b3",1,1); if MarketPosition == 1 Then{ ExitLong("bx4",AtStop,Highest(H,BarsSinceEntry)*0.99); ExitLong("bx5",AtStop,EntryPrice*0.99); } 즐거운 하루되세요