예스스탁
예스스탁 답변
2023-09-22 14:13:35
안녕하세요
예스스탁입니다.
1
input : StartTime(020000),EndTime(010000);
Input: lim1(3), lim2(5), lim3(7), lim4(10);
Input: n1(1), n2(2), n3(3), n4(6);
Input: 익절(3);
var : Tcond(False),entry(0);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
entry = 0;
var1 = C;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if Tcond == true Then
{
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry +1;
if MarketPosition == 0 and l > var1*(1-lim1/100) and entry < 1 Then
{
Buy("b1.",AtLimit,var1*(1-lim1/100),n1);
Buy("b2.",AtLimit,var1*(1-lim2/100),n2);
Buy("b3.",AtLimit,var1*(1-lim3/100),n3);
Buy("b4.",AtLimit,var1*(1-lim4/100),n4);
}
if MarketPosition == 1 Then
{
ExitLong("bx",AtLimit,AvgEntryPrice*(1+익절/100));
if highest(H,BarsSinceEntry) < var1*(1-lim2/100) Then
Buy("b2",AtLimit,var1*(1-lim2/100),n2);
if highest(H,BarsSinceEntry) < var1*(1-lim3/100) Then
Buy("b3",AtLimit,var1*(1-lim3/100),n3);
if highest(H,BarsSinceEntry) < var1*(1-lim4/100) Then
Buy("b4",AtLimit,var1*(1-lim4/100),n4);
}
if MarketPosition == 0 and h < var1*(1+lim1/100) and entry < 1 Then
{
Sell("s1.",AtLimit,var1*(1+lim1/100),n1);
Sell("s2.",AtLimit,var1*(1+lim2/100),n2);
Sell("s3.",AtLimit,var1*(1+lim3/100),n3);
Sell("s4.",AtLimit,var1*(1+lim4/100),n4);
}
if MarketPosition == -1 Then
{
ExitShort("sx",AtLimit,AvgEntryPrice*(1-익절/100));
if h < var1*(1+lim2/100) Then
Sell("s2",AtLimit,var1*(1+lim2/100),n2);
if h < var1*(1+lim3/100) Then
Sell("s3",AtLimit,var1*(1+lim3/100),n3);
if h < var1*(1+lim4/100) Then
Sell("s4",AtLimit,var1*(1+lim4/100),n4);
}
}
2
input : starttime(020000),N(30);
var : cnt(0),dd(0);
Array : r1[100](0),r2[100](0);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) Then
{
dd = dd+1;
var1 = c;
Var2 = h;
var3 = l;
For cnt = 99 DownTo 1
{
R1[cnt] = R1[cnt-1];
R2[cnt] = R2[cnt-1];
}
}
if h > Var2 Then
Var2 = h;
if l < Var3 Then
Var3 = l;
R1[0] =(Var2-var1)/var1*100;
R2[0] =(Var3-var1)/var1*100;
Plot1(R1[0]);
Plot2(R2[0]);
if dd >= n Then
{
value1 = 0;
Value2 = 0;
For cnt = 0 to n-1
{
value1 = value1+r1[cnt];
value2 = value2+r2[cnt];
}
Value3 = value1/n;
Value4 = value2/n;
Plot3(value3);
Plot4(Value4);
}
즐거운 하루되세요
> 에구머니 님이 쓴 글입니다.
> 제목 : 수식문의
> 안녕하세요?
수식 부탁 드립니다.
감사합니다.