커뮤니티
수식 문의 드립니다.
2012-04-26 07:50:31
367
글번호 50503
1. var1 = bids - asks;
위 호가잔량 ADX 지표를 만들어 주시면 감사하겠습니다. 사용자 함수로 부탁드립니다. 감사합니다.
2. 이전 거래가 손실이었다면 A조건으로 진입.
답변 1
예스스탁 예스스탁 답변
2012-04-26 13:24:28
안녕하세요
예스스탁입니다.
1.
사용자함수명 ADX2
Input : Length(Numeric);
Var : Counter(0), TRange(0), MyRange(Length), PlusDM14(0), PlusDM(0);
var : MinusDM14(0),MinusDM(0),DIPlusv(0),DIMinusv(0);
var : TH(0),TL(0),TR(0);
Var : DMIP(0), DMIM(0),DMIv(0);
Var : CummDMI(0), Return(0),ADXv(0);
var1 = bids - asks;
If var1[1] > var1 then
TH = var1[1];
else
TH = var1;
If var1[1] < var1 then
TL= var1[1];
else
TL = var1;
TR = TH - TL;
If CurrentBar == 1 Then {
MyRange = Length;
DIPlusv = 0;
DIMinusv = 0;
PlusDM14 = 0;
TRange = 0;
For Counter = 0 To MyRange - 1 {
If var1[Counter] - var1[Counter+1] < 0 Then
PlusDM = 0 ;
Else
PlusDM = var1[Counter] - var1[Counter+1];
If c[Counter+1] - var1[Counter] < 0 Then
MinusDM = 0;
Else
MinusDM = var1[Counter+1] - var1[Counter];
If MinusDM >= PlusDM Then
PlusDM = 0;
TRange = TRange + TrueRange[Counter];
PlusDM14 = PlusDM14 + PlusDM;
}
If TRange <> 0 Then
DIPlusv = 100 * PlusDM14 / TRange;
Else
DIPlusv = 0 ;
If TRange <> 0 Then
DIPlusv = 100 * PlusDM14 / TRange;
Else
DIPlusv = 0 ;
}
Else
If CurrentBar > 1 Then Begin
If var1[0] - var1[1] < 0 Then
PlusDM = 0;
Else
PlusDM = var1[0] - var1[1];
If var1 [1] - var1 [0] < 0 Then
MinusDM = 0;
Else
MinusDM = var1[1] - var1[0];
If MinusDM >= PlusDM Then
PlusDM = 0;
If MyRange > 0 Then Begin
TRange = TRange[1] - (TRange[1] / MyRange) + TR;
PlusDM14 = PlusDM14[1] - (PlusDM14[1] / MyRange) + PlusDM;
MinusDM14 = MinusDM14[1] - (MinusDM14[1] / MyRange) + MinusDM;
End;
If TRange <> 0 Then
DIPlusv = 100 * PlusDM14 / TRange;
Else
DIPlusv = 0 ;
If TRange <> 0 Then
DIMinusv = 100 * MinusDM14 / TRange;
Else
DIMinusv = 0;
End ;
DMIP = DIPlusv;
DMIM = DIMinusv;
If DMIP + DMIM == 0 Then
DMIv = 0;
Else
DMIv = 100 * AbsValue(DMIP - DMIM) / (DMIP + DMIM);
If CurrentBar >= 1 AND Length > 0 Then Begin
If CurrentBar < Length Then begin
CummDMI = 0;
for Counter = 0 To CurrentBar - 1 Begin
CummDMI = CummDMI + DMIV[Counter];
End;
Return = CummDMI / CurrentBar;
End
Else
Return = (ADXv[1] * (Length - 1) + DMIv) / Length;
End;
ADXv = Return;
ADX2 = ADXv;
2.
Condition1 = ExitDate(1) == sdate and PositionProfit(1) < 0 and MarketPosition == 0;
if Condition1 == true and a조건 tehn
buy();
if Condition1 == false and 다른조건 tehn
buy();
즐거운 하루되세요
> 무명 님이 쓴 글입니다.
> 제목 : 수식 문의 드립니다.
> 1. var1 = bids - asks;
위 호가잔량 ADX 지표를 만들어 주시면 감사하겠습니다. 사용자 함수로 부탁드립니다. 감사합니다.
2. 이전 거래가 손실이었다면 A조건으로 진입.
다음글
이전글