예스스탁
예스스탁 답변
2024-03-04 09:47:14
안녕하세요
예스스탁입니다
1
Input : B_A_Period1(9), B_A_Period2(26), B_A_Period3(52);
Input : B_B_Period1(12), B_B_Period2(26), B_B_Period3(9);
Input : B_C_Period1(10);
Input : B_D_Period1(9), B_D_Period2(26), B_D_Period3(52);
Input : B_E_Period1(9), B_E_Period2(26), B_E_Period3(52);
Input : S_A_Period1(12), S_A_Period2(26), S_A_Period3(9);
Var : B_A_Value1(0), B_A_Value2(0), B_A_Value3(0), B_A_Value4(0), B_A_Value5(0), B_A_Value6(0), B_A_Value7(0);
Var : B_A_CondResult(FALSE), B_A_TempResult(FALSE), B_A_Condition1(FALSE);
Var : B_B_value1(0), B_B_value2(0);
Var : B_B_CondResult(FALSE), B_B_TempResult(FALSE), B_B_Condition2(FALSE);
Var : B_C_value1(0);
Var : B_C_CondResult(FALSE), B_C_TempResult(FALSE), B_C_Condition1(FALSE);
Var : B_D_Value1(0), B_D_Value2(0), B_D_Value3(0), B_D_Value4(0), B_D_Value5(0), B_D_Value6(0), B_D_Value7(0);
Var : B_D_CondResult(FALSE), B_D_TempResult(FALSE), B_D_Condition3(FALSE);
Var : B_E_Value1(0), B_E_Value2(0), B_E_Value3(0), B_E_Value4(0), B_E_Value5(0), B_E_Value6(0), B_E_Value7(0);
Var : B_E_CondResult(FALSE), B_E_TempResult(FALSE), B_E_Condition1(FALSE);
Var : S_A_value1(0), S_A_value2(0);
Var : S_A_CondResult(FALSE), S_A_TempResult(FALSE), S_A_Condition3(FALSE);
B_A_Value1 = (highest(H,B_A_Period1)+lowest(L,B_A_Period1))/2;
B_A_Value2 = (highest(H,B_A_Period2)+lowest(L,B_A_Period2))/2;
B_A_Value3 = C;
B_A_Value4 = (B_A_Value1+B_A_Value2)/2;
B_A_Value5 = (highest(H,B_A_Period3)+lowest(L,B_A_Period3))/2;
B_A_Value6 = B_A_Value4[25];
B_A_Value7 = B_A_Value5[25];
B_B_value1 = EMA(Close,B_B_Period1)-EMA(Close,B_B_Period2);
B_B_value2 = EMA(B_B_value1,B_B_Period3);
B_C_value1 = MA(Close,B_C_Period1);
B_D_Value1 = (highest(H,B_D_Period1)+lowest(L,B_D_Period1))/2;
B_D_Value2 = (highest(H,B_D_Period2)+lowest(L,B_D_Period2))/2;
B_D_Value3 = C;
B_D_Value4 = (B_D_Value1+B_D_Value2)/2;
B_D_Value5 = (highest(H,B_D_Period3)+lowest(L,B_D_Period3))/2;
B_D_Value6 = B_D_Value4[25];
B_D_Value7 = B_D_Value5[25];
B_E_Value1 = (highest(H,B_E_Period1)+lowest(L,B_E_Period1))/2;
B_E_Value2 = (highest(H,B_E_Period2)+lowest(L,B_E_Period2))/2;
B_E_Value3 = C;
B_E_Value4 = (B_E_Value1+B_E_Value2)/2;
B_E_Value5 = (highest(H,B_E_Period3)+lowest(L,B_E_Period3))/2;
B_E_Value6 = B_E_Value4[25];
B_E_Value7 = B_E_Value5[25];
B_A_Condition1 = B_A_Value1 > B_A_Value1[1];
B_A_TempResult = B_A_Condition1;
B_A_CondResult = B_A_TempResult;
B_B_Condition2 = B_B_value1 > B_B_value2;
B_B_TempResult = B_B_Condition2;
B_B_CondResult = B_B_TempResult;
B_C_Condition1 = B_C_value1 < C;
B_C_TempResult = B_C_Condition1;
B_C_CondResult = B_C_TempResult;
B_D_Condition3 = B_D_Value1[0] >= B_D_Value2[0];
B_D_TempResult = B_D_Condition3;
B_D_CondResult = B_D_TempResult;
B_E_Condition1 = B_E_Value2 > B_E_Value2[1];
B_E_TempResult = B_E_Condition1;
B_E_CondResult = B_E_TempResult;
Condition1 = B_A_CondResult and B_B_CondResult and B_C_CondResult and B_D_CondResult and B_E_CondResult;
if Condition1 == true and Condition1[1] == False Then
Find(1);
2
BII는 Bostian's Intraday Intensity Index로 보고
매도식에 하락조건을 추가해 드립니다.
var : BIII(0);
Input : B_A_Period1(9), B_A_Period2(26), B_A_Period3(52);
Input : B_B_Period1(12), B_B_Period2(26), B_B_Period3(9);
Input : B_C_Period1(10);
Input : B_D_Period1(9), B_D_Period2(26), B_D_Period3(52);
Input : B_E_Period1(9), B_E_Period2(26), B_E_Period3(52);
Input : S_A_Period1(12), S_A_Period2(26), S_A_Period3(9);
Var : B_A_Value1(0), B_A_Value2(0), B_A_Value3(0), B_A_Value4(0), B_A_Value5(0), B_A_Value6(0), B_A_Value7(0);
Var : B_A_CondResult(FALSE), B_A_TempResult(FALSE), B_A_Condition1(FALSE);
Var : B_B_value1(0), B_B_value2(0);
Var : B_B_CondResult(FALSE), B_B_TempResult(FALSE), B_B_Condition2(FALSE);
Var : B_C_value1(0);
Var : B_C_CondResult(FALSE), B_C_TempResult(FALSE), B_C_Condition1(FALSE);
Var : B_D_Value1(0), B_D_Value2(0), B_D_Value3(0), B_D_Value4(0), B_D_Value5(0), B_D_Value6(0), B_D_Value7(0);
Var : B_D_CondResult(FALSE), B_D_TempResult(FALSE), B_D_Condition3(FALSE);
Var : B_E_Value1(0), B_E_Value2(0), B_E_Value3(0), B_E_Value4(0), B_E_Value5(0), B_E_Value6(0), B_E_Value7(0);
Var : B_E_CondResult(FALSE), B_E_TempResult(FALSE), B_E_Condition1(FALSE);
Var : S_A_value1(0), S_A_value2(0);
Var : S_A_CondResult(FALSE), S_A_TempResult(FALSE), S_A_Condition3(FALSE);
B_A_Value1 = (highest(H,B_A_Period1)+lowest(L,B_A_Period1))/2;
B_A_Value2 = (highest(H,B_A_Period2)+lowest(L,B_A_Period2))/2;
B_A_Value3 = C;
B_A_Value4 = (B_A_Value1+B_A_Value2)/2;
B_A_Value5 = (highest(H,B_A_Period3)+lowest(L,B_A_Period3))/2;
B_A_Value6 = B_A_Value4[25];
B_A_Value7 = B_A_Value5[25];
B_B_value1 = EMA(Close,B_B_Period1)-EMA(Close,B_B_Period2);
B_B_value2 = EMA(B_B_value1,B_B_Period3);
B_C_value1 = MA(Close,B_C_Period1);
B_D_Value1 = (highest(H,B_D_Period1)+lowest(L,B_D_Period1))/2;
B_D_Value2 = (highest(H,B_D_Period2)+lowest(L,B_D_Period2))/2;
B_D_Value3 = C;
B_D_Value4 = (B_D_Value1+B_D_Value2)/2;
B_D_Value5 = (highest(H,B_D_Period3)+lowest(L,B_D_Period3))/2;
B_D_Value6 = B_D_Value4[25];
B_D_Value7 = B_D_Value5[25];
B_E_Value1 = (highest(H,B_E_Period1)+lowest(L,B_E_Period1))/2;
B_E_Value2 = (highest(H,B_E_Period2)+lowest(L,B_E_Period2))/2;
B_E_Value3 = C;
B_E_Value4 = (B_E_Value1+B_E_Value2)/2;
B_E_Value5 = (highest(H,B_E_Period3)+lowest(L,B_E_Period3))/2;
B_E_Value6 = B_E_Value4[25];
B_E_Value7 = B_E_Value5[25];
B_A_Condition1 = B_A_Value1 > B_A_Value1[1];
B_A_TempResult = B_A_Condition1;
B_A_CondResult = B_A_TempResult;
B_B_Condition2 = B_B_value1 > B_B_value2;
B_B_TempResult = B_B_Condition2;
B_B_CondResult = B_B_TempResult;
B_C_Condition1 = B_C_value1 < C;
B_C_TempResult = B_C_Condition1;
B_C_CondResult = B_C_TempResult;
B_D_Condition3 = B_D_Value1[0] >= B_D_Value2[0];
B_D_TempResult = B_D_Condition3;
B_D_CondResult = B_D_TempResult;
B_E_Condition1 = B_E_Value2 > B_E_Value2[1];
B_E_TempResult = B_E_Condition1;
B_E_CondResult = B_E_TempResult;
If B_A_CondResult and B_B_CondResult and B_C_CondResult and B_D_CondResult and B_E_CondResult Then
{
Buy();
}
S_A_value1 = EMA(Close,S_A_Period1)-EMA(Close,S_A_Period2);
S_A_value2 = EMA(S_A_value1,S_A_Period3);
S_A_Condition3 = CrossDown(S_A_value1, S_A_value2);
S_A_TempResult = S_A_Condition3;
S_A_CondResult = S_A_TempResult;
BIII = accum(V*(Pow(C-L,2)-Pow(H-C, 2)) / (H-L));
If S_A_CondResult and BIII < BIII[1] Then
{
Sell();
}
즐거운 하루되세요
> 하늘구름 님이 쓴 글입니다.
> 제목 : 차트에 적용된 시스템 인데요
> 안녕하세요. 아래수식은 차트에 적용된 매수 매도 수식인데요(전략생성기로 만든)
내보내기 하여
매도식은 삭제하고 매수식만을 이용해서 buy()를 find(1)로 변경해서
종목검색을 하는데 조건이 맞으면 당일에 Onclose가 표시가 되는 것도 있고 며칠전에
매수신호가 나오고 매도신호가 안나오면 Onclose가 표시가 안되는 것이 섞여서
검색이 됩니다.
그래서 저는 검색했을 때 당일에 Onclose만 나온 종목만 검색이 되었으면 합니다.
따로 검색식이 있으면 좋겠습니다..(다른 전략에도 적용할 수 있게)
부탁드립니다.
추가로 아래식에 매도부분에 BII도 하락했을 때도 추가해 주시면
감사하겠습니다.
Input : B_A_Period1(9), B_A_Period2(26), B_A_Period3(52);
Input : B_B_Period1(12), B_B_Period2(26), B_B_Period3(9);
Input : B_C_Period1(10);
Input : B_D_Period1(9), B_D_Period2(26), B_D_Period3(52);
Input : B_E_Period1(9), B_E_Period2(26), B_E_Period3(52);
Input : S_A_Period1(12), S_A_Period2(26), S_A_Period3(9);
Var : B_A_Value1(0), B_A_Value2(0), B_A_Value3(0), B_A_Value4(0), B_A_Value5(0), B_A_Value6(0), B_A_Value7(0);
Var : B_A_CondResult(FALSE), B_A_TempResult(FALSE), B_A_Condition1(FALSE);
Var : B_B_value1(0), B_B_value2(0);
Var : B_B_CondResult(FALSE), B_B_TempResult(FALSE), B_B_Condition2(FALSE);
Var : B_C_value1(0);
Var : B_C_CondResult(FALSE), B_C_TempResult(FALSE), B_C_Condition1(FALSE);
Var : B_D_Value1(0), B_D_Value2(0), B_D_Value3(0), B_D_Value4(0), B_D_Value5(0), B_D_Value6(0), B_D_Value7(0);
Var : B_D_CondResult(FALSE), B_D_TempResult(FALSE), B_D_Condition3(FALSE);
Var : B_E_Value1(0), B_E_Value2(0), B_E_Value3(0), B_E_Value4(0), B_E_Value5(0), B_E_Value6(0), B_E_Value7(0);
Var : B_E_CondResult(FALSE), B_E_TempResult(FALSE), B_E_Condition1(FALSE);
Var : S_A_value1(0), S_A_value2(0);
Var : S_A_CondResult(FALSE), S_A_TempResult(FALSE), S_A_Condition3(FALSE);
B_A_Value1 = (highest(H,B_A_Period1)+lowest(L,B_A_Period1))/2;
B_A_Value2 = (highest(H,B_A_Period2)+lowest(L,B_A_Period2))/2;
B_A_Value3 = C;
B_A_Value4 = (B_A_Value1+B_A_Value2)/2;
B_A_Value5 = (highest(H,B_A_Period3)+lowest(L,B_A_Period3))/2;
B_A_Value6 = B_A_Value4[25];
B_A_Value7 = B_A_Value5[25];
B_B_value1 = EMA(Close,B_B_Period1)-EMA(Close,B_B_Period2);
B_B_value2 = EMA(B_B_value1,B_B_Period3);
B_C_value1 = MA(Close,B_C_Period1);
B_D_Value1 = (highest(H,B_D_Period1)+lowest(L,B_D_Period1))/2;
B_D_Value2 = (highest(H,B_D_Period2)+lowest(L,B_D_Period2))/2;
B_D_Value3 = C;
B_D_Value4 = (B_D_Value1+B_D_Value2)/2;
B_D_Value5 = (highest(H,B_D_Period3)+lowest(L,B_D_Period3))/2;
B_D_Value6 = B_D_Value4[25];
B_D_Value7 = B_D_Value5[25];
B_E_Value1 = (highest(H,B_E_Period1)+lowest(L,B_E_Period1))/2;
B_E_Value2 = (highest(H,B_E_Period2)+lowest(L,B_E_Period2))/2;
B_E_Value3 = C;
B_E_Value4 = (B_E_Value1+B_E_Value2)/2;
B_E_Value5 = (highest(H,B_E_Period3)+lowest(L,B_E_Period3))/2;
B_E_Value6 = B_E_Value4[25];
B_E_Value7 = B_E_Value5[25];
B_A_Condition1 = B_A_Value1 > B_A_Value1[1];
B_A_TempResult = B_A_Condition1;
B_A_CondResult = B_A_TempResult;
B_B_Condition2 = B_B_value1 > B_B_value2;
B_B_TempResult = B_B_Condition2;
B_B_CondResult = B_B_TempResult;
B_C_Condition1 = B_C_value1 < C;
B_C_TempResult = B_C_Condition1;
B_C_CondResult = B_C_TempResult;
B_D_Condition3 = B_D_Value1[0] >= B_D_Value2[0];
B_D_TempResult = B_D_Condition3;
B_D_CondResult = B_D_TempResult;
B_E_Condition1 = B_E_Value2 > B_E_Value2[1];
B_E_TempResult = B_E_Condition1;
B_E_CondResult = B_E_TempResult;
If B_A_CondResult and B_B_CondResult and B_C_CondResult and B_D_CondResult and B_E_CondResult Then
{
Buy();
}
S_A_value1 = EMA(Close,S_A_Period1)-EMA(Close,S_A_Period2);
S_A_value2 = EMA(S_A_value1,S_A_Period3);
S_A_Condition3 = CrossDown(S_A_value1, S_A_value2);
S_A_TempResult = S_A_Condition3;
S_A_CondResult = S_A_TempResult;
If S_A_CondResult Then
{
Sell();
}