커뮤니티
문의드립니다.
2012-07-31 13:27:21
318
글번호 53385
당일 첫 진입 수익시 진입금지,
손실 시 물량을 계속 2배수 하여 당일누적수익이 플러스가 될 때까지 계속해서 재진입 시스템을 만들고 싶습니다.
수정 부탁드립니다.
예1) 첫 진입(1계약) 수익 매매 끝
예2) 첫 진입(1계약) 손실, 두 번째 진입(2계약)으로 손실 복구 및 수익 매매 끝
예3) 첫 진입(1계약) 손실, 두 번째 진입(2계약) 손실, 세 번째 진입(4계약) 손실.....
최대 5연패 시 매매 정지.
Input : shortPeriod(5), longPeriod(20), 당일손익(1);
var : PredayPL(0),XCommission(0),XSlippage(0),dayPL(0);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
#당일누적손익계산 시작
if date != date[1] Then
PredayPL = NetProfit[1];
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
if MarketPosition() == 0 Then
dayPL = (NetProfit-PredayPL);
Else
dayPL = (NetProfit-PredayPL)+(PositionProfit-(XCommission+XSlippage));
# 매수/매도청산
If value1 > value2 and dayPL < 당일손익 Then
{
Buy();
}
# 매도/매수청산
If value1 < value2 and dayPL < 당일손익 Then
{
Sell();
}
답변 1
예스스탁 예스스탁 답변
2012-07-31 19:49:09
안녕하세요
예스스탁입니다.
Input : shortPeriod(5), longPeriod(20), 당일손익(1);
var : PredayPL(0),XCommission(0),XSlippage(0),dayPL(0);
var : cnt(0),count(0),loss(0);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if count == 0 Then{
If value1 > value2 Then
Buy("b",OnClose,def,1);
If value1 < value2 Then
Sell("s",OnClose,def,1);
}
if count > 0 and count < 5 Then{
if MarketPosition == -1 and value1 > value2 Then{
if PositionProfit > 0 Then
ExitShort();
Else
Buy("bb",OnClose,def,CurrentContracts[BarsSinceEntry-1]*2);
}
if MarketPosition == 1 and value1 < value2 Then{
if PositionProfit > 0 Then
ExitLong();
Else
Sell("ss",OnClose,def,CurrentContracts[BarsSinceEntry-1]*2);
}
}
if MarketPosition == 1 and count == 5 and value1 < value2 Then
ExitLong();
if MarketPosition == -1 and count == 5 and value1 > value2 Then
ExitShort();
즐거운 하루되세요
> 나로이 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 당일 첫 진입 수익시 진입금지,
손실 시 물량을 계속 2배수 하여 당일누적수익이 플러스가 될 때까지 계속해서 재진입 시스템을 만들고 싶습니다.
수정 부탁드립니다.
예1) 첫 진입(1계약) 수익 매매 끝
예2) 첫 진입(1계약) 손실, 두 번째 진입(2계약)으로 손실 복구 및 수익 매매 끝
예3) 첫 진입(1계약) 손실, 두 번째 진입(2계약) 손실, 세 번째 진입(4계약) 손실.....
최대 5연패 시 매매 정지.
Input : shortPeriod(5), longPeriod(20), 당일손익(1);
var : PredayPL(0),XCommission(0),XSlippage(0),dayPL(0);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
#당일누적손익계산 시작
if date != date[1] Then
PredayPL = NetProfit[1];
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
if MarketPosition() == 0 Then
dayPL = (NetProfit-PredayPL);
Else
dayPL = (NetProfit-PredayPL)+(PositionProfit-(XCommission+XSlippage));
# 매수/매도청산
If value1 > value2 and dayPL < 당일손익 Then
{
Buy();
}
# 매도/매수청산
If value1 < value2 and dayPL < 당일손익 Then
{
Sell();
}
다음글
이전글