커뮤니티
안녕하세요
2014-01-06 15:31:43
129
글번호 71096
안녕하세요
무리하게 수식부탁해서 염치가 없지요
이후로는 절대 자중하겟습니다
간단한걸로요 (챠트 한개.분챠트용)
가) cci과매수:1)현재분챠트과매수.2)2배수챠트과매수.3)4배수챠트과매수
위의3개항만족시:매수
반대:매도
나)MACD"0선"위 macd osillater 양오실매수:1)현재분챠트양오실.2)2배수챠트양오실.
3)4배 수챠트양오실
위의3개항만족시:매수
반대:매도
아래식은 어제 올려준 식입니다
input : N(30),AA(60),BB(40);
var1 = highest(h,N);
var2 = lowest(l,N);
var3 = var1-var2;
if crossup(c,var2+var3*(AA/100)) Then
buy();
if CrossDown(c,var2+var3*(BB/100)) Then
sell();
감사합니다
답변 1
예스스탁 예스스탁 답변
2014-01-06 16:20:30
안녕하세요
예스스탁입니다.
타주기의 값을 계산하는 부분은
실제와 값의 차이가 발생할수 있습니다.
이용에 참고하시기 바랍니다.
1.
input : P(9);
var : TM(0),cnt(0);
Var : MD1(0), Avgvalue1(0),CCIv1(0),TF1(0),sum1(0),mav1(0);
Var : MD2(0), Avgvalue2(0),CCIv2(0),TF2(0),sum2(0),mav2(0);
Array : C1[100](0),L1[100](0),H1[100](0);
Array : C2[100](0),L2[100](0),H2[100](0);
if date != date[1] Then
TM = TimeToMinutes(stime);
TF1 = (TimeToMinutes(stime)-TM)%(BarInterval*2);
TF2 = (TimeToMinutes(stime)-TM)%(BarInterval*4);
if dayindex() == 0 or (TF1 < TF1[1] and stime > stime[1]) Then{
H1[0] = H;
L1[0] = L;
C1[1] = C[1];
for cnt = 1 to 99{
H1[cnt] = H1[cnt-1][1];
L1[cnt] = L1[cnt-1][1];
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = C;
if H > H1[0] Then
H1[0] = H;
if L < L1[0] Then
L1[0] = L;
sum1 = 0;
for cnt = 0 to P-1{
sum1 = sum1+(C1[cnt]+H1[cnt]+L1[cnt]);
}
mav1 = sum1/P;
If H1[P] > 0 Then Begin
Avgvalue1 = mav1;
MD1 = 0;
For cnt = 0 To P - 1 Begin
MD1 = MD1 + Abs(H1[cnt] + L1[cnt] + C1[cnt] - Avgvalue1);
End;
MD1 = MD1 / P;
If MD1 == 0 Then
CCIv1 = 0;
Else
CCIv1 = (H1[0] + L1[0] + C1[0] - Avgvalue1) / (0.015 * MD1);
End
Else
CCIv1 = 0;
if dayindex() == 0 or (TF2 < TF2[1] and stime > stime[1]) Then{
H2[0] = H;
L2[0] = L;
C2[1] = C[1];
for cnt = 1 to 99{
H2[cnt] = H2[cnt-1][1];
L2[cnt] = L2[cnt-1][1];
C2[cnt] = C2[cnt-1][1];
}
}
C2[0] = C;
if H > H2[0] Then
H2[0] = H;
if L < L2[0] Then
L2[0] = L;
sum2 = 0;
for cnt = 0 to P-1{
sum2 = sum2+(C2[cnt]+H2[cnt]+L2[cnt]);
}
mav2 = sum2/P;
If H2[P] > 0 Then Begin
Avgvalue2 = mav2;
MD2 = 0;
For cnt = 0 To P - 1 Begin
MD2 = MD2 + Abs(H2[cnt] + L2[cnt] + C2[cnt] - Avgvalue2);
End;
MD2 = MD2 / P;
If MD1 == 0 Then
CCIv2 = 0;
Else
CCIv2 = (H2[0] + L2[0] + C2[0] - Avgvalue2) / (0.015 * MD2);
End
Else
CCIv2 = 0;
var1 = CCI(P);
if var1 >= 100 and CCIv1 >= 100 and CCIV2 >= 100 Then
buy();
if var1 <= -100 and CCIv1 <= -100 and CCIv2 <= -100 Then
sell();
2.
Input : Period1(12),Period2(26),Period3(9);
var : TM(0),Ep1(0),Ep2(0), Ep3(0);
var : DINDEX1(0), JISU1(0), JISU2(0);
var : PreJISU1(0),PreJISU2(0), PreMACDSIG(0),TF1(0);
var : MACDVal(0),MACDSig(0),MACDOsc(0),PreMACDOsc(0);
var : TDINDEX1(0), TJISU1(0), TJISU2(0);
var : TPreJISU1(0),TPreJISU2(0), TPreMACDSIG(0),TF2(0);
var : TMACDVal(0),TMACDSig(0),TMACDOsc(0),TPreMACDOsc(0);
Ep1 = 2/(Period1+1);
Ep2 = 2/(Period2+1);
Ep3 = 2/(Period3+1);
if date != date[1] Then
TM = TimeToMinutes(stime);
TF1 = (TimeToMinutes(stime)-TM)%(BarInterval*2);
if dayindex() == 0 or (TF1 < TF1[1] and stime > stime[1]) Then{
DINDEX1 = DINDEX1 + 1;
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
if Dindex1 >= 2 Then{
PreMACDSIG = MACDSIG[1];
PreMACDOsc = MACDOsc[1];
}
}
if DINDEX1 <= 1 then {
JISU1 = C;
JISU2 = C;
MACDVal = JiSu1-Jisu2;
}
else{
JISU1 = C * EP1 + PreJISU1 * (1-EP1);
JISU2 = C * EP2 + PreJISU2 * (1-EP2);
MACDVal = JiSu1-Jisu2;
}
if DINDEX1 <= 2 then {
MACDSIG = MACDVal;
MACDOsc = MACDVal-MACDsig;
}
else{
MACDSIG = MACDVal * EP3 + PreMACDSIG * (1-EP3);
MACDOsc = MACDVal-MACDsig;
}
Ep1 = 2/(Period1+1);
Ep2 = 2/(Period2+1);
Ep3 = 2/(Period3+1);
if date != date[1] Then
TM = TimeToMinutes(stime);
TF2 = (TimeToMinutes(stime)-TM)%(BarInterval*4);
if dayindex() == 0 or (TF2 < TF2[1] and stime > stime[1]) Then{
TDINDEX1 = TDINDEX1 + 1;
TPreJISU1 = TJISU1[1];
TPreJISU2 = TJISU2[1];
if TDindex1 >= 2 Then{
TPreMACDSIG = TMACDSIG[1];
TPreMACDOsc = TMACDOsc[1];
}
}
if TDINDEX1 <= 1 then {
TJISU1 = C;
TJISU2 = C;
TMACDVal = TJiSu1-TJisu2;
}
else{
TJISU1 = C * EP1 + TPreJISU1 * (1-EP1);
TJISU2 = C * EP2 + TPreJISU2 * (1-EP2);
TMACDVal = TJiSu1-TJisu2;
}
if TDINDEX1 <= 2 then {
TMACDSIG = TMACDVal;
TMACDOsc = TMACDVal-TMACDsig;
}
else{
TMACDSIG = TMACDVal * EP3 + TPreMACDSIG * (1-EP3);
TMACDOsc = TMACDVal-TMACDsig;
}
var1 = MACD_OSC(Period1,period2,Period3);
var2 = MACD(Period1,Period2);
if var1 > 0 and var2 > 0 and MACDOsc > 0 and MACDVal > 0 and TMACDOsc > 0 and TMACDVal > 0 Then
buy();
if var1 < 0 and var2 < 0 and MACDOsc < 0 and MACDVal < 0 and TMACDOsc < 0 and TMACDVal < 0 Then
sell();
3.
input : N(30),AA(60),BB(40);
var : TM(0),TF1(0),TF2(0),cnt(0),HH1(0),LL1(0),HH2(0),LL2(0);
var : Diff1(0),Diff2(0);
Array : L1[100](0),H1[100](0);
Array : L2[100](0),H2[100](0);
if date != date[1] Then
TM = TimeToMinutes(stime);
TF1 = (TimeToMinutes(stime)-TM)%(BarInterval*2);
TF2 = (TimeToMinutes(stime)-TM)%(BarInterval*4);
if dayindex() == 0 or (TF1 < TF1[1] and stime > stime[1]) Then{
H1[0] = H;
L1[0] = L;
for cnt = 1 to 99{
H1[cnt] = H1[cnt-1][1];
L1[cnt] = L1[cnt-1][1];
}
}
if H > H1[0] Then
H1[0] = H;
if L < L1[0] Then
L1[0] = L;
if dayindex() == 0 or (TF2 < TF2[1] and stime > stime[1]) Then{
H2[0] = H;
L2[0] = L;
for cnt = 1 to 99{
H2[cnt] = H2[cnt-1][1];
L2[cnt] = L2[cnt-1][1];
}
}
if H > H2[0] Then
H2[0] = H;
if L < L2[0] Then
L2[0] = L;
if H1[N-1] > 0 and L1[N-1] > 0 Then{
HH1 = H1[0];
LL1 = L1[0];
for cnt = 0 to N-1{
if H1[cnt] > HH1 Then
HH1 = H1[cnt];
if L1[cnt] < LL1 Then
LL1 = L1[cnt];
}
Diff1 = HH1-LL1;
}
if H2[N-1] > 0 and L2[N-1] > 0 Then{
HH2 = H2[0];
LL2 = L2[0];
for cnt = 0 to N-1{
if H2[cnt] > HH2 Then
HH2 = H2[cnt];
if L2[cnt] < LL2 Then
LL2 = L2[cnt];
}
Diff2 = HH2-LL2;
}
var1 = highest(h,N);
var2 = lowest(l,N);
var3 = var1-var2;
if crossup(c,var2+var3*(AA/100)) and crossup(c,LL1+Diff1*(AA/100)) and crossup(c,LL2+Diff2*(AA/100)) Then
buy();
if CrossDown(c,var2+var3*(BB/100)) and CrossDown(c,LL1+Diff1*(BB/100)) and CrossDown(c,LL2+Diff2*(BB/100)) Then
sell();
즐거운 하루되세요
> jbouu123 님이 쓴 글입니다.
> 제목 : 안녕하세요
> 안녕하세요
무리하게 수식부탁해서 염치가 없지요
이후로는 절대 자중하겟습니다
간단한걸로요 (챠트 한개.분챠트용)
가) cci과매수:1)현재분챠트과매수.2)2배수챠트과매수.3)4배수챠트과매수
위의3개항만족시:매수
반대:매도
나)MACD"0선"위 macd osillater 양오실매수:1)현재분챠트양오실.2)2배수챠트양오실.
3)4배 수챠트양오실
위의3개항만족시:매수
반대:매도
아래식은 어제 올려준 식입니다
input : N(30),AA(60),BB(40);
var1 = highest(h,N);
var2 = lowest(l,N);
var3 = var1-var2;
if crossup(c,var2+var3*(AA/100)) Then
buy();
if CrossDown(c,var2+var3*(BB/100)) Then
sell();
감사합니다