커뮤니티
수식 보정부탁합니다.
2013-10-08 00:28:03
195
글번호 68210
수고하십니다. 운영자님
붙임 그림파일과 같이 대신사이보스 매매전략기상 이격도와 볼륨 레이티오로 구성된 전략식을 작성할려는데 잘 되지 않네요
아래식에서 상승추세, 하락추세 유지 2회이상 이런 표현에서 문제가 있는 것 같은데
보정 부탁합니다.
Input : B_A_Period1(17), B_A_Period2(1), B_A_Period3(0);
Input : B_B_Period1(248), B_B_Period2(1), B_B_Period3(0);
Input : B_C_Period(20);
Input : S_A_Period1(18), S_A_Period2(1), S_A_Period3(0);
Input : S_B_Period1(246), S_B_Period2(1), S_B_Period3(0);
Input : S_C_Period(20);
Var : B_A_value1(0), B_A_value2(0), B_A_value3(0), B_A_value4(0), B_A_value5(0);
Var : B_A_CondResult(FALSE), B_A_TempResult(FALSE), B_A_Condition4(FALSE);
Var : B_B_value1(0), B_B_value2(0), B_B_value3(0), B_B_value4(0), B_B_value5(0);
Var : B_B_CondResult(FALSE), B_B_TempResult(FALSE), B_B_Condition4(FALSE);
Var : B_C_value1(0);
Var : B_C_CondResult(FALSE), B_C_TempResult(FALSE), B_C_Condition4(FALSE);
Var : S_A_value1(0), S_A_value2(0), S_A_value3(0), S_A_value4(0), S_A_value5(0);
Var : S_A_CondResult(FALSE), S_A_TempResult(FALSE), S_A_Condition4(FALSE);
Var : S_B_value1(0), S_B_value2(0), S_B_value3(0), S_B_value4(0), S_B_value5(0);
Var : S_B_CondResult(FALSE), S_B_TempResult(FALSE), S_B_Condition4(FALSE);
Var : S_C_value1(0);
Var : S_C_CondResult(FALSE), S_C_TempResult(FALSE), S_C_Condition4(FALSE);
B_A_value1 = MA(C,B_A_Period1);
B_A_value2 = MA(C,B_A_Period2);
B_A_value3 = MA(C,B_A_Period3);
B_A_value4 = B_A_value2/B_A_value1*100;
B_A_value5 = B_A_value3/B_A_value1*100;
B_B_value1 = MA(C,B_B_Period1);
B_B_value2 = MA(C,B_B_Period2);
B_B_value3 = MA(C,B_B_Period3);
B_B_value4 = B_B_value2/B_B_value1*100;
B_B_value5 = B_B_value3/B_B_value1*100;
B_C_value1 = VR(B_C_Period);
B_A_Condition4 = CrossUp(B_A_value4, 99.798);
B_A_TempResult = B_A_Condition4;
B_A_CondResult = B_A_TempResult[1];
B_B_Condition4 = CrossUp(B_B_value4, 100.86);
B_B_TempResult = B_B_Condition4;
B_B_CondResult = B_B_TempResult[1];
B_C_Condition4 = B_C_value1 > B_C_value1[1] or B_C_value1 > B_C_value1[2];
B_C_TempResult = B_C_Condition4;
B_C_CondResult = B_C_TempResult;
If ( B_A_CondResult or B_B_CondResult ) and B_C_CondResult Then
{
Buy();
}
S_A_value1 = MA(C,S_A_Period1);
S_A_value2 = MA(C,S_A_Period2);
S_A_value3 = MA(C,S_A_Period3);
S_A_value4 = S_A_value2/S_A_value1*100;
S_A_value5 = S_A_value3/S_A_value1*100;
S_B_value1 = MA(C,S_B_Period1);
S_B_value2 = MA(C,S_B_Period2);
S_B_value3 = MA(C,S_B_Period3);
S_B_value4 = S_B_value2/S_B_value1*100;
S_B_value5 = S_B_value3/S_B_value1*100;
S_C_value1 = VR(S_C_Period);
S_A_Condition4 = CrossDown(S_A_value4, 100.35);
S_A_TempResult = S_A_Condition4;
S_A_CondResult = S_A_TempResult;
S_B_Condition4 = CrossDown(S_B_value4, 100.394);
S_B_TempResult = S_B_Condition4;
S_B_CondResult = S_B_TempResult;
S_C_Condition4 = S_C_value1 < S_C_value1[1] or S_C_value1 < S_C_value1[2];
S_C_TempResult = S_C_Condition4;
S_C_CondResult = S_C_TempResult;
If ( S_A_CondResult or S_B_CondResult ) and S_C_CondResult Then
{
Sell();
}
- 1. 볼륨Ratio-매도.PNG (0.07 MB)
- 2. 볼륨Ratio-매수.PNG (0.08 MB)
답변 1
예스스탁 예스스탁 답변
2013-10-08 13:53:46
안녕하세요
예스스탁입니다.
수식에 사용된 모든 변수를 한글로 처리해 드립니다.
input : 이격기간1(20),이격기간2(20),볼륨레이쇼기간1(20),볼륨레이쇼기간2(20);
input : 매수이격기준1(100),매수이격기준2(100);
input : 매도이격기준1(100),매도이격기준2(100);
var : 이격도1(0),이격도2(0),볼륨레이쇼1(0),볼륨레이쇼2(0);
var : 매수조건1(false),매수조건2(false),매도조건1(false),매도조건2(false);
이격도1 = Disparity(이격기간1);
이격도2 = Disparity(이격기간2);
볼륨레이쇼1 = VR(볼륨레이쇼기간1);
볼륨레이쇼2 = VR(볼륨레이쇼기간2);
#이격도1이 매수이격기준1을 상향돌파하고 VR1이 2봉연속 상승
매수조건1 = crossup(이격도1,매수이격기준1) and countif(볼륨레이쇼1 > 볼륨레이쇼1[1],2) == 2;
#이격도2가 매수이격기준2를 상향돌파하고 VR2가 2봉연속 상승
매수조건2 = crossup(이격도2,매수이격기준2) and countif(볼륨레이쇼2 > 볼륨레이쇼2[1],2) == 2;
#이격도1이 매도이격기준1을 하향이탈하고 VR1이 2봉연속 하락
매도조건1 = CrossDown(이격도1,매도이격기준1) and countif(볼륨레이쇼1 < 볼륨레이쇼1[1],2) == 2;
#이격도2가 매도이격기준2를 하향이탈하고 VR2가 2봉연속 하락
매도조건2 = CrossDown(이격도2,매도이격기준2) and countif(볼륨레이쇼2 < 볼륨레이쇼2[1],2) == 2;
if 매수조건1 == true or 매수조건2 == true Then
buy();
if 매도조건1 == true or 매도조건2 == true Then
sell();
즐거운 하루되세요
> 자아준 님이 쓴 글입니다.
> 제목 : 수식 보정부탁합니다.
> 수고하십니다. 운영자님
붙임 그림파일과 같이 대신사이보스 매매전략기상 이격도와 볼륨 레이티오로 구성된 전략식을 작성할려는데 잘 되지 않네요
아래식에서 상승추세, 하락추세 유지 2회이상 이런 표현에서 문제가 있는 것 같은데
보정 부탁합니다.
Input : B_A_Period1(17), B_A_Period2(1), B_A_Period3(0);
Input : B_B_Period1(248), B_B_Period2(1), B_B_Period3(0);
Input : B_C_Period(20);
Input : S_A_Period1(18), S_A_Period2(1), S_A_Period3(0);
Input : S_B_Period1(246), S_B_Period2(1), S_B_Period3(0);
Input : S_C_Period(20);
Var : B_A_value1(0), B_A_value2(0), B_A_value3(0), B_A_value4(0), B_A_value5(0);
Var : B_A_CondResult(FALSE), B_A_TempResult(FALSE), B_A_Condition4(FALSE);
Var : B_B_value1(0), B_B_value2(0), B_B_value3(0), B_B_value4(0), B_B_value5(0);
Var : B_B_CondResult(FALSE), B_B_TempResult(FALSE), B_B_Condition4(FALSE);
Var : B_C_value1(0);
Var : B_C_CondResult(FALSE), B_C_TempResult(FALSE), B_C_Condition4(FALSE);
Var : S_A_value1(0), S_A_value2(0), S_A_value3(0), S_A_value4(0), S_A_value5(0);
Var : S_A_CondResult(FALSE), S_A_TempResult(FALSE), S_A_Condition4(FALSE);
Var : S_B_value1(0), S_B_value2(0), S_B_value3(0), S_B_value4(0), S_B_value5(0);
Var : S_B_CondResult(FALSE), S_B_TempResult(FALSE), S_B_Condition4(FALSE);
Var : S_C_value1(0);
Var : S_C_CondResult(FALSE), S_C_TempResult(FALSE), S_C_Condition4(FALSE);
B_A_value1 = MA(C,B_A_Period1);
B_A_value2 = MA(C,B_A_Period2);
B_A_value3 = MA(C,B_A_Period3);
B_A_value4 = B_A_value2/B_A_value1*100;
B_A_value5 = B_A_value3/B_A_value1*100;
B_B_value1 = MA(C,B_B_Period1);
B_B_value2 = MA(C,B_B_Period2);
B_B_value3 = MA(C,B_B_Period3);
B_B_value4 = B_B_value2/B_B_value1*100;
B_B_value5 = B_B_value3/B_B_value1*100;
B_C_value1 = VR(B_C_Period);
B_A_Condition4 = CrossUp(B_A_value4, 99.798);
B_A_TempResult = B_A_Condition4;
B_A_CondResult = B_A_TempResult[1];
B_B_Condition4 = CrossUp(B_B_value4, 100.86);
B_B_TempResult = B_B_Condition4;
B_B_CondResult = B_B_TempResult[1];
B_C_Condition4 = B_C_value1 > B_C_value1[1] or B_C_value1 > B_C_value1[2];
B_C_TempResult = B_C_Condition4;
B_C_CondResult = B_C_TempResult;
If ( B_A_CondResult or B_B_CondResult ) and B_C_CondResult Then
{
Buy();
}
S_A_value1 = MA(C,S_A_Period1);
S_A_value2 = MA(C,S_A_Period2);
S_A_value3 = MA(C,S_A_Period3);
S_A_value4 = S_A_value2/S_A_value1*100;
S_A_value5 = S_A_value3/S_A_value1*100;
S_B_value1 = MA(C,S_B_Period1);
S_B_value2 = MA(C,S_B_Period2);
S_B_value3 = MA(C,S_B_Period3);
S_B_value4 = S_B_value2/S_B_value1*100;
S_B_value5 = S_B_value3/S_B_value1*100;
S_C_value1 = VR(S_C_Period);
S_A_Condition4 = CrossDown(S_A_value4, 100.35);
S_A_TempResult = S_A_Condition4;
S_A_CondResult = S_A_TempResult;
S_B_Condition4 = CrossDown(S_B_value4, 100.394);
S_B_TempResult = S_B_Condition4;
S_B_CondResult = S_B_TempResult;
S_C_Condition4 = S_C_value1 < S_C_value1[1] or S_C_value1 < S_C_value1[2];
S_C_TempResult = S_C_Condition4;
S_C_CondResult = S_C_TempResult;
If ( S_A_CondResult or S_B_CondResult ) and S_C_CondResult Then
{
Sell();
}
다음글
이전글