예스스탁
예스스탁 답변
2022-02-14 15:02:45
안녕하세요
예스스탁입니다.
1
수식에 조건 내용을 살펴보시기 바랍니다.
CrossUp(var1,Var2) and sma3 < sma4-PriceScale*1
var1과 sm3은 30이평, var2와 sma4가 60이평인데
30이평이 60이평을 상향돌파할때 30이평이 60이평보다 1틱이상 작다고 되어 있어
조건 내용이 상충되어 신호가 발생할수 없는 조건내용입니다. 매도쪽도 같습니다.
해당 부분을 수정해샤 신호가 발생할수 있습니다.
2
수식에 n4변수로 조건을 지정하게 되어 있습니다.
조건만족시 S에 값이 저장되고 이후 저장된 값보다
종가가 n4틱 이상/이하 움직이고 반대 조건시 진입하게 됩니다.
if CrossUp(var1,Var2) and sma3 < sma4-PriceScale*1 and sma3 < sma6-PriceScale*6 Then
{
T = 1;
S = Var2;
if T[1] == -2 Then
Buy();
}
if CrossDown(var1,Var2) and sma3 > sma4+PriceScale*1 and sma3 > sma6 +PriceScale*20 Then
{
T = -1;
S = Var2;
if T[1] == 2 Then
Sell();
}
if T == 1 and C >= S+PriceScale*n4 Then
T = 2;
if T == -1 and C <= S-PriceScale*n4 Then
T = -2;
S에는 조건만족시 60이평값이 저장되고 있습니다.
S에 저장되는 값이 60이평이 아니면 다른값으로 변경하시거나
S에 저장된 값이 60이평이므로 비교하는 값도 60이평이면
종가대신 60이평을 사용해서 아래와 같이 변경하시면 됩니다.
if T == 1 and var2 >= S+PriceScale*n4 Then
T = 2;
if T == -1 and var2 <= S-PriceScale*n4 Then
T = -2;
즐거운 하루되세요
> tnsflwls 님이 쓴 글입니다.
> 제목 : 시스템 이상 검토의뢰
>
수고 하십니다 !
Input : Period1(1), Period2(15), Period3(30), Period4(60), Period5(120),period6(240),Period7(480), Period8(960), Period9(1920), Period10(3840),period11(7680);
var : Sma1(0),Sma2(0),Sma3(0),Sma4(0),Sma5(0),sma6(0),Sma7(0),Sma8(0),Sma9(0),Sma10(0),sma11(0),OBVV(0),PositiveVolumeIndex(0),dpo(0);
var:s(0);
Sma1 = ma(C,Period1);
Sma2 = ma(C,Period2);
Sma3 = ma(C,Period3);
Sma4 = ma(C,Period4);
Sma5 = ma(C,Period5);
sma6 = ma(c,period6);
Sma7 = ma(C,Period7);
Sma8 = ma(C,Period8);
Sma9 = ma(C,Period9);
Sma10 = ma(C,Period10);
sma11 = ma(c,period11);
var : T(0);
var3 = ma(C,Period3);
var4 = ma(C,Period4);
var5 = ma(C,Period5);
var6 = ma(C,Period6);
var7 = ma(C,Period7);
var8 = ma(C,Period8);
var9 = ma(C,Period9);
var10 = ma(C,Period10);
input:n4(0);
var1 = ma(C,30);
Var2 = ma(C,60);
if CrossUp(var1,Var2) and sma3 < sma4-PriceScale*1 and sma3 < sma6-PriceScale*6 Then
{
T = 1;
S = Var2;
if T[1] == -2 Then
Buy();
}
if CrossDown(var1,Var2) and sma3 > sma4+PriceScale*1 and sma3 > sma6 +PriceScale*20 Then
{
T = -1;
S = Var2;
if T[1] == 2 Then
Sell();
}
if T == 1 and C >= S+PriceScale*n4 Then
T = 2;
if T == -1 and C <= S-PriceScale*n4 Then
T = -2;
SetStopLoss(PriceScale*50,PointStop);
틱의 가격을 시스템에서 적용이 되지를 않아서 틱 가격을 여러숫자로
적용을 해봐도 안되네요!
그래서 0 으로 해봐도 안되어 다시 의뢰 드립니다.
정히 안되면 청산후 청산가격보다 10 틱 이상 상하로 가격차이가 나고 매매 신호가
적용이 될때 체결하는 것 으로 수식작성을 다시한번 부탁 드립니다 .
예를들면 이평선 3선과 4선이 크로즈업 하여 매수를 하고 10틱이 올라 수익이 났을때
청산을 하고 청산가격보다 상하로 10틱이상 차이가 나고 3선과 4선이 크로즈업을 할때는
매수를 3선과 4선이 크로즈다운 할때는 매도를 하고 10틱이상 수익이 날때 청산을 하는
수식으로 부탁 드립니다.
수고 하세요 !