커뮤니티
글번호 50649번 재질문
2016-11-22 18:39:35
95
글번호 104250
안녕하세요?
글번호 50649번 재질문입니다.
아래의 함수에서 진입신호가 발생되면 N번째 봉시가로 주문을 생성하고 싶습니다.
var : tcond(false),cond1(false),cond2(false),TT(0),T1(0);
if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{
Tcond = false;
}
if bdate != bdate[1] Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
}
var1 = ma(c,5);
var2 = ma(c,10);
var3 = ma(c,20);
var4 = Disparity(20);
cond1 = C > var1 and var1 > var2 and var2 > var3 ;
cond2 = C < var1 and var1 < var2 and var2 < var3 ;
if MarketPosition == 0 Then
TT = TotalTrades;
Else
TT = TotalTrades+1;
if crossup(var1,var2) or CrossDown(var1,var2) Then
T1 = TT;
if cond1 == true and cond1[1] == false then
Condition1 = true;
if cond2 == true and cond2[1] == false then
Condition2 = true;
if Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] and var3 > var3[1] Then{
if TT-T1 == 0 and var4 < 102
and C > C[1]
Then
buy();
#첫진입이 아닐때
if TT-T1 > 0
and C > C[1]
Then
buy();
}
if Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] and var3 < var3[1] Then{
if TT-T1 == 0 and var4 > 98
and C < C[1]
Then
sell();
if TT-T1 > 0
and C < C[1]
Then
sell();
}
SetStopLoss(0.5,PercentStop);
SetStopProfittarget(1,PercentStop);
답변 1
예스스탁 예스스탁 답변
2016-11-23 10:03:14
안녕하세요
예스스탁입니다.
input : Xtime(150000);
var : tcond(false),cond1(false),cond2(false),TT(0),T1(0);
var : b1(0),b2(0),s1(0),s2(0),T(0);
if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{
Tcond = false;
}
if bdate != bdate[1] Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
B1 = 0;
B2 = 0;
S1 = 0;
S2 = 0;
}
var1 = ma(c,5);
var2 = ma(c,10);
var3 = ma(c,20);
var4 = Disparity(20);
cond1 = C > var1 and var1 > var2 and var2 > var3 ;
cond2 = C < var1 and var1 < var2 and var2 < var3 ;
if MarketPosition == 0 Then
TT = TotalTrades;
Else
TT = TotalTrades+1;
if crossup(var1,var2) or CrossDown(var1,var2) Then
T1 = TT;
if cond1 == true and cond1[1] == false then
Condition1 = true;
if cond2 == true and cond2[1] == false then
Condition2 = true;
if Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] and var3 > var3[1] Then{
if B1 == 0 and TT-T1 == 0 and var4 < 102 and C > C[1] Then{
b1 = index;
}
#첫진입이 아닐때
if B2 == 0 and TT-T1 > 0 and C > C[1] Then
b2 = index;
}
if Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] and var3 < var3[1] Then{
if S1 == 0 and TT-T1 == 0 and var4 > 98 and C < C[1] Then
s1 = index;
if S2 == 0 and TT-T1 > 0 and C < C[1] Then
s2 = index;
}
if index == b1+3 Then
buy("b1",AtMarket);
if index == b2+3 Then
buy("b2",AtMarket);
if index == s1+3 Then
sell("s1",AtMarket);
if index == s2+3 Then
sell("s2",AtMarket);
if MarketPosition == 1 Then{
B1 = 0;
B2 = 0;
}
if MarketPosition == -1 Then{
S1 = 0;
S2 = 0;
}
SetStopLoss(0.5,PercentStop);
SetStopProfittarget(1,PercentStop);
if sdate == 20161122 Then
MessageLog("%.f",b1);
즐거운 하루되세요
> 통큰베팅 님이 쓴 글입니다.
> 제목 : 글번호 50649번 재질문
> 안녕하세요?
글번호 50649번 재질문입니다.
아래의 함수에서 진입신호가 발생되면 N번째 봉시가로 주문을 생성하고 싶습니다.
var : tcond(false),cond1(false),cond2(false),TT(0),T1(0);
if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{
Tcond = false;
}
if bdate != bdate[1] Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
}
var1 = ma(c,5);
var2 = ma(c,10);
var3 = ma(c,20);
var4 = Disparity(20);
cond1 = C > var1 and var1 > var2 and var2 > var3 ;
cond2 = C < var1 and var1 < var2 and var2 < var3 ;
if MarketPosition == 0 Then
TT = TotalTrades;
Else
TT = TotalTrades+1;
if crossup(var1,var2) or CrossDown(var1,var2) Then
T1 = TT;
if cond1 == true and cond1[1] == false then
Condition1 = true;
if cond2 == true and cond2[1] == false then
Condition2 = true;
if Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] and var3 > var3[1] Then{
if TT-T1 == 0 and var4 < 102
and C > C[1]
Then
buy();
#첫진입이 아닐때
if TT-T1 > 0
and C > C[1]
Then
buy();
}
if Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] and var3 < var3[1] Then{
if TT-T1 == 0 and var4 > 98
and C < C[1]
Then
sell();
if TT-T1 > 0
and C < C[1]
Then
sell();
}
SetStopLoss(0.5,PercentStop);
SetStopProfittarget(1,PercentStop);
이전글