커뮤니티
질문 입니다.
2013-12-27 11:07:25
145
글번호 70835
input : 손절틱(20),익절틱(20);
var : cnt(0),count(0),losscount(0),Xcond1(false),Xcond2(false);
count = 0;
for cnt = 0 to 20{
if sdate ==EntryDate(cnt) Then{
count = count+1;
}
}
XCond1 = ExitDate(1) == sdate and (IsExitName("익절",1) == true);
If MarketPosition == 0 and Xcond1 == false Then {
if stime == 151500 and stime >= 90100 Then {
if count == 0 Then
sell("S1",AtMarket,def,1);
if count >= 1 Then
sell("S2",AtMarket,def,CurrentContracts[BarsSinceExit(1)+1]*2);
}}
if CurrentContracts >= 1 Then {
ExitShort("손절",AtStop,EntryPrice+PriceScale*손절틱);
}
if CurrentContracts >= 1 Then
ExitShort("익절",Atlimit,EntryPrice-PriceScale*익절틱);
위 식은 예전에 알려주신 식인데요.
시가에 매도하고 손실이면 두배로 진입하는 식입니다.
그런데 주문이 들어가지 않는 날이 꽤 많네요.
12월에만 6일이나 주문이 들어가지 않습니다.
진입이 없는 날짜는 4, 6, 10, 13, 18, 20일 입니다.
1분봉 차트에 적용했습니다.
살펴보시고 어떻게 수정해야 하는지 알려주세요.
진입신호가 나오지 않는 이유도 궁금합니다.
답변 1
예스스탁 예스스탁 답변
2013-12-27 17:28:41
안녕하세요
예스스탁입니다.
15시15분에 조건을 걸어 다음날 시초가에 신호가 발생하는데
count == 0이라는 조건이 있어
시초가에 신호가 안나온날만 다음날에 신호가 발생하게 되어 있었습니다.
시가에는 매도를 하시는데
직전거래가 손실이면 두배수계약, 수익이면 1계약으로
진입하는 식이면 아래와 같습니다.
input : 손절틱(20),익절틱(20);
var : cnt(0),count(0),losscount(0),Xcond1(false),Xcond2(false);
count = 0;
for cnt = 0 to 20{
if sdate ==EntryDate(cnt) Then{
count = count+1;
}
}
XCond1 = ExitDate(1) == sdate and (IsExitName("익절",1) == true);
If MarketPosition == 0 and stime == 151500 Then {
if TotalTrades == 0 or Xcond1 == true Then
sell("S1",AtMarket,def,1);
Else
sell("S2",AtMarket,def,CurrentContracts[BarsSinceExit(1)+1]*2);
}
if CurrentContracts >= 1 Then {
ExitShort("손절",AtStop,EntryPrice+PriceScale*손절틱);
}
if CurrentContracts >= 1 Then
ExitShort("익절",Atlimit,EntryPrice-PriceScale*익절틱);
시초가에는 매도로 1계약 진입하고
당일 두번째부터는 직전거래가 2계약 진입하는 내용이시면 아래와 같이 작성하셔야 합니다.
기존식에 당일진입횟수를 세는 부분이 있고 stime >= 090100과 같은 조건으로 보아
당일 여러번 진입하시는 내용 같아 아래내용도 올려드립니다.
input : 손절틱(20),익절틱(20);
var : cnt(0),count(0),losscount(0),Xcond1(false),Xcond2(false);
count = 0;
for cnt = 0 to 20{
if sdate ==EntryDate(cnt) Then{
count = count+1;
}
}
XCond1 = ExitDate(1) == sdate and (IsExitName("익절",1) == true);
If MarketPosition == 0 Then {
if stime == 151500 Then
sell("S1",AtMarket,def,1);
if count >= 1 and Xcond1 == false and stime >= 90100 Then
sell("S2",AtMarket,def,CurrentContracts[BarsSinceExit(1)+1]*2);
}
if CurrentContracts >= 1 Then {
ExitShort("손절",AtStop,EntryPrice+PriceScale*손절틱);
}
if CurrentContracts >= 1 Then
ExitShort("익절",Atlimit,EntryPrice-PriceScale*익절틱);
즐거운 하루되세요
> 고운무지개 님이 쓴 글입니다.
> 제목 : 질문 입니다.
> input : 손절틱(20),익절틱(20);
var : cnt(0),count(0),losscount(0),Xcond1(false),Xcond2(false);
count = 0;
for cnt = 0 to 20{
if sdate ==EntryDate(cnt) Then{
count = count+1;
}
}
XCond1 = ExitDate(1) == sdate and (IsExitName("익절",1) == true);
If MarketPosition == 0 and Xcond1 == false Then {
if stime == 151500 and stime >= 90100 Then {
if count == 0 Then
sell("S1",AtMarket,def,1);
if count >= 1 Then
sell("S2",AtMarket,def,CurrentContracts[BarsSinceExit(1)+1]*2);
}}
if CurrentContracts >= 1 Then {
ExitShort("손절",AtStop,EntryPrice+PriceScale*손절틱);
}
if CurrentContracts >= 1 Then
ExitShort("익절",Atlimit,EntryPrice-PriceScale*익절틱);
위 식은 예전에 알려주신 식인데요.
시가에 매도하고 손실이면 두배로 진입하는 식입니다.
그런데 주문이 들어가지 않는 날이 꽤 많네요.
12월에만 6일이나 주문이 들어가지 않습니다.
진입이 없는 날짜는 4, 6, 10, 13, 18, 20일 입니다.
1분봉 차트에 적용했습니다.
살펴보시고 어떻게 수정해야 하는지 알려주세요.
진입신호가 나오지 않는 이유도 궁금합니다.