커뮤니티
이상합니다----------
2011-09-27 18:59:38
512
글번호 43097
input:전봉차(0.1),차이값(0.2),청산값(0.3),하루이익(1),하루손실(0.8);
INPUT : PCLENGTH(30);
INPUTS: TEMALENGTH(10);
VAR : TCHAN(0), BCHAN(0),TEMA1(0);
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
#당일누적손익계산 시작
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
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);
}
}
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
TCHAN = HIGHEST(HIGH, PCLENGTH)[1];
BCHAN = LOWEST(LOW, PCLENGTH)[1];
TEMA1 = (3 * Ema(c,TEMALENGTH)) - (3 * Ema(Ema(c,TEMALENGTH),TEMALENGTH)) +
(Ema(Ema(Ema(c,TEMALENGTH),TEMALENGTH),TEMALENGTH));
if daypl < 하루이익 and dayPL > 하루손실 then{
if TCHAN >= TCHAN[1]+전봉차 and abs(tema1-TCHAN) <= 차이값 Then
buy();
if BCHAN <= BCHAN[1]-전봉차 and abs(tema1-TCHAN) <= 차이값 Then
Sell();
}
if MarketPosition == 1 and abs(tema1-TCHAN) >= 청산값 Then
ExitLong();
if MarketPosition == -1 and abs(tema1-TCHAN) >= 청산값 Then
ExitShort();
if MarketPosition == 1 Then{
ExitLong("bx1",AtStop,EntryPrice+(-(하루손실)-(PLR)));
ExitLong("bx2",AtLimit,EntryPrice+((하루이익)-(PLR)));
}
if MarketPosition == -1 Then{
ExitShort("sx1",AtStop,EntryPrice+((하루손실)+(PLR)));
ExitShort("sx2",AtLimit,EntryPrice+(-(하루이익)+(PLR)));
}
첨부그림을보면 Price Channel BOP값이 전봉보다 0.1 이상하락하고 , Price Channel BOP과 TEMA(10)값의 차이가 0.2이하이면 매도해야하는데 신호가 안나오네요
그러니까 로직의취지는 두지표가 거의붙어서 하락할때 매도하는것입니다
부탁드립니다
- 1. 기울기.png (0.16 MB)
답변 1
예스스탁 예스스탁 답변
2011-09-28 10:46:40
안녕하세요
예스스탁입니다.
식을 수정했서 올려드립니다.
input:전봉차(0.1),차이값(0.2),청산값(0.3),하루이익(1),하루손실(0.8);
INPUT : PCLENGTH(30);
INPUTS: TEMALENGTH(10);
VAR : TCHAN(0), BCHAN(0),TEMA1(0);
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
#당일누적손익계산 시작
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
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);
}
}
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
TCHAN = HIGHEST(HIGH, PCLENGTH)[1];
BCHAN = LOWEST(LOW, PCLENGTH)[1];
TEMA1 = (3 * Ema(c,TEMALENGTH)) - (3 * Ema(Ema(c,TEMALENGTH),TEMALENGTH)) +
(Ema(Ema(Ema(c,TEMALENGTH),TEMALENGTH),TEMALENGTH));
if daypl < 하루이익 and dayPL > -하루손실 then{
if TCHAN >= TCHAN[1]+전봉차 and abs(tema1-TCHAN) <= 차이값 Then
buy();
if BCHAN <= BCHAN[1]-전봉차 and abs(tema1-BCHAN) <= 차이값 Then
Sell();
}
if MarketPosition == 1 and abs(tema1-TCHAN) >= 청산값 Then
ExitLong("bx");
if MarketPosition == -1 and abs(tema1-BCHAN) >= 청산값 Then
ExitShort("sx");
if MarketPosition == 1 Then{
ExitLong("bx1",AtStop,EntryPrice+(-(하루손실)-(PLR)));
ExitLong("bx2",AtLimit,EntryPrice+((하루이익)-(PLR)));
}
if MarketPosition == -1 Then{
ExitShort("sx1",AtStop,EntryPrice+((하루손실)+(PLR)));
ExitShort("sx2",AtLimit,EntryPrice+(-(하루이익)+(PLR)));
}
즐거운 하루되세요
> leekss1 님이 쓴 글입니다.
> 제목 : 이상합니다----------
>
input:전봉차(0.1),차이값(0.2),청산값(0.3),하루이익(1),하루손실(0.8);
INPUT : PCLENGTH(30);
INPUTS: TEMALENGTH(10);
VAR : TCHAN(0), BCHAN(0),TEMA1(0);
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
#당일누적손익계산 시작
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
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);
}
}
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
TCHAN = HIGHEST(HIGH, PCLENGTH)[1];
BCHAN = LOWEST(LOW, PCLENGTH)[1];
TEMA1 = (3 * Ema(c,TEMALENGTH)) - (3 * Ema(Ema(c,TEMALENGTH),TEMALENGTH)) +
(Ema(Ema(Ema(c,TEMALENGTH),TEMALENGTH),TEMALENGTH));
if daypl < 하루이익 and dayPL > 하루손실 then{
if TCHAN >= TCHAN[1]+전봉차 and abs(tema1-TCHAN) <= 차이값 Then
buy();
if BCHAN <= BCHAN[1]-전봉차 and abs(tema1-TCHAN) <= 차이값 Then
Sell();
}
if MarketPosition == 1 and abs(tema1-TCHAN) >= 청산값 Then
ExitLong();
if MarketPosition == -1 and abs(tema1-TCHAN) >= 청산값 Then
ExitShort();
if MarketPosition == 1 Then{
ExitLong("bx1",AtStop,EntryPrice+(-(하루손실)-(PLR)));
ExitLong("bx2",AtLimit,EntryPrice+((하루이익)-(PLR)));
}
if MarketPosition == -1 Then{
ExitShort("sx1",AtStop,EntryPrice+((하루손실)+(PLR)));
ExitShort("sx2",AtLimit,EntryPrice+(-(하루이익)+(PLR)));
}
첨부그림을보면 Price Channel BOP값이 전봉보다 0.1 이상하락하고 , Price Channel BOP과 TEMA(10)값의 차이가 0.2이하이면 매도해야하는데 신호가 안나오네요
그러니까 로직의취지는 두지표가 거의붙어서 하락할때 매도하는것입니다
부탁드립니다
다음글
이전글