커뮤니티
35870 추가 문의사항입니다.
2014-04-10 16:15:55
137
글번호 74322
매수 신호가 유지되고 있을때는 매수 신호가 발생하지 않고.
마찬가지로 매도 신호가 나와서 유지 되고 있을때는 매도신호가 발생하지 않도록.. 추가 변경 요청드립니다.
답변 1
예스스탁 예스스탁 답변
2014-04-10 16:45:27
안녕하세요
예스스탁입니다.
매수신호 유지 중에 매수가 발생하거나
매도신호 유지 중에 매도가 발생하시면 피라미딩이 설정되어 있으신 것입니다.
시스템은 시스템 트레이딩 설정창의
피라미딩탭에서 피라미딩을 허용안함으로 설정되어 있으면
동일 방향 신호로 중복으로 신호가 발생하지 않습니다.
만약 문의하신 내용이 신호유지 중에 반대신호가 발생하지 않게 하시는
내용이면 진입식에 모두 MarketPosition == 0 조건을 추가하면 됩니다.
Input : shortPeriod(35), short_shPeriod(35), basePeriod(20),checkPeriod(15);
value1 = ma(C, shortPeriod); //매수,매도 선
value2 = ma(C, short_shPeriod)[4]; //매수 매도 기준
//value3 = pos(value1-value2);
value4 = round(ma(C, basePeriod),2); //기준선
value5 = value4+0.09; //밴드 상단
value6 = Value4-0.09; //밴드 하단
value7 = round(ma(C, checkPeriod),2); //체크선
Condition1 = value7 > value6 or value7 < value5; //체크선이 밴드상단 위거나 밴드하단 아래일때
Condition2 = value1[2] < value1 and value2[2] < value2 and value7[1] < value7; //포지션없을때 무조건 매수
Condition3 = value1[2] > value1 and value2[2] > value2 and value7[1] > value7; //포지션없을때 무조건 매도
# 매수/매도청산
//현재 포지션 없을때.. Condition2 만족시 매수
if MarketPosition==0 and Condition2==True Then
buy();
If MarketPosition == 0 and CrossUP(value1, value2) and Condition1 == true Then
Buy();
# 매도/매수청산
//현재 포지션 없을때.. Condition3 만족시 매도
if MarketPosition==0 and Condition3==True Then
Sell();
If MarketPosition == 0 and CrossDown(value1, value2) and Condition1 == true Then
sell();
if MarketPosition == 1 Then{
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*30 Then
ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-PriceScale*7);
}
if MarketPosition == -1 Then{
if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*30 Then
ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*7);
}
즐거운 하루되세요
> YG_hj****** 님이 쓴 글입니다.
> 제목 : 35870 추가 문의사항입니다.
> 매수 신호가 유지되고 있을때는 매수 신호가 발생하지 않고.
마찬가지로 매도 신호가 나와서 유지 되고 있을때는 매도신호가 발생하지 않도록.. 추가 변경 요청드립니다.