예스스탁
예스스탁 답변
2020-03-20 14:30:04
안녕하세요
예스스탁입니다.
input: BB(100), AA(300);
Input : 손절(10),익절(10),익절하락(3);
input : P1(30), P2(120), p3(240);
input : StartTime(090000),EndTime(050000);
var : tx(0),X(false),Tcond(false),tt(0);
var1 = ma(C, P1);
var2 = ma(C, P2);
var3 = ma(C, P3);
######## 진입제한
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime)Then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)Then
{
Tcond = false;
}
## 진입
if Tcond == true and marketposition == 0
and crossup(var1,var2) Then
{
if Condition1 then
buy("B1■");
Else
buy("B1");
}
if Tcond == true and marketposition == 0
and crossdown(var1,var2) Then
{
if Condition1 == true then
sell("S1■");
Else
sell("S1");
}
if Tcond == true and marketposition == 0
and crossup(var2,var3) and var3[1] < var3 Then
{
if Condition1 == true then
buy("B2■");
Else
buy("B2");
}
if Tcond == true and marketposition == 0
and crossdown(var3,var4) and var3[1] > var3 Then
{
if Condition1 == true then
sell("S2■");
Else
sell("S2");
}
## 청산
if MarketPosition == 1 then
{
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if MarketPosition == -1 Then
{
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if ((sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)) Then
{
if MarketPosition == 1 Then
{
ExitLong("BE6");
}
if MarketPosition == -1 Then
{
ExitShort("SE6");
}
}
## 카운트
if TotalTrades > TotalTrades[1] then
{
if IsExitName("StopLoss",1) == true then
{
tt = tt - 40;
if tt <= 0 Then
{
tt = 0;
}
if Condition1 == true and tt <= bb Then
Condition1 = false;
if tt < AA then
{
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0));
Text_SetSize(tx,20);
Text_Setstyle(tx,2,20);
}
else
{
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0)+"★");
Text_SetSize(tx,20);
Text_Setstyle(tx,2,20);
Text_SetColor(tx,MAGENTA);
}
}
if IsExitName("StopTrailing",1) == true then
{
tt = tt + 30;
if tt <= 0 Then
{
tt = 0;
X = true;
Condition1 = false;
}
if tt >= aa Then
Condition1 = true;
if tt < AA then ###
{
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0));
Text_SetSize(tx,20);
Text_Setstyle(tx,2,2);
}
else
{
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0)+"★");
Text_SetSize(tx,20); //Text_SetSize 폰트 사이즈
Text_Setstyle(tx,2,2); //Text_Setstyle 좌우상하 정렬
Text_SetColor(tx,MAGENTA);
}
}
} // 매매시간 이후 AA(★)부터 BB(-40)까지 마지막 지정56
즐거운 하루되세요
> 라떼처럼 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 항상 감사드립니다.
아래식은 익절시 +30, 손절시 -40씩 증가하게 카운트를 하고 있습니다.
(0 이하이면 0으로 수렴)
AA(300) 이상이 되면 BB(100) 도달시 까지
B1■, B2■ 와 같이 ■가 포함되게 표시하고 싶습니다.
BB(100) 도달후에는 AA(300)이상이 되기 전까지 B1, B2 로 표시
그럼 부탁드립니다.
input: BB(100), AA(300);
Input : 손절(10),익절(10),익절하락(3);
input : P1(30), P2(120), p3(240);
input : StartTime(090000),EndTime(050000);
var : tx(0),X(false),Tcond(false),tt(0);
var1 = ma(C, P1);
var2 = ma(C, P2);
var3 = ma(C, P3);
######## 진입제한
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime)Then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)Then
{
Tcond = false;
}
## 진입
if Tcond == true and marketposition == 0
and crossup(var1,var2) Then
{
if Condition1 == true and tt > BB then
buy("B1■");
Else
buy("B1");
}
if Tcond == true and marketposition == 0
and crossdown(var1,var2) Then
{
if Condition1 == true and tt > BB then
sell("S1■");
Else
sell("S1");
}
if Tcond == true and marketposition == 0
and crossup(var2,var3) and var3[1] < var3 Then
{
if Condition1 == true and tt > BB then
buy("B2■");
Else
buy("B2");
}
if Tcond == true and marketposition == 0
and crossdown(var3,var4) and var3[1] > var3 Then
{
if Condition1 == true and tt > BB then
sell("S2■");
Else
sell("S2");
}
## 청산
if MarketPosition == 1 then
{
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if MarketPosition == -1 Then
{
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if ((sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)) Then
{
if MarketPosition == 1 Then
{
ExitLong("BE6");
}
if MarketPosition == -1 Then
{
ExitShort("SE6");
}
}
## 카운트
if TotalTrades > TotalTrades[1] then
{
if IsExitName("StopLoss",1) == true then
{
tt = tt - 40;
if tt <= 0 Then
{
tt = 0;
Condition1 = false;
}
if tt < AA then ###
{
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0));
Text_SetSize(tx,20);
Text_Setstyle(tx,2,20);
}
else
{
Condition1 = true;
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0)+"★");
Text_SetSize(tx,20);
Text_Setstyle(tx,2,20);
Text_SetColor(tx,MAGENTA);
}
}
if IsExitName("StopTrailing",1) == true then
{
tt = tt + 30;
if tt <= 0 Then
{
tt = 0;
X = true;
Condition1 = false;
}
if Condition1 == true and tt < BB then ###
Condition1 = false; ###
if tt < AA then ###
{
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0));
Text_SetSize(tx,20);
Text_Setstyle(tx,2,2);
}
else
{
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0)+"★");
Text_SetSize(tx,20); //Text_SetSize 폰트 사이즈
Text_Setstyle(tx,2,2); //Text_Setstyle 좌우상하 정렬
Text_SetColor(tx,MAGENTA);
}
}
} // 매매시간 이후 AA(★)부터 BB(-40)까지 마지막 지정