커뮤니티
안녕하세요
2014-02-18 09:02:10
177
글번호 72658
안녕하세요.반갑습니다
두가지 질문드리겟습니다
1.MACD 오실레이트 기준선(0선)상향돌파+RSI 기준선(50)상향돌파
동시만족시:매수
반대:매도.
2.현재챠트 MACD 오실레이트 기준선(0선)상향돌파+RSI 기준선(50)상향돌파
현재챠트+2배수챠트+3배수챠트 동시만족:매수
반대:매도
감사합니다
답변 2
예스스탁 예스스탁 답변
2014-02-18 15:58:59
안녕하세요
예스스탁입니다.
1.
input : P1(12),P2(26),P3(9),P(10);
var1 = MACD_OSC(P1,P2,P3);
var2 = RSI(P);
if crossup(var1,0) and crossup(var2,50) Then
buy();
if CrossDown(var1,0) and CrossDown(var2,50) Then
sell();
2.
input : RSIP(9);
var : RSI1(0),RSIS1(0),TF2(0),TF3(0),rSI2(0),RSIS2(0),RSI3(0),RSIS3(0);
var : RRSigSum(0),RRcount2(0),RRSIsig(0);
Var : RRCounter(0), RRDownAmt(0), RRUpAmt(0), RRUpSum(0), RRDownSum(0), RRUpAvg(0), RRDownAvg(0);
var : RRDindex(0), RRPreUpAvg(0), RRpreDownAvg(0),RRcnt1(0);
var : RSigSum(0),Rcount2(0),RSIsig(0);
Var : RCounter(0), RDownAmt(0), RUpAmt(0), RUpSum(0), RDownSum(0), RUpAvg(0), RDownAvg(0);
var : RDindex(0), RPreUpAvg(0), RpreDownAvg(0),Rcnt1(0);
Array : RC[100](0),RSIV1[100](0);
Array : RRC[100](0),RRSIV1[100](0);
Input : Period1(12),Period2(26),Period3(9);
Var : Ep1(0), JISU1(0), DINDEX1(0), PreJISU1(0);
Var : Ep2(0), JISU2(0), PreJISU2(0);
Var : Ep3(0), JISU3(0), PreMACDSIG(0),TF(0);
var : MACDVal(0),MACDSig(0),MACDOsc(0);
Var : JISU11(0), DINDEX11(0), PreJISU11(0);
Var : JISU12(0), PreJISU12(0);
Var : JISU13(0), PreMACDSIG1(0),TF1(0);
var : MACDVal1(0),MACDSig1(0),MACDOsc1(0),MACDO(0);
RSI1 = RSI(RSIP);
MACDO = MACD_OSC(Period1,Period2,Period3);
if crossup(var1,0) and crossup(var2,50) Then
buy();
if CrossDown(var1,0) and CrossDown(var2,50) Then
sell();
TF2 = TimeToMinutes(stime)%(BarInterval*2);
TF3 = TimeToMinutes(stime)%(BarInterval*4);
if dayindex() == 0 or (TF2 < TF2[1] and stime > stime[1]) Then{
for Rcnt1 = 1 to 99{
RC[Rcnt1] = RC[Rcnt1-1][1];
RSIv1[Rcnt1] = RSIv1[Rcnt1-1][1];
}
RPreUpAvg = RUpAvg[1];
RpreDownAvg = RDownAvg[1];
RDindex = Rdindex + 1;
}
RC[0] = C;
If RDindex == RSIP Then Begin
RUpSum = 0;
RDownSum = 0;
For RCounter = 0 To RSIP - 1 Begin
RUpAmt = C[RCounter] - C[RCounter+1];
If RUpAmt >= 0 Then
RDownAmt = 0;
Else Begin
RDownAmt = -RUpAmt;
RUpAmt = 0;
End;
RUpSum = RUpSum + RUpAmt;
RDownSum = RDownSum + RDownAmt;
End;
RUpAvg = RUpSum / RSIP;
RDownAvg = RDownSum / RSIP;
End
If RDindex > RSIP Then {
RUpAmt = RC[0]-Rc[1];
If RUpAmt >= 0 Then
RDownAmt = 0;
Else
{
RDownAmt = -RUpAmt;
RUpAmt = 0;
}
if RDindex <=1 Then {
RUpAvg = 1;
RDownAvg = 1;
}
Else {
RUpAvg = (RPreUpAvg * (RSIP - 1) + RUpAmt) / RSIP;
RDownAvg = (RpreDownAvg * (RSIP - 1) + RDownAmt) / RSIP;
}
}
If RUpAvg + RDownAvg <> 0 Then
RSIv1[0] = 100 * RUpAvg / (RUpAvg + RDownAvg);
Else
RSIv1[0] = 0;
RSI2 = RSIv1[0];
if dayindex() == 0 or (TF3 < TF3[1] and stime > stime[1]) Then{
for RRcnt1 = 1 to 99{
RRC[RRcnt1] = RRC[RRcnt1-1][1];
RRSIv1[Rcnt1] = RRSIv1[Rcnt1-1][1];
}
RRPreUpAvg = RRUpAvg[1];
RRpreDownAvg = RRDownAvg[1];
RRDindex = RRdindex + 1;
}
RRC[0] = C;
If RRDindex == RSIP Then Begin
RRUpSum = 0;
RRDownSum = 0;
For RRCounter = 0 To RSIP - 1 Begin
RRUpAmt = C[RRCounter] - C[RRCounter+1];
If RRUpAmt >= 0 Then
RRDownAmt = 0;
Else Begin
RRDownAmt = -RRUpAmt;
RRUpAmt = 0;
End;
RRUpSum = RRUpSum + RRUpAmt;
RRDownSum = RRDownSum + RRDownAmt;
End;
RRUpAvg = RRUpSum / RSIP;
RRDownAvg = RRDownSum / RSIP;
End
If RRDindex > RSIP Then {
RRUpAmt = RRC[0]-RRC[1];
If RRUpAmt >= 0 Then
RRDownAmt = 0;
Else
{
RRDownAmt = -RRUpAmt;
RRUpAmt = 0;
}
if RRDindex <=1 Then {
RRUpAvg = 1;
RRDownAvg = 1;
}
Else {
RRUpAvg = (RRPreUpAvg * (RSIP - 1) + RRUpAmt) / RSIP;
RRDownAvg = (RRpreDownAvg * (RSIP - 1) + RRDownAmt) / RSIP;
}
}
If RRUpAvg + RRDownAvg <> 0 Then
RRSIv1[0] = 100 * RRUpAvg / (RRUpAvg + RRDownAvg);
Else
RRSIv1[0] = 0;
RSI3 = RRSIv1[0];
Ep1 = 2/(Period1+1);
Ep2 = 2/(Period2+1);
Ep3 = 2/(Period3+1);
TF2 = TimeToMinutes(stime)%(BarInterval*2);
TF3 = TimeToMinutes(stime)%(BarInterval*4);
if dayindex() == 0 or (TF2 < TF2[1] and stime > stime[1]) Then{
DINDEX1 = DINDEX1 + 1;
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
if Dindex1 >= 2 Then
PreMACDSIG = MACDSIG[1];
}
if DINDEX1 <= 1 then {
JISU1 = C;
JISU2 = C;
}
else{
JISU1 = C * EP1 + PreJISU1 * (1-EP1);
JISU2 = C * EP2 + PreJISU2 * (1-EP2);
}
MACDVal = JiSu1-Jisu2;
if DINDEX1 <= 2 then
MACDSIG = Jisu1-jisu2;
else
MACDSIG = MACDVal * EP3 + PreMACDSIG * (1-EP3);
MACDOsc = MACDVal-MACDsig;
if dayindex() == 0 or (TF3 < TF3[1] and stime > stime[1]) Then{
DINDEX11 = DINDEX11 + 1;
PreJISU11 = JISU11[1];
PreJISU12 = JISU12[1];
if Dindex11 >= 2 Then
PreMACDSIG1 = MACDSIG1[1];
}
if DINDEX11 <= 1 then {
JISU11 = C;
JISU12 = C;
}
else{
JISU11 = C * EP1 + PreJISU11 * (1-EP1);
JISU12 = C * EP2 + PreJISU12 * (1-EP2);
}
MACDVal1 = JiSu11-Jisu12;
if DINDEX11 <= 2 then
MACDSIG1 = Jisu11-jisu12;
else
MACDSIG1 = MACDVal1 * EP3 + PreMACDSIG1 * (1-EP3);
MACDOsc1 = MACDVal1-MACDsig1;
if crossup(MACDO,0) and crossup(RSI1,50) And
crossup(MACDOsc,0) and crossup(RSI2,50) And
crossup(MACDOsc1,0) and crossup(RSI3,50) Then
buy();
if CrossDown(MACDO,0) and CrossDown(RSI1,50) And
CrossDown(MACDOsc,0) and CrossDown(RSI2,50) And
CrossDown(MACDOsc1,0) and CrossDown(RSI3,50) Then
sell();
즐거운 하루되세요
> jbouu123 님이 쓴 글입니다.
> 제목 : 안녕하세요
> 안녕하세요.반갑습니다
두가지 질문드리겟습니다
1.MACD 오실레이트 기준선(0선)상향돌파+RSI 기준선(50)상향돌파
동시만족시:매수
반대:매도.
2.현재챠트 MACD 오실레이트 기준선(0선)상향돌파+RSI 기준선(50)상향돌파
현재챠트+2배수챠트+3배수챠트 동시만족:매수
반대:매도
감사합니다
예스스탁 예스스탁 답변
2014-09-01 16:53:32
안녕하세요
예스스탁입니다.
input : P(10),sig(20);
var1 = RSI(P);
var2 = ma(var1,sig);
var3 = var1-var2;
if var3 > 0 Then
plot1(var3,"RSI오실레이터",RED);
Else
plot1(var3,"RSI오실레이터",blue);
지표속성화면에서 막대그래프로 지정하고 보시면 됩니다.
즐거운 하루되세요
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 안녕하세요
>
안녕하세요
예스스탁입니다.
1.
input : P1(12),P2(26),P3(9),P(10);
var1 = MACD_OSC(P1,P2,P3);
var2 = RSI(P);
if crossup(var1,0) and crossup(var2,50) Then
buy();
if CrossDown(var1,0) and CrossDown(var2,50) Then
sell();
2.
input : RSIP(9);
var : RSI1(0),RSIS1(0),TF2(0),TF3(0),rSI2(0),RSIS2(0),RSI3(0),RSIS3(0);
var : RRSigSum(0),RRcount2(0),RRSIsig(0);
Var : RRCounter(0), RRDownAmt(0), RRUpAmt(0), RRUpSum(0), RRDownSum(0), RRUpAvg(0), RRDownAvg(0);
var : RRDindex(0), RRPreUpAvg(0), RRpreDownAvg(0),RRcnt1(0);
var : RSigSum(0),Rcount2(0),RSIsig(0);
Var : RCounter(0), RDownAmt(0), RUpAmt(0), RUpSum(0), RDownSum(0), RUpAvg(0), RDownAvg(0);
var : RDindex(0), RPreUpAvg(0), RpreDownAvg(0),Rcnt1(0);
Array : RC[100](0),RSIV1[100](0);
Array : RRC[100](0),RRSIV1[100](0);
Input : Period1(12),Period2(26),Period3(9);
Var : Ep1(0), JISU1(0), DINDEX1(0), PreJISU1(0);
Var : Ep2(0), JISU2(0), PreJISU2(0);
Var : Ep3(0), JISU3(0), PreMACDSIG(0),TF(0);
var : MACDVal(0),MACDSig(0),MACDOsc(0);
Var : JISU11(0), DINDEX11(0), PreJISU11(0);
Var : JISU12(0), PreJISU12(0);
Var : JISU13(0), PreMACDSIG1(0),TF1(0);
var : MACDVal1(0),MACDSig1(0),MACDOsc1(0),MACDO(0);
RSI1 = RSI(RSIP);
MACDO = MACD_OSC(Period1,Period2,Period3);
if crossup(var1,0) and crossup(var2,50) Then
buy();
if CrossDown(var1,0) and CrossDown(var2,50) Then
sell();
TF2 = TimeToMinutes(stime)%(BarInterval*2);
TF3 = TimeToMinutes(stime)%(BarInterval*4);
if dayindex() == 0 or (TF2 < TF2[1] and stime > stime[1]) Then{
for Rcnt1 = 1 to 99{
RC[Rcnt1] = RC[Rcnt1-1][1];
RSIv1[Rcnt1] = RSIv1[Rcnt1-1][1];
}
RPreUpAvg = RUpAvg[1];
RpreDownAvg = RDownAvg[1];
RDindex = Rdindex + 1;
}
RC[0] = C;
If RDindex == RSIP Then Begin
RUpSum = 0;
RDownSum = 0;
For RCounter = 0 To RSIP - 1 Begin
RUpAmt = C[RCounter] - C[RCounter+1];
If RUpAmt >= 0 Then
RDownAmt = 0;
Else Begin
RDownAmt = -RUpAmt;
RUpAmt = 0;
End;
RUpSum = RUpSum + RUpAmt;
RDownSum = RDownSum + RDownAmt;
End;
RUpAvg = RUpSum / RSIP;
RDownAvg = RDownSum / RSIP;
End
If RDindex > RSIP Then {
RUpAmt = RC[0]-Rc[1];
If RUpAmt >= 0 Then
RDownAmt = 0;
Else
{
RDownAmt = -RUpAmt;
RUpAmt = 0;
}
if RDindex <=1 Then {
RUpAvg = 1;
RDownAvg = 1;
}
Else {
RUpAvg = (RPreUpAvg * (RSIP - 1) + RUpAmt) / RSIP;
RDownAvg = (RpreDownAvg * (RSIP - 1) + RDownAmt) / RSIP;
}
}
If RUpAvg + RDownAvg <> 0 Then
RSIv1[0] = 100 * RUpAvg / (RUpAvg + RDownAvg);
Else
RSIv1[0] = 0;
RSI2 = RSIv1[0];
if dayindex() == 0 or (TF3 < TF3[1] and stime > stime[1]) Then{
for RRcnt1 = 1 to 99{
RRC[RRcnt1] = RRC[RRcnt1-1][1];
RRSIv1[Rcnt1] = RRSIv1[Rcnt1-1][1];
}
RRPreUpAvg = RRUpAvg[1];
RRpreDownAvg = RRDownAvg[1];
RRDindex = RRdindex + 1;
}
RRC[0] = C;
If RRDindex == RSIP Then Begin
RRUpSum = 0;
RRDownSum = 0;
For RRCounter = 0 To RSIP - 1 Begin
RRUpAmt = C[RRCounter] - C[RRCounter+1];
If RRUpAmt >= 0 Then
RRDownAmt = 0;
Else Begin
RRDownAmt = -RRUpAmt;
RRUpAmt = 0;
End;
RRUpSum = RRUpSum + RRUpAmt;
RRDownSum = RRDownSum + RRDownAmt;
End;
RRUpAvg = RRUpSum / RSIP;
RRDownAvg = RRDownSum / RSIP;
End
If RRDindex > RSIP Then {
RRUpAmt = RRC[0]-RRC[1];
If RRUpAmt >= 0 Then
RRDownAmt = 0;
Else
{
RRDownAmt = -RRUpAmt;
RRUpAmt = 0;
}
if RRDindex <=1 Then {
RRUpAvg = 1;
RRDownAvg = 1;
}
Else {
RRUpAvg = (RRPreUpAvg * (RSIP - 1) + RRUpAmt) / RSIP;
RRDownAvg = (RRpreDownAvg * (RSIP - 1) + RRDownAmt) / RSIP;
}
}
If RRUpAvg + RRDownAvg <> 0 Then
RRSIv1[0] = 100 * RRUpAvg / (RRUpAvg + RRDownAvg);
Else
RRSIv1[0] = 0;
RSI3 = RRSIv1[0];
Ep1 = 2/(Period1+1);
Ep2 = 2/(Period2+1);
Ep3 = 2/(Period3+1);
TF2 = TimeToMinutes(stime)%(BarInterval*2);
TF3 = TimeToMinutes(stime)%(BarInterval*4);
if dayindex() == 0 or (TF2 < TF2[1] and stime > stime[1]) Then{
DINDEX1 = DINDEX1 + 1;
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
if Dindex1 >= 2 Then
PreMACDSIG = MACDSIG[1];
}
if DINDEX1 <= 1 then {
JISU1 = C;
JISU2 = C;
}
else{
JISU1 = C * EP1 + PreJISU1 * (1-EP1);
JISU2 = C * EP2 + PreJISU2 * (1-EP2);
}
MACDVal = JiSu1-Jisu2;
if DINDEX1 <= 2 then
MACDSIG = Jisu1-jisu2;
else
MACDSIG = MACDVal * EP3 + PreMACDSIG * (1-EP3);
MACDOsc = MACDVal-MACDsig;
if dayindex() == 0 or (TF3 < TF3[1] and stime > stime[1]) Then{
DINDEX11 = DINDEX11 + 1;
PreJISU11 = JISU11[1];
PreJISU12 = JISU12[1];
if Dindex11 >= 2 Then
PreMACDSIG1 = MACDSIG1[1];
}
if DINDEX11 <= 1 then {
JISU11 = C;
JISU12 = C;
}
else{
JISU11 = C * EP1 + PreJISU11 * (1-EP1);
JISU12 = C * EP2 + PreJISU12 * (1-EP2);
}
MACDVal1 = JiSu11-Jisu12;
if DINDEX11 <= 2 then
MACDSIG1 = Jisu11-jisu12;
else
MACDSIG1 = MACDVal1 * EP3 + PreMACDSIG1 * (1-EP3);
MACDOsc1 = MACDVal1-MACDsig1;
if crossup(MACDO,0) and crossup(RSI1,50) And
crossup(MACDOsc,0) and crossup(RSI2,50) And
crossup(MACDOsc1,0) and crossup(RSI3,50) Then
buy();
if CrossDown(MACDO,0) and CrossDown(RSI1,50) And
CrossDown(MACDOsc,0) and CrossDown(RSI2,50) And
CrossDown(MACDOsc1,0) and CrossDown(RSI3,50) Then
sell();
즐거운 하루되세요
> jbouu123 님이 쓴 글입니다.
> 제목 : 안녕하세요
> 안녕하세요.반갑습니다
두가지 질문드리겟습니다
1.MACD 오실레이트 기준선(0선)상향돌파+RSI 기준선(50)상향돌파
동시만족시:매수
반대:매도.
2.현재챠트 MACD 오실레이트 기준선(0선)상향돌파+RSI 기준선(50)상향돌파
현재챠트+2배수챠트+3배수챠트 동시만족:매수
반대:매도
감사합니다