* 항상 많은 도움에 고맙습니다.
* 수식좀 수정 드립니다.
* 원본 수식은 적용 되는데... 추가수식이 안됨니다.
차이 : 원본 수식에서 신호가 발생 하면 10틱 이하로 떨어지면 진입
그런데 추가수식 에서 하나도 신호가 발생 안 합니다.
* 추가 수식 좀 수정 좀 부탁 드립니다.
## 원본 수식
Var : Timeoff(0);
value1 = DayHigh(0);
value2 = DayLow(0);
If MarketPosition == 0 Then {If O[0] < C[1] and C[0] > O[0] Then {If CrossUp(C, value2) Then {Buy("SS1",OnClose,C); }}
If MarketPosition == 0 AND O[0] > C[1] and C[0] < O[0] Then {If CrossDown(C, value1) Then {Sell("DD1",OnClose,C); }}
If MarketPosition == 0 AND O[0] > C[1] and C[0] > O[0] Then {If CrossUp(C, value2) Then {Sell("DD2",OnClose,C); }}
If MarketPosition == 0 AND O[0] < C[1] and C[0] < O[0] Then {If CrossDown(C, value1) Then {Buy("SS2",OnClose,C); }}
}
SetStopProfittarget(PriceScale*12,PointStop);
SetStopLoss(PriceScale*25,PointStop);
## 추가수식
Var : Timeoff(0);
value1 = DayHigh(0);
value2 = DayLow(0);
if MarketPosition == 0 Then {If O[0] < C[1] and C[0] > O[0] Then {If CrossUp(C, value2) then { value11 = C; Value12 = Index; }
if MarketPosition == 0 AND O[0] > C[1] and C[0] < O[0] Then {If CrossDown(C, value1) then { value13 = C; Value14 = Index; }
if MarketPosition == 0 AND O[0] > C[1] and C[0] > O[0] Then {If CrossUp(C, value2) then { value15 = C; Value16 = Index; }
if MarketPosition == 0 AND O[0] < C[1] and C[0] < O[0] Then {If CrossDown(C, value1) then { value17 = C; Value18 = Index; }
if Value12 > 0 and C <= value11-PriceScale*10 Then {Buy("SS1",OnClose,C); }}
if Value14 > 0 and C >= value13+PriceScale*10 Then {Sell("DD1",OnClose,C); }}
if Value16 > 0 and C >= value15+PriceScale*10 Then {Sell("DD2",OnClose,C); }}
if Value18 > 0 and C <= value16-PriceScale*10 Then {Buy("SS2",OnClose,C); }}
}
SetStopProfittarget(PriceScale*12,PointStop);
SetStopLoss(PriceScale*25,PointStop);
* 고맙 습니다 수고하십시요.
답변 1
예스스탁
예스스탁 답변
2021-11-29 11:37:58
안녕하세요
예스스탁입니다.
Var : Timeoff(0),T(0),S(0);
value1 = DayHigh(0);
value2 = DayLow(0);
If MarketPosition == 0 Then
{
If O[0] < C[1] and C[0] > O[0] and CrossUp(C, value2) Then
{
T = 1;
S = C;
}
If O[0] > C[1] and C[0] < O[0] and CrossDown(C, value1) Then
{
T = 2;
S = C;
}
If O[0] > C[1] and C[0] > O[0] and CrossUp(C, value2) Then
{
T = 3;
S = C;
}
If O[0] < C[1] and C[0] < O[0] and CrossDown(C, value1) Then
{
T = 4;
S = C;
}
}
if T == 1 and C <= S-PriceScale*10 Then
{
Buy("SS1");
T = 0;
}
if T == 2 and C >= S+PriceScale*10 Then
{
Sell("DD1");
T = 0;
}
if T == 3 and C >= S+PriceScale*10 Then
{
Sell("DD2");
T = 0;
}
if T == 4 and C <= S-PriceScale*10 Then
{
Buy("SS2");
T = 0;
}
SetStopProfittarget(PriceScale*12,PointStop);
SetStopLoss(PriceScale*25,PointStop);
즐거운 하루되세요
> 요타 님이 쓴 글입니다.
> 제목 : 수식좀 요청 드립니다.
> * 항상 많은 도움에 고맙습니다.
* 수식좀 수정 드립니다.
* 원본 수식은 적용 되는데... 추가수식이 안됨니다.
차이 : 원본 수식에서 신호가 발생 하면 10틱 이하로 떨어지면 진입
그런데 추가수식 에서 하나도 신호가 발생 안 합니다.
* 추가 수식 좀 수정 좀 부탁 드립니다.
## 원본 수식
Var : Timeoff(0);
value1 = DayHigh(0);
value2 = DayLow(0);
If MarketPosition == 0 Then {If O[0] < C[1] and C[0] > O[0] Then {If CrossUp(C, value2) Then {Buy("SS1",OnClose,C); }}
If MarketPosition == 0 AND O[0] > C[1] and C[0] < O[0] Then {If CrossDown(C, value1) Then {Sell("DD1",OnClose,C); }}
If MarketPosition == 0 AND O[0] > C[1] and C[0] > O[0] Then {If CrossUp(C, value2) Then {Sell("DD2",OnClose,C); }}
If MarketPosition == 0 AND O[0] < C[1] and C[0] < O[0] Then {If CrossDown(C, value1) Then {Buy("SS2",OnClose,C); }}
}
SetStopProfittarget(PriceScale*12,PointStop);
SetStopLoss(PriceScale*25,PointStop);
## 추가수식
Var : Timeoff(0);
value1 = DayHigh(0);
value2 = DayLow(0);
if MarketPosition == 0 Then {If O[0] < C[1] and C[0] > O[0] Then {If CrossUp(C, value2) then { value11 = C; Value12 = Index; }
if MarketPosition == 0 AND O[0] > C[1] and C[0] < O[0] Then {If CrossDown(C, value1) then { value13 = C; Value14 = Index; }
if MarketPosition == 0 AND O[0] > C[1] and C[0] > O[0] Then {If CrossUp(C, value2) then { value15 = C; Value16 = Index; }
if MarketPosition == 0 AND O[0] < C[1] and C[0] < O[0] Then {If CrossDown(C, value1) then { value17 = C; Value18 = Index; }
if Value12 > 0 and C <= value11-PriceScale*10 Then {Buy("SS1",OnClose,C); }}
if Value14 > 0 and C >= value13+PriceScale*10 Then {Sell("DD1",OnClose,C); }}
if Value16 > 0 and C >= value15+PriceScale*10 Then {Sell("DD2",OnClose,C); }}
if Value18 > 0 and C <= value16-PriceScale*10 Then {Buy("SS2",OnClose,C); }}
}
SetStopProfittarget(PriceScale*12,PointStop);
SetStopLoss(PriceScale*25,PointStop);
* 고맙 습니다 수고하십시요.