커뮤니티
수식 추가 부탁드려요
2012-05-29 14:39:22
308
글번호 51427
오전에 부탁한 것 잘 짜주셨어 감사합니다.
data1,data2 의 합의 RSI 와 Stochastics 도 부탁드립니다.
좋은 하루 보내세요~
=====================================================
Input : Period(10);
Var : Value(0,data1),Sim(0,data1);
var : sum(0,data1),EvgPrice(0,data1),count(0,data1),sumprice(0,data1);
sum = data1(c)+data2(c);
if Sum > Sum[1] then
Value = 1;
else
Value = 0;
Sim = data1(AccumN(Value, Period) * 100 / Period);
if data1(stime <= 142000) and CurrentContracts < 21 then{
if crossup(Sim[1],75) or CrossDown(Sim[1],25) Then{
sell("s1",OnClose,def,1);
sell("s2",OnClose,def,1);
sell("s3",OnClose,def,1);
}
답변 1
예스스탁 예스스탁 답변
2012-05-29 15:43:21
안녕하세요
예스스탁입니다.
1. RSI
Inputs: Length(9);
Variables: Counter(0,data1), DownAmt(0,data1), UpAmt(0,data1), UpSum(0,data1), DownSum(0,data1), UpAvg(0,data1), DownAvg(0,data1);
var : sum(0,data1),EvgPrice(0,data1),count(0,data1),sumprice(0,data1),RSIV(0,data1);
sum = data1(c)+data2(c);
If CurrentBar == 1 AND Length > 0 Then Begin
UpSum = 0;
DownSum = 0;
For Counter = 0 To Length - 1 Begin
UpAmt = sum[Counter] - sum[Counter+1];
If UpAmt >= 0 Then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpSum = UpSum + UpAmt;
DownSum = DownSum + DownAmt;
End;
UpAvg = UpSum / Length;
DownAvg = DownSum / Length;
End
Else
If CurrentBar > 1 AND Length > 0 Then Begin
UpAmt = sum[0] - sum[1];
If UpAmt >= 0 Then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length;
DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length;
End;
If UpAvg + DownAvg <> 0 Then
RSIv = 100 * UpAvg / (UpAvg + DownAvg);
Else
RSIv = 0;
if data1(stime <= 142000) and CurrentContracts < 21 then{
if crossup(RSIv[1],70) or CrossDown(RSIv[1],30) Then{
sell("s1",OnClose,def,1);
sell("s2",OnClose,def,1);
sell("s3",OnClose,def,1);
}
}
2. Stochastics
Inputs: Period1(10),Period2(5),Period3(3);
var : sum(0,data1),EvgPrice(0,data1),count(0,data1),sumprice(0,data1);
Var : Value_Lowest(0,data1), Value_Highest(0,data1);
var : FK(0,data1),SK(0,data1),SD(0,data1);
sum = data1(c)+data2(c);
Value_Lowest = data1(Lowest(sum, Period1));
Value_Highest = data2(Highest(sum, Period1));
FK = (sum - Value_Lowest) / (Value_Highest - Value_Lowest) * 100;
SK = data1(ema(FK,Period2));
SD = data1(ema(SK,Period3));
if data1(stime <= 142000) and CurrentContracts < 21 then{
if crossup(SK[1],80) or CrossDown(SK[1],20) Then{
sell("s1",OnClose,def,1);
sell("s2",OnClose,def,1);
sell("s3",OnClose,def,1);
}
}
즐거운 하루되세요
> 한걸음7 님이 쓴 글입니다.
> 제목 : 수식 추가 부탁드려요
> 오전에 부탁한 것 잘 짜주셨어 감사합니다.
data1,data2 의 합의 RSI 와 Stochastics 도 부탁드립니다.
좋은 하루 보내세요~
=====================================================
Input : Period(10);
Var : Value(0,data1),Sim(0,data1);
var : sum(0,data1),EvgPrice(0,data1),count(0,data1),sumprice(0,data1);
sum = data1(c)+data2(c);
if Sum > Sum[1] then
Value = 1;
else
Value = 0;
Sim = data1(AccumN(Value, Period) * 100 / Period);
if data1(stime <= 142000) and CurrentContracts < 21 then{
if crossup(Sim[1],75) or CrossDown(Sim[1],25) Then{
sell("s1",OnClose,def,1);
sell("s2",OnClose,def,1);
sell("s3",OnClose,def,1);
}