커뮤니티

문의 드립니다.

프로필 이미지
즐겁게
2014-05-18 14:01:13
175
글번호 75166
답변완료
항상 상세하신 답변 감사드립니다. 전에 올렸던 36191 글 답변과 관련하여 보충 질의 드리고자 합니다. 올려 주신 답변은, 일단 제가 매수 내지 매도 진입 희망가격을 타이핑하면 그 조건에 맞게 주문이 되는 내용인데, 제가 한 번 입력하고 나서, 매수든 매도든 한 번의 진입만 이루어 지면, 그 소스의 작동은 더 이상 유효하지 않고 중지되도록 하고 싶습니다. 아래 식에서, 매수든 매도든 간에 일단 총합 딱 한 번의 진입이 발생하면, 새로운 진입은 더 이상 이루어지지 않고, 그 진입에 대한 청산 기능만 그대로 살아 있도록 식을 수정해 주시면 대단히 감사하겠습니다. 아래 식: input : BuyPrice(55555),SellPrice(54575),ATRP(10),ATRS(1.5); if H < BuyPrice Then buy("B",AtStop,BuyPrice); if L > SellPrice Then sell("S",AtStop,SellPrice); if MarketPosition == 1 Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-ATR(ATRP)*ATRS); if MarketPosition == -1 Then ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+ATR(ATRP)*ATRS);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-05-19 15:33:25

안녕하세요 예스스탁입니다. 한번만 신호를 내고자 하시면 날짜와 시간을 지정하셔야 합니다. 그래야 지정한 날짜와 시간이후에만 진입신호가 발생합니다. 지정한 날짜와 시간이후에 한번만 진입이 발생하게 수정했습니다. input : BuyPrice(55555),SellPrice(54575),ATRP(10),ATRS(1.5),날짜(20150519),시간(90000); var : entry(0); if sdate == 날짜 and (stime == 시간 or (stime > 시간 and stime[1] < 시간)) Then{ Condition1 = true; entry = 0; } if Condition1 == true and MarketPosition != 0 and MarketPosition[1] != MarketPosition Then entry = entry+1; if Condition1 == true and entry == 0 Then{ if H < BuyPrice Then buy("B",AtStop,BuyPrice); if L > SellPrice Then sell("S",AtStop,SellPrice); } if MarketPosition == 1 Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-ATR(ATRP)*ATRS); if MarketPosition == -1 Then ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+ATR(ATRP)*ATRS); 즐거운 하루되세요 > 즐겁게 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 항상 상세하신 답변 감사드립니다. 전에 올렸던 36191 글 답변과 관련하여 보충 질의 드리고자 합니다. 올려 주신 답변은, 일단 제가 매수 내지 매도 진입 희망가격을 타이핑하면 그 조건에 맞게 주문이 되는 내용인데, 제가 한 번 입력하고 나서, 매수든 매도든 한 번의 진입만 이루어 지면, 그 소스의 작동은 더 이상 유효하지 않고 중지되도록 하고 싶습니다. 아래 식에서, 매수든 매도든 간에 일단 총합 딱 한 번의 진입이 발생하면, 새로운 진입은 더 이상 이루어지지 않고, 그 진입에 대한 청산 기능만 그대로 살아 있도록 식을 수정해 주시면 대단히 감사하겠습니다. 아래 식: input : BuyPrice(55555),SellPrice(54575),ATRP(10),ATRS(1.5); if H < BuyPrice Then buy("B",AtStop,BuyPrice); if L > SellPrice Then sell("S",AtStop,SellPrice); if MarketPosition == 1 Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-ATR(ATRP)*ATRS); if MarketPosition == -1 Then ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+ATR(ATRP)*ATRS);