예스스탁
예스스탁 답변
2022-07-06 16:57:02
안녕하세요
예스스탁입니다.
1
input : length(12),진입틱수(10),손절틱수(10);
input : 상승추세색(Red),하락추세색(blue);
input : 상승추세굵기(0),하락추세굵기(0);
input : 매도선색(Cyan),매도손절선색(Black);
input : 매도선굵기(0),매도손절선굵기(0);
input : 매수선색(Magenta),매수손절선색(Black);
input : 매수선굵기(0),매수손절선굵기(0);
Var : j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),process(0),T(0);
var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0);
Array : HH[10,2](0),LL[10,2](0);
process = 0;
If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then
{
If LL[1,1] > L Then process = -1;
If HH[1,1] < H Then process = 1;
}
Else If Highest(H,length) == H and lastHiVal <> H Then process = 1;
Else If Lowest(L,length) == L and lastLoVal <> L Then process = -1;
If process == 1 Then
{
T = 1;
lastHiVal = H;
if T != T[1] Then
Condition2 = False;
If HH[1,2] < LL[1,2] Then
{
For j = 10 DownTo 2
{
HH[j,1] = HH[j-1,1];
HH[j,2] = HH[j-1,2];
}
}
If HH[1,2] < LL[1,2] or HH[1,1] < H Then
{
HH[1,1] = H;
HH[1,2] = Index;
sBar = Index - LL[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
}
if LL[1,1] > 0 Then
{
TL1 = TL_New(sDate[sBar],sTime[sBar],LL[1,1],sDate[eBar],sTime[eBar],HH[1,1]);
TL_SetColor(TL1,상승추세색);
TL_SetSize(TL1,상승추세굵기);
if Condition2 == False and min(C,O) > HH[2,1] Then
{
Condition2 = true;
var4 = LL[1,1]+PriceScale*진입틱수;
var5 = LL[1,1]-PriceScale*손절틱수;
TL4 = TL_New(sDate[eBar],sTime[eBar],var4,NextBarSdate,NextBarStime,var4);
TL5 = TL_New(sDate[eBar],sTime[eBar],var5,NextBarSdate,NextBarStime,var5);
TL_SetColor(TL4,매수선색);
TL_SetColor(TL5,매수손절선색);
TL_SetSize(TL4,매수선굵기);
TL_SetSize(TL5,매수손절선굵기);
}
if Condition2 == true Then
{
TL_SetBegin(TL4,sDate[eBar],sTime[eBar],var4);
TL_SetBegin(TL5,sDate[eBar],sTime[eBar],var5);
}
}
}
}
If process == -1 Then
{
T = -1;
lastLoVal = L;
if T != T[1] Then
Condition1 = False;
If LL[1,2] < HH[1,2] Then
{
For j = 10 DownTo 2
{
LL[j,1] = LL[j-1,1];
LL[j,2] = LL[j-1,2];
}
}
If LL[1,2] < HH[1,2] or LL[1,1] > L Then
{
LL[1,1] = L;
LL[1,2] = Index;
sBar = Index - HH[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
}
if HH[1,1] > 0 Then
{
TL1 = TL_New(sDate[sBar],sTime[sBar],HH[1,1],sDate[eBar],sTime[eBar],LL[1,1]);
TL_SetColor(TL1,하락추세색);
TL_SetSize(TL1,하락추세굵기);
if Condition1 == False and max(C,O) < LL[2,1] Then
{
Condition1 = true;
var2 = HH[1,1]-PriceScale*진입틱수;
var3 = HH[1,1]+PriceScale*손절틱수;
TL2 = TL_New(sDate[eBar],sTime[eBar],var2,NextBarSdate,NextBarStime,var2);
TL3 = TL_New(sDate[eBar],sTime[eBar],var3,NextBarSdate,NextBarStime,var3);
TL_SetColor(TL2,매도선색);
TL_SetColor(TL3,매도손절선색);
TL_SetSize(TL2,매도선굵기);
TL_SetSize(TL3,매도손절선굵기);
}
if Condition1 == true Then
{
TL_SetBegin(TL2,sDate[eBar],sTime[eBar],var2);
TL_SetBegin(TL3,sDate[eBar],sTime[eBar],var3);
}
}
}
}
if Condition1 == true Then
{
TL_SetEnd(TL2,sDate,sTime,var2);
TL_SetEnd(TL3,sDate,sTime,var3);
if H < Var2 Then
Sell("s",AtLimit,Var2);
}
if MarketPosition == -1 Then
ExitShort("sx",AtStop,Var3[BarsSinceEntry]);
if Condition2 == true Then
{
TL_SetEnd(TL4,sDate,sTime,var4);
TL_SetEnd(TL5,sDate,sTime,var5);
if L > Var4 Then
Buy("b",AtLimit,Var4);
}
if MarketPosition == 1 Then
ExitLong("bx",AtStop,Var5[BarsSinceEntry]);
2
input : length(12),등락틱수(50),진입틱수(10),손절틱수(10);
input : 상승추세색(Red),하락추세색(blue);
input : 상승추세굵기(0),하락추세굵기(0);
input : 매도선색(Cyan),매도손절선색(Black);
input : 매도선굵기(0),매도손절선굵기(0);
input : 매수선색(Magenta),매수손절선색(Black);
input : 매수선굵기(0),매수손절선굵기(0);
Var : j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),process(0),T(0);
var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0);
Array : HH[10,2](0),LL[10,2](0);
process = 0;
If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then
{
If LL[1,1] > L Then process = -1;
If HH[1,1] < H Then process = 1;
}
Else If Highest(H,length) == H and lastHiVal <> H Then process = 1;
Else If Lowest(L,length) == L and lastLoVal <> L Then process = -1;
If process == 1 Then
{
T = 1;
lastHiVal = H;
if T != T[1] Then
Condition2 = False;
If HH[1,2] < LL[1,2] Then
{
For j = 10 DownTo 2
{
HH[j,1] = HH[j-1,1];
HH[j,2] = HH[j-1,2];
}
}
If HH[1,2] < LL[1,2] or HH[1,1] < H Then
{
HH[1,1] = H;
HH[1,2] = Index;
sBar = Index - LL[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
}
if LL[1,1] > 0 Then
{
TL1 = TL_New(sDate[sBar],sTime[sBar],LL[1,1],sDate[eBar],sTime[eBar],HH[1,1]);
TL_SetColor(TL1,상승추세색);
TL_SetSize(TL1,상승추세굵기);
if Condition2 == False and HH[1,1] >= LL[1,1]+PriceScale*등락틱수 Then
{
Condition2 = true;
var4 = LL[1,1]+PriceScale*진입틱수;
var5 = LL[1,1]-PriceScale*손절틱수;
TL4 = TL_New(sDate[eBar],sTime[eBar],var4,NextBarSdate,NextBarStime,var4);
TL5 = TL_New(sDate[eBar],sTime[eBar],var5,NextBarSdate,NextBarStime,var5);
TL_SetColor(TL4,매수선색);
TL_SetColor(TL5,매수손절선색);
TL_SetSize(TL4,매수선굵기);
TL_SetSize(TL5,매수손절선굵기);
}
if Condition2 == true Then
{
TL_SetBegin(TL4,sDate[eBar],sTime[eBar],var4);
TL_SetBegin(TL5,sDate[eBar],sTime[eBar],var5);
}
}
}
}
If process == -1 Then
{
T = -1;
lastLoVal = L;
if T != T[1] Then
Condition1 = False;
If LL[1,2] < HH[1,2] Then
{
For j = 10 DownTo 2
{
LL[j,1] = LL[j-1,1];
LL[j,2] = LL[j-1,2];
}
}
If LL[1,2] < HH[1,2] or LL[1,1] > L Then
{
LL[1,1] = L;
LL[1,2] = Index;
sBar = Index - HH[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
}
if HH[1,1] > 0 Then
{
TL1 = TL_New(sDate[sBar],sTime[sBar],HH[1,1],sDate[eBar],sTime[eBar],LL[1,1]);
TL_SetColor(TL1,하락추세색);
TL_SetSize(TL1,하락추세굵기);
if Condition1 == False and LL[1,1] <= HH[1,1]-PriceScale*등락틱수 Then
{
Condition1 = true;
var2 = HH[1,1]-PriceScale*진입틱수;
var3 = HH[1,1]+PriceScale*손절틱수;
TL2 = TL_New(sDate[eBar],sTime[eBar],var2,NextBarSdate,NextBarStime,var2);
TL3 = TL_New(sDate[eBar],sTime[eBar],var3,NextBarSdate,NextBarStime,var3);
TL_SetColor(TL2,매도선색);
TL_SetColor(TL3,매도손절선색);
TL_SetSize(TL2,매도선굵기);
TL_SetSize(TL3,매도손절선굵기);
}
if Condition1 == true Then
{
TL_SetBegin(TL2,sDate[eBar],sTime[eBar],var2);
TL_SetBegin(TL3,sDate[eBar],sTime[eBar],var3);
}
}
}
}
if Condition1 == true Then
{
TL_SetEnd(TL2,sDate,sTime,var2);
TL_SetEnd(TL3,sDate,sTime,var3);
if H < Var2 Then
Sell("s",AtLimit,Var2);
}
if MarketPosition == -1 Then
ExitShort("sx",AtStop,Var3[BarsSinceEntry]);
if Condition2 == true Then
{
TL_SetEnd(TL4,sDate,sTime,var4);
TL_SetEnd(TL5,sDate,sTime,var5);
if L > Var4 Then
Buy("b",AtLimit,Var4);
}
if MarketPosition == 1 Then
ExitLong("bx",AtStop,Var5[BarsSinceEntry]);
즐거운 하루되세요
> qha71 님이 쓴 글입니다.
> 제목 : 수식 의뢰 드립니다!
> 안녕하세요!
수식을 좀 의뢰 드립니다!
항상 노고에 감사드립니다!