안녕하세요.
data3과4중 3이 우위, data5와6중 5가 우위, data7과8중 7이 우위가
동시에 모두 성립할 때 매수
진입 후 data3과4중 3이 우위, data5와6중 5가 우위, data7과8중 7이 우위가
하나라도 이탈 성립하면 청산
아래와 같이 작성했는데 청산이 제대로 되질 않습니다.
수정부탁드립니다.
Input: dix(1),stopper(1.2);
Var : EDT(0);
setstoploss(stopper);
var : T1(0),entry(0);
if Bdate != bdate[1] Then
T1 = TotalTrades[1];
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
if dayindex >= dix and stime > 083000 then{
if (data3(C)-data4(c)> 0 and data5(C)-data6(c)> 0 and data7(C)-data8(c)> 0) or
(crossup(data3(c),data4(c)) and crossup(data5(c),data6(c)) and crossup(data7(c),data8(c)))Then
if entry < 10 Then
buy();
if (data3(C)-data4(c)< 0 and data5(C)-data6(c)< 0 and data7(C)-data8(c)< 0) or
(CrossDown(data3(c),data4(c)) and CrossDown(data5(c),data6(c))and CrossDown(data7(c),data8(c)))Then
if entry < 10 Then
sell();
}
if MarketPosition == 1 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
IF CrossDown(data3(c),data4(c)) OR CrossDown(data5(c),data6(c))OR CrossDown(data7(c),data8(c))Then
ExitLong();
if MarketPosition == -1 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
IF crossup(data3(c),data4(c)) OR crossup(data5(c),data6(c)) OR crossup(data7(c),data8(c))Then
ExitShort();
답변 1
예스스탁
예스스탁 답변
2022-04-15 15:30:49
안녕하세요
예스스탁입니다.
Input: dix(1),stopper(1.2),진입횟수(10);
var : entry(0,Data1),idx(0,Data1);
var : Bcond(False,Data1),Scond(False,Data1);
setstoploss(stopper);
if Bdate != bdate[1] Then
{
entry = 0;
idx = 0;
}
Else
idx = idx+1;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
bcond = data3(C)-data4(c) > 0 and data5(C)-data6(c) > 0 and data7(C)-data8(c) > 0;
scond = data3(C)-data4(c) < 0 and data5(C)-data6(c) < 0 and data7(C)-data8(c) < 0;
if idx >= dix and stime > 083000 then
{
if entry < 진입횟수 and Bcond == true Then
buy();
if entry < 진입횟수 and Scond == true Then
{
sell();
}
}
IF MarketPosition ==1 and Bcond == False Then
ExitLong();
IF MarketPosition == -1 and Scond == False Then
ExitShort();
즐거운 하루되세요
> 바둑이 님이 쓴 글입니다.
> 제목 : 청산수식 수정부탁드립니다.
> 안녕하세요.
data3과4중 3이 우위, data5와6중 5가 우위, data7과8중 7이 우위가
동시에 모두 성립할 때 매수
진입 후 data3과4중 3이 우위, data5와6중 5가 우위, data7과8중 7이 우위가
하나라도 이탈 성립하면 청산
아래와 같이 작성했는데 청산이 제대로 되질 않습니다.
수정부탁드립니다.
Input: dix(1),stopper(1.2);
Var : EDT(0);
setstoploss(stopper);
var : T1(0),entry(0);
if Bdate != bdate[1] Then
T1 = TotalTrades[1];
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
if dayindex >= dix and stime > 083000 then{
if (data3(C)-data4(c)> 0 and data5(C)-data6(c)> 0 and data7(C)-data8(c)> 0) or
(crossup(data3(c),data4(c)) and crossup(data5(c),data6(c)) and crossup(data7(c),data8(c)))Then
if entry < 10 Then
buy();
if (data3(C)-data4(c)< 0 and data5(C)-data6(c)< 0 and data7(C)-data8(c)< 0) or
(CrossDown(data3(c),data4(c)) and CrossDown(data5(c),data6(c))and CrossDown(data7(c),data8(c)))Then
if entry < 10 Then
sell();
}
if MarketPosition == 1 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
IF CrossDown(data3(c),data4(c)) OR CrossDown(data5(c),data6(c))OR CrossDown(data7(c),data8(c))Then
ExitLong();
if MarketPosition == -1 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
IF crossup(data3(c),data4(c)) OR crossup(data5(c),data6(c)) OR crossup(data7(c),data8(c))Then
ExitShort();