커뮤니티
수식 작성 문의드립니다.
2014-09-22 12:46:56
151
글번호 78719
안녕하세요! 예전에 38058에서 문의드렸던 수식 관련해서 전략이 나빠 수정 중인데 잘 안 되서 문의드립니다.
전략은 이평 돌파 후에 MACD 0선 아래에서 골든크로스시 매수하려는 전략입니다.
그런데 이평 돌파 값(True)이 수식을 한 번(한 봉) 실행한 후에는 False값으로 변환되어 MACD 0선 아래에서 골든크로스 시에도 매수를 하지 못합니다.
이 이평 돌파 값을 유지하는 방법이 있는지 궁금합니다.(즉 아래에서 jogeon3값이 유지되지 못함) 또는 유지가 안 된다면, 이러한 전략을 수식으로 표현하기 위해서 어떤 방법이 있을까요?
아래는 제가 수정한 수식입니다. 그럼 좋은 하루 되십시요. 감사합니다.
추가 : 카페에서 '한 권으로 끝내는 시스템 트레이딩'이라는 책자가 발간되었다고 나오는데요, 교보문고 yes24에 없습니다. ㅠㅠ 그 책은 어디서 살 수 있을까요?
--------------- 수식 --------------------------------------------------------
input : P1(12),P2(26),P3(9),n(2);
input : Period1(20);
var : jogeon1(False), jogeon2(False);
input : Period11(5), Period12(27);
var : jogeon3(False);
// //////////////////////////////////////////////////////////
var1 = MACD(p1,p2);
var2 = ema(var1,P3);
var3 = var1-var2;
//
/*
value1 = MA(Close,Period1);
value2 = MA(Close,Period1);
Condition1 = value1[2] > value1[1] and value1[1] < value1; // 반전
jogeon1 = Condition1;
Condition2 = value2 > Value2[1]; // 추세
jogeon2 = Condition2;
*/
Value3 = MA(Close, Period11);
Value4 = MA(Close, Period12);
Condition3 = CrossUp(value3, Value4); // 상향돌파
jogeon3 = Condition3;
if jogeon3 == True Then
MessageLog("위에서 조건 3 : %s", jogeon3);
//
if var1 < 0 and crossup(var1,var2) Then
{
MessageLog("아래에서 조건 3 : %s", jogeon3);
if jogeon3 == True Then
{
buy();
jogeon3 = false;
// MessageLog("2봉전 : %f, 1봉전 : %f, 0봉전 : %f", value1[2], value1[1], value1[0]);
}
}
if var1 > 0 and CrossDown(var1,var2) Then
sell();
답변 1
예스스탁 예스스탁 답변
2014-09-22 15:06:49
안녕하세요
예스스탁입니다.
1.
Condition3 = CrossUp(value3, Value4);
작성하신 내용 중에 위내용은
골든크로스가 발생됭 봉만 true입니다.
위 내용을 골든크로스가 발생되어 있는 구간의 의미로
아래와 같이 수정하시면 됩니다.
Condition3 = value3 > Value4;
수정하시면 MACD가 0 이하에서 골든크로스가 나고
이평도 골든크로스 구간이면 매수하는 식이 됩니다.
input : P1(12),P2(26),P3(9),n(2);
input : Period1(20);
var : jogeon1(False), jogeon2(False);
input : Period11(5), Period12(27);
var : jogeon3(False);
// //////////////////////////////////////////////////////////
var1 = MACD(p1,p2);
var2 = ema(var1,P3);
var3 = var1-var2;
//
/*
value1 = MA(Close,Period1);
value2 = MA(Close,Period1);
Condition1 = value1[2] > value1[1] and value1[1] < value1; // 반전
jogeon1 = Condition1;
Condition2 = value2 > Value2[1]; // 추세
jogeon2 = Condition2;
*/
Value3 = MA(Close, Period11);
Value4 = MA(Close, Period12);
Condition3 = value3 > Value4; // 상향돌파
jogeon3 = Condition3;
if jogeon3 == True Then
MessageLog("위에서 조건 3 : %s", jogeon3);
//
if var1 < 0 and crossup(var1,var2) Then
{
MessageLog("아래에서 조건 3 : %s", jogeon3);
if jogeon3 == True Then
{
buy();
jogeon3 = false;
// MessageLog("2봉전 : %f, 1봉전 : %f, 0봉전 : %f", value1[2], value1[1], value1[0]);
}
}
if var1 > 0 and CrossDown(var1,var2) Then
sell();
2.
해당 책은 시중에서 파는 책은 아닙니다.
증권사 지점에 요청하시면 받으실수 있습니다.
시스메틱 카페 회원이시면
하이투자증권 교대역 지점으로 연락하시면 됩니다.
즐거운 하루되세요
> 저임요 님이 쓴 글입니다.
> 제목 : 수식 작성 문의드립니다.
> 안녕하세요! 예전에 38058에서 문의드렸던 수식 관련해서 전략이 나빠 수정 중인데 잘 안 되서 문의드립니다.
전략은 이평 돌파 후에 MACD 0선 아래에서 골든크로스시 매수하려는 전략입니다.
그런데 이평 돌파 값(True)이 수식을 한 번(한 봉) 실행한 후에는 False값으로 변환되어 MACD 0선 아래에서 골든크로스 시에도 매수를 하지 못합니다.
이 이평 돌파 값을 유지하는 방법이 있는지 궁금합니다.(즉 아래에서 jogeon3값이 유지되지 못함) 또는 유지가 안 된다면, 이러한 전략을 수식으로 표현하기 위해서 어떤 방법이 있을까요?
아래는 제가 수정한 수식입니다. 그럼 좋은 하루 되십시요. 감사합니다.
추가 : 카페에서 '한 권으로 끝내는 시스템 트레이딩'이라는 책자가 발간되었다고 나오는데요, 교보문고 yes24에 없습니다. ㅠㅠ 그 책은 어디서 살 수 있을까요?
--------------- 수식 --------------------------------------------------------
input : P1(12),P2(26),P3(9),n(2);
input : Period1(20);
var : jogeon1(False), jogeon2(False);
input : Period11(5), Period12(27);
var : jogeon3(False);
// //////////////////////////////////////////////////////////
var1 = MACD(p1,p2);
var2 = ema(var1,P3);
var3 = var1-var2;
//
/*
value1 = MA(Close,Period1);
value2 = MA(Close,Period1);
Condition1 = value1[2] > value1[1] and value1[1] < value1; // 반전
jogeon1 = Condition1;
Condition2 = value2 > Value2[1]; // 추세
jogeon2 = Condition2;
*/
Value3 = MA(Close, Period11);
Value4 = MA(Close, Period12);
Condition3 = CrossUp(value3, Value4); // 상향돌파
jogeon3 = Condition3;
if jogeon3 == True Then
MessageLog("위에서 조건 3 : %s", jogeon3);
//
if var1 < 0 and crossup(var1,var2) Then
{
MessageLog("아래에서 조건 3 : %s", jogeon3);
if jogeon3 == True Then
{
buy();
jogeon3 = false;
// MessageLog("2봉전 : %f, 1봉전 : %f, 0봉전 : %f", value1[2], value1[1], value1[0]);
}
}
if var1 > 0 and CrossDown(var1,var2) Then
sell();