커뮤니티
수식조언구합니다.
2012-03-22 11:50:45
346
글번호 49215
수식 조언 및 수정 부탁드립니다.
그동안 자문을 구해 조금씩 수정해서 만들어 가고 있는데
조건들이 길어지니 추가해야할 위치 삽입이 어려워 부탁드립니다.
식사 맛있게 하시고 늘 행복하세요.
1. 트레일링 스탑 익절과 목표가 설정.
최대수익대비 하락 강제청산항목에 설정을 하지 않고 직접 수식으로 작성하려고 합니다. 매매설정창에서 설정하는 것은 익절에
대해서 하나의 조건밖에 걸지 못하는데.. 수식으로 작성하여 두개이상의 익절 조건을 주려고 합니다.
최초 진입가 대비 0.6피 수익권 도달시 0.6피하락(본절)시 익절청산 > 이조건을 깨지않고 상승하여 1.5피 수익권 도달시
에는 1.5피 대비 0.7피 하락시 익절(수익0.8피)청산 > 이조건을 깨지않고 상승하여 2피도달시 수익 2피에 청산.
2. 현재 진입은 신호 발생봉 종가에 주문이 발생하는데 주문조건을 변경하고 싶습니다.
(매수로 예를 들겠습니다. )
a. 신호발생봉의 시가와 종가의 길이가 0.5P 이상인 종가에서 매수신호 발생시
주문 지연시간 적용하여 1분후에 매수신호가 나가게 하고싶습니다. (아래수식에 추가)
b. 신호발생봉의 시가와 종가의 길이가 0.5P 이상인 종가에서 매수신호 발생시
주문은 다음봉에서 나가게 하되, 주문가격은 신호발생봉(전봉)의 시가와 +0.2P사이에 나가게 되는
겁니다. 결과는 신호발생봉의 종가보다 (0.2~0.5P) 낮게 진입이 되어지는 수식을 원합니다. (수식만 부탁
드립니다. 조건결과를 보고 아래수식에 a조건대신 사용하겠습니다.)
3. 신호발생봉 숨기기.
시스템 적용했을때 실제 거래는 되데, 신호발생 화살표를 숨기는 방법이 있습니까?
4. 제가 그동안의 자문을 구해 사용하는 수식인데, 수식의 방법에 따라 효율성이나 신호발생 조건이
달라 진다고 들었습니다.
제 수식을 보시고 위의 조건들을 추가해서 수식을 최적화 해주시면 감사드리겠습니다.
input : ma1(5),MA2(20),MA3(60);
Dayloss(2);
var : AA(0),BB(0),FF(0),PLR(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
#당일누적손익계산 시작
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
count = 0;
for var1 = 1 to 10{
if sdate == EntryDate(var1) Then{
count = count+1;
PLR = PLR+PositionProfit(var1);
}
}
AA = MA(c,MA1);
BB = MA(c,MA2);
FF = MA(c,MA3);
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-XSlippage);
dayPL = PLR+OpenPL;
}
if dayPL > -Dayloss then
if (MarketPosition == 0 and ExitDate(1) != sdate) or
MarketPosition == -1 or
(MarketPosition == 0 and ExitDate(1) == sdate and MarketPosition(1) == -1) Then{
if AA>BB and BB>=FF Then
buy();
}
if (MarketPosition == 0 and ExitDate(1) != sdate) or
MarketPosition == 1 or
(MarketPosition == 0 and ExitDate(1) == sdate and MarketPosition(1) == 1) Then{
if AA<BB and BB<=FF Then
Sell();
}
if MarketPosition == 1 Then{
ExitLong("bx1",AtStop,EntryPrice+(-(Dayloss)-(PLR))); #AA<BB 조건추가 부탁드드립니다.
}
if MarketPosition == -1 Then{
ExitShort("sx1",AtStop,EntryPrice+((Dayloss)+(PLR))); #AA>BB 조건추가 부탁드립니다.
답변 4
예스스탁 예스스탁 답변
2012-03-22 13:36:36
안녕하세요
예스스탁입니다.
1.
아래 수식에 추가했습니다.
2.
a. 수식에서 시간으로 지연은 가능하지 않습니다.
b. 수식안에는 주문가격을 지정하는 부분이 없습니다.
주문가격은 모두 시스템 트레이딩 설정창의 매매탭에서만 가능합니다.
매수일경우 종가가 시가대비 0.5이상 크면 다음봉에서 해당 양봉의 종가-0.2의 시세가 발생시 신호가 발생하도록 했습니다.
종가가 시가대비 0.5이상 크지 않으면 기존과 같이 발생합니다.
매도는 반대로 작성했습니다.
3.
신호숨기기 기능은 없습니다.
4.
아래 내용상에는 실전이나 시뮬레이션에서 달라질만한 부분이 없습니다.
5, 수정한 수식
input : ma1(5),MA2(20),MA3(60),Dayloss(2);
var : AA(0),BB(0),FF(0),PLR(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
#당일누적손익계산 시작
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
count = 0;
for var1 = 1 to 10{
if sdate == EntryDate(var1) Then{
count = count+1;
PLR = PLR+PositionProfit(var1);
}
}
AA = MA(c,MA1);
BB = MA(c,MA2);
FF = MA(c,MA3);
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-XSlippage);
dayPL = PLR+OpenPL;
}
if dayPL > -Dayloss then
if (MarketPosition == 0 and ExitDate(1) != sdate) or
MarketPosition == -1 or
(MarketPosition == 0 and ExitDate(1) == sdate and MarketPosition(1) == -1) Then{
if AA > BB and BB >= FF Then{
if C <= O+0.5 Then
buy();
if C >= O+0.5 Then
buy("b",AtLimit,C-0.2);
}
}
if (MarketPosition == 0 and ExitDate(1) != sdate) or
MarketPosition == 1 or
(MarketPosition == 0 and ExitDate(1) == sdate and MarketPosition(1) == 1) Then{
if AA<BB and BB<=FF Then{
if C > O-0.5 Then
Sell();
if C <= O-0.5 Then
sell("s",atlimit,C+0.2);
}
}
if MarketPosition == 1 Then{
ExitLong("bx1",AtStop,EntryPrice+(-(Dayloss)-(PLR))); #AA<BB 조건추가 부탁드드립니다.
}
if MarketPosition == -1 Then{
ExitShort("sx1",AtStop,EntryPrice+((Dayloss)+(PLR))); #AA>BB 조건추가 부탁드립니다.
}
if MarketPosition == 1 Then{
if highest(h,BarsSinceEntry) >= EntryPrice+0.6 and highest(H,BarsSinceEntry) < EntryPrice+1.5 Then
exitlong("btr1",AtStop,EntryPrice);
if highest(h,BarsSinceEntry) >= EntryPrice+1.5 and highest(H,BarsSinceEntry) < EntryPrice+2 Then
exitlong("btr2",AtStop,EntryPrice+0.8);
}
if MarketPosition == -1 Then{
if Lowest(L,BarsSinceEntry) <= EntryPrice-0.6 and lowest(L,BarsSinceEntry) > EntryPrice-1.5 Then
ExitShort("str1",AtStop,EntryPrice);
if Lowest(L,BarsSinceEntry) <= EntryPrice+1.5 and highest(H,BarsSinceEntry) > EntryPrice+2 Then
ExitShort("str2",AtStop,EntryPrice-0.8);
}
즐거운 하루되세요
> 일일이포 님이 쓴 글입니다.
> 제목 : 수식조언구합니다.
> 수식 조언 및 수정 부탁드립니다.
그동안 자문을 구해 조금씩 수정해서 만들어 가고 있는데
조건들이 길어지니 추가해야할 위치 삽입이 어려워 부탁드립니다.
식사 맛있게 하시고 늘 행복하세요.
1. 트레일링 스탑 익절과 목표가 설정.
최대수익대비 하락 강제청산항목에 설정을 하지 않고 직접 수식으로 작성하려고 합니다. 매매설정창에서 설정하는 것은 익절에
대해서 하나의 조건밖에 걸지 못하는데.. 수식으로 작성하여 두개이상의 익절 조건을 주려고 합니다.
최초 진입가 대비 0.6피 수익권 도달시 0.6피하락(본절)시 익절청산 > 이조건을 깨지않고 상승하여 1.5피 수익권 도달시
에는 1.5피 대비 0.7피 하락시 익절(수익0.8피)청산 > 이조건을 깨지않고 상승하여 2피도달시 수익 2피에 청산.
2. 현재 진입은 신호 발생봉 종가에 주문이 발생하는데 주문조건을 변경하고 싶습니다.
(매수로 예를 들겠습니다. )
a. 신호발생봉의 시가와 종가의 길이가 0.5P 이상인 종가에서 매수신호 발생시
주문 지연시간 적용하여 1분후에 매수신호가 나가게 하고싶습니다. (아래수식에 추가)
b. 신호발생봉의 시가와 종가의 길이가 0.5P 이상인 종가에서 매수신호 발생시
주문은 다음봉에서 나가게 하되, 주문가격은 신호발생봉(전봉)의 시가와 +0.2P사이에 나가게 되는
겁니다. 결과는 신호발생봉의 종가보다 (0.2~0.5P) 낮게 진입이 되어지는 수식을 원합니다. (수식만 부탁
드립니다. 조건결과를 보고 아래수식에 a조건대신 사용하겠습니다.)
3. 신호발생봉 숨기기.
시스템 적용했을때 실제 거래는 되데, 신호발생 화살표를 숨기는 방법이 있습니까?
4. 제가 그동안의 자문을 구해 사용하는 수식인데, 수식의 방법에 따라 효율성이나 신호발생 조건이
달라 진다고 들었습니다.
제 수식을 보시고 위의 조건들을 추가해서 수식을 최적화 해주시면 감사드리겠습니다.
input : ma1(5),MA2(20),MA3(60);
Dayloss(2);
var : AA(0),BB(0),FF(0),PLR(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
#당일누적손익계산 시작
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
count = 0;
for var1 = 1 to 10{
if sdate == EntryDate(var1) Then{
count = count+1;
PLR = PLR+PositionProfit(var1);
}
}
AA = MA(c,MA1);
BB = MA(c,MA2);
FF = MA(c,MA3);
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-XSlippage);
dayPL = PLR+OpenPL;
}
if dayPL > -Dayloss then
if (MarketPosition == 0 and ExitDate(1) != sdate) or
MarketPosition == -1 or
(MarketPosition == 0 and ExitDate(1) == sdate and MarketPosition(1) == -1) Then{
if AA>BB and BB>=FF Then
buy();
}
if (MarketPosition == 0 and ExitDate(1) != sdate) or
MarketPosition == 1 or
(MarketPosition == 0 and ExitDate(1) == sdate and MarketPosition(1) == 1) Then{
if AA<BB and BB<=FF Then
Sell();
}
if MarketPosition == 1 Then{
ExitLong("bx1",AtStop,EntryPrice+(-(Dayloss)-(PLR))); #AA<BB 조건추가 부탁드드립니다.
}
if MarketPosition == -1 Then{
ExitShort("sx1",AtStop,EntryPrice+((Dayloss)+(PLR))); #AA>BB 조건추가 부탁드립니다.
일일이포
2012-03-22 13:42:22
그동안 많은 질문에도 이렇게 일일이 답변 주시니 무어라 감사의 말씀을
전해야 할지.... 정말 감동입니다.
늘 좋은일만 생기시길.. 진심으로 기원합니다.
일일이포
2012-03-22 15:20:01
알려주신 수식이 제가 원하는 답과는 차이가 있는데 보시고 조언 부탁 드립니다.
트레일링 스탑식에서의 수식:
if MarketPosition == 1 Then{
if highest(h,BarsSinceEntry) >= EntryPrice+0.6 and highest(H,BarsSinceEntry) < EntryPrice+1.5 Then
exitlong("btr1",AtStop,EntryPrice);
위의 식대로 라면 진입가 대비 수익이 0.6~1.5피가 나더라도 익절은 항상
본절에 나가는 식인듯 합니다.
제가 원하는 것은 0.6이상부터 익절도 따라 올라가는 것입니다.
0.6피 수익줄일땐 본절이 맞는데.. 0.7피에서는 고점대비 0.6하락으로 0.1피 익절..
0.8피에서는 0.6하락으로 0.2익절.. 이런식으로 말입니다.
익절의 기준을 EntryPrice 로 주셨는데.. 수익고점 대비 익절수식은 없는지요?
없다면 구간을 다 일일히 위의 수식대로 0.1피 단위로 작성을 해야 하는지요?
감사합니다.
예스스탁 예스스탁 답변
2012-03-22 15:30:16
안녕하세요
예스스탁입니다.
수식을 아래와 같이 변경하시면 됩니다.
if MarketPosition == 1 Then{
if highest(h,BarsSinceEntry) >= EntryPrice+0.6 and highest(H,BarsSinceEntry) < EntryPrice+1.5 Then
exitlong("btr1",AtStop,highest(h,BarsSinceEntry)-0.6);
if highest(h,BarsSinceEntry) >= EntryPrice+1.5 and highest(H,BarsSinceEntry) < EntryPrice+2 Then
exitlong("btr2",AtStop,highest(h,BarsSinceEntry)-0.8);
}
if MarketPosition == -1 Then{
if Lowest(L,BarsSinceEntry) <= EntryPrice-0.6 and lowest(L,BarsSinceEntry) > EntryPrice-1.5 Then
ExitShort("str1",AtStop,lowest(L,BarsSinceEntry)+0.6);
if Lowest(L,BarsSinceEntry) <= EntryPrice+1.5 and highest(H,BarsSinceEntry) > EntryPrice+2 Then
ExitShort("str2",AtStop,lowest(L,BarsSinceEntry)+0.8);
}
즐거운 하루되세요
> 일일이포 님이 쓴 글입니다.
> 제목 : Re : 수식 재문의
> 알려주신 수식이 제가 원하는 답과는 차이가 있는데 보시고 조언 부탁 드립니다.
트레일링 스탑식에서의 수식:
if MarketPosition == 1 Then{
if highest(h,BarsSinceEntry) >= EntryPrice+0.6 and highest(H,BarsSinceEntry) < EntryPrice+1.5 Then
exitlong("btr1",AtStop,EntryPrice);
위의 식대로 라면 진입가 대비 수익이 0.6~1.5피가 나더라도 익절은 항상
본절에 나가는 식인듯 합니다.
제가 원하는 것은 0.6이상부터 익절도 따라 올라가는 것입니다.
0.6피 수익줄일땐 본절이 맞는데.. 0.7피에서는 고점대비 0.6하락으로 0.1피 익절..
0.8피에서는 0.6하락으로 0.2익절.. 이런식으로 말입니다.
익절의 기준을 EntryPrice 로 주셨는데.. 수익고점 대비 익절수식은 없는지요?
없다면 구간을 다 일일히 위의 수식대로 0.1피 단위로 작성을 해야 하는지요?
감사합니다.
다음글
이전글