답변완료
70996 번 재질문합니다.
안녕하세요
아래 수식은 예스스탁에서 70996 번 질문에 의해 작성해주신 수식입니다.
아래의 수식을 다음과 같이 변경해주십시요.
- 다 음 -
매수. 메도 신호가 반대로 즉 매수신호에 매도. 매도신호에 매수로 실행되어
결과치 값이 반대로 나오도록 해주십시요.
- 아 래 -
Input : shortPeriod(20), longPeriod(32),포인트(20);
Var : value(0),T(0),P(0);
value = MACD(shortPeriod, longPeriod);
If CrossUP(value, 0) Then
{
T = 1;
P = C;
if MarketPosition == -1 Then
ExitShort("sx");
}
If CrossDown(value, 0) Then
{
T = -1;
P = C;
if MarketPosition == 1 Then
ExitLong("bx");
}
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
T = 0;
if T == 1 Then
Buy("b",AtStop,P+포인트);
if T == -1 Then
Sell("S",AtStop,P-포인트);
2021-02-16
441
글번호 146353
시스템
답변완료
청산 알고리즘인데 점검 부탁드립니다.
안녕하십니까.
실매매 전략에 다음의 청산 코드를 넣어보았는데 제대로 동작하지 않아서 문의드립니다.
진입 후 n봉이 지난 후에, 전체 봉에서 양봉이나 음봉의 비율이 일정 이하가 되면 청산하겠다는 의도입니다.
이하 코드로 실제 구동해보면 진입 후 7개 봉이 아니라 3개 봉만 지나도 청산이 되어 버립니다.
어디가 잘못된 것인지 점검을 부탁드립니다.
input : n(7), A(41); // 청산1 - 7봉 이후 양/음봉 비율이 41% 이상이면 청산
var : Pn(0), Nn(0);
if marketposition <> 0 then {
if O < C then Pn = Pn + 1;
if O > C then Nn = Nn + 1;
if BarsSinceEntry >= n then {
if Pn/(Pn+Nn)*100 < A then exitlong("el");
if Nn/(Pn+Nn)*100 < A then exitshort("es");
}
}
if marketposition == 0 Then {
Pn = 0;
Nn = 0;
}
2021-02-16
437
글번호 146351
시스템
답변완료
시스템 문의드립니다
아래 지표를 시스템으로 변환부탁드립니다.
Momentum > 0 이고, pci가 20선 하향돌파 일때 매수
Momentum < 0 이고, pci가 80선 상향돌파 일때 매도
오늘 가입한 생초보입니다.감사합니다.
input : Period(20);
var : mo(0),cnt(0),P(0),UPsum(0),Dnsum(0),PCI(0);
Array : Gredient[100](0),Updev[100](0),Dndev[100](0);
P = Period-1;
Mo = C-C[Period];
for cnt = 0 to P{
Gredient[cnt] = C[P]+Mo*(P-cnt)/P;
}
for cnt = 0 to P{
Updev[cnt] = 0;
Dndev[cnt] = 0;
if C[cnt] > Gredient[cnt] Then
Updev[cnt] = C[cnt]-Gredient[cnt];
if C[cnt] < Gredient[cnt] Then
Dndev[cnt] = Gredient[cnt]-C[cnt];
}
upsum = 0;
Dnsum = 0;
for cnt = 0 to P{
upsum = upsum +Updev[cnt];
Dnsum = dnsum +dndev[cnt];
}
PCI = upsum/(upsum+Dnsum)*100;
plot1(PCI,"Phase change index");
plot2(20,"20선",WHITe);
plot3(80,"80선",WHITe);
2021-02-16
461
글번호 146350
시스템