커뮤니티
문의 드립니다.
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);