예스스탁
예스스탁 답변
2025-08-18 18:43:25
안녕하세요
예스스탁입니다.
1차진입, 2차진입이 있으므로
시스템을 적용시에 설정창에서 피라미딩을 다른진입신호만 허용으로 설정하고 적용하셔야 합니다.
시스템은 기본으로 추가진입을 허용하지 않아 수식에 추가진입을 하는 내용이 있어도
설정창에서 피라미딩을 설정해야 추가진입신호가 발생합니다.
매수 1차진입이 발생하면 직전 매도구간의 최저가라인이 그려지고 1차 진입봉의 저가와의 차이값을 표시합니다.
매수 2차진입이 발생하면 1차매수진입과 2차 매수진입봉 사이의 최저가를 그리고 2차 진입봉의 저가와의 차이값을 표시합니다.
매도진입은 이와 반대입니다.
var : T(0),S(0),BH(0),SL(0);
var : BTL(0),Bstr(""),BTX(0);
var : STL(0),Sstr(""),STX(0);
if Index == 0 Then
{
BH = H;
SL = L;
Condition1 = true;
}
if MarketPosition != 0 Then
Condition1 = False;
if Condition1 == true Then
{
if H > BH Then
BH = H;
if L < SL Then
SL = L;
}
var1 = ma(C,5);
var2 = ma(C,20);
var3 = ma(C,60);
if CrossUp(var2,var3) Then
{
T = 1;
S = 0;
}
if CrossDown(var2,var3) Then
{
T = -1;
S = 0;
}
if T == 1 Then
{
if CrossUp(var1,var2) Then
{
S = S+1;
if MarketPosition <= 0 and S == 1 Then
{
Buy("b1");
value1 = SL;
Value2 = L-SL;
BTL = TL_New(sDate,sTime,value1,NextBarSdate,NextBarStime,value1);
TL_SetColor(BTL,Blue);
if Value2 > 0 Then
Bstr = "▲"+NumToStr(Value2,2)+"("+NumToStr((Value2)/PriceScale,0)+")";
Else if Value2 < 0 Then
Bstr = "▼"+NumToStr(value2,2)+"("+NumToStr((Value2)/PriceScale,0)+")";
Else
Bstr = "="+NumToStr(Value2,2)+"("+NumToStr((Value2)/PriceScale,0)+")";
BTX = Text_New(sDate,sTime,value1,Bstr);
Text_SetColor(BTX,Blue);
Text_SetStyle(BTX,2,0);
BH = H;
SL = L;
}
if MarketPosition == 1 and MaxEntries == 1 and S == 2 Then
{
Buy("b2");
value1 = SL;
Value2 = L-SL;
BTL = TL_New(sDate,sTime,value1,NextBarSdate,NextBarStime,value1);
TL_SetColor(BTL,Blue);
if Value2 > 0 Then
Bstr = "▲"+NumToStr(Value2,2)+"("+NumToStr((Value2)/PriceScale,0)+")";
Else if Value2 < 0 Then
Bstr = "▼"+NumToStr(value2,2)+"("+NumToStr((Value2)/PriceScale,0)+")";
Else
Bstr = "="+NumToStr(Value2,2)+"("+NumToStr((Value2)/PriceScale,0)+")";
BTX = Text_New(sDate,sTime,value1,Bstr);
Text_SetColor(BTX,Blue);
Text_SetStyle(BTX,2,0);
}
}
}
if T == -1 Then
{
if CrossDown(var1,var2) Then
{
S = S+1;
if MarketPosition >= 0 and S == 1 Then
{
Sell("S1");
value3 = BH;
Value4 = H-BH;
STL = TL_New(sDate,sTime,Value3,NextBarSdate,NextBarStime,value3);
TL_SetColor(STL,Red);
if Value4 > 0 Then
Sstr = "▲"+NumToStr(Value4,2)+"("+NumToStr((Value4)/PriceScale,0)+"틱)";
Else if Value4 < 0 Then
Sstr = "▼"+NumToStr(value4,2)+"("+NumToStr((Value4)/PriceScale,0)+"틱)";
Else
Sstr = "="+NumToStr(Value4,2)+"("+NumToStr((Value4)/PriceScale,0)+"틱)";
STX = Text_New(sDate,sTime,value3,Sstr);
Text_SetColor(STX,Red);
Text_SetStyle(STX,2,1);
SL = L;
BH = H;
}
if MarketPosition == -1 and MaxEntries == 1 and S == 2 Then
{
Sell("s2");
value3 = BH;
Value4 = BH-H;
STL = TL_New(sDate,sTime,value3,NextBarSdate,NextBarStime,value3);
TL_SetColor(STL,Red);
if Value4 > 0 Then
Sstr = "▲"+NumToStr(Value4,2)+"("+NumToStr((Value4)/PriceScale,0)+"틱)";
Else if Value4 < 0 Then
Sstr = "▼"+NumToStr(value4,2)+"("+NumToStr((Value4)/PriceScale,0)+"틱)";
Else
Sstr = "="+NumToStr(Value4,2)+"("+NumToStr((Value4)/PriceScale,0)+"틱)";
STX = Text_New(sDate,sTime,value3,Sstr);
Text_SetColor(STX,Red);
Text_SetStyle(STX,2,1);
BH = H;
}
}
}
if MarketPosition == 1 then
{
if H > BH Then
BH = H;
if MaxEntries == 1 and L < SL Then
SL = L;
TL_SetEnd(BTL,sDate,sTime,value1);
Text_SetLocation(BTX,sDate,sTime,value1);
}
if MarketPosition == -1 then
{
if L < SL Then
SL = L;
if MaxEntries == 1 and H > BH Then
BH = H;
TL_SetEnd(STL,sDate,sTime,value3);
Text_SetLocation(STX,sDate,sTime,value3);
}
즐거운 하루되세요
> 와우리 님이 쓴 글입니다.
> 제목 : 부탁드립니다
> 1) 기준
- 조건1 : 5 이평, 20 이평 크로스 신호
- 조건2 : 60 이평 위에서 조건1의 2번째 골든 크로스,
아래에서 조건1의 2번째 데드크로스 신호
요약 : 조건1의 크로스에서도 신호가 발생하고, 거기에 조건 2의 경우에도 신호가 발생했으면 합니다.
2) 추가사항 : 고저가는 이미지를 참조해 주십시요
- 각신호 발생시 직전 고저가 라인과 수치 표시
- 수치표시 옆에 신호발생 캔들의 고저가와 직전 고저가의 진폭표시
즉 신호발생시 직전저가를 손절로 잡는다 치면 신호캔들 저가와 직전저가의 폭이
얼마나 되는지를 알고자 함입니다.
- 직전 고저가의 높낮이 기호 표시(크거나 같다, 작거나 같다)
수치표시를 모두 합치면 : ▲2379.25(92틱) 이렇게 표시가 되도록 부탁드립니다.