커뮤니티
수정 부탁드립니다.
2018-05-23 20:19:29
189
글번호 119136
부탁드립니다.
거래 시간 동안 당일 수익이 10pt 이상일때 청산이 안되고 지속 거래가 됩니다.
거래시간을 조정할 수 있게 요청드립니다.(거래 시간: 08:00~05:30)
요청사항
"거래청산으로인한손익+현재포지션손익 >= 10pt(조정가능)" 10pt 이상이면 청산,
해당시간 매매 중단. 시작시간(08:00)에 다시 거래시작
만약 해당시간에 합산 수익이 10pt 이하이면, 시작시간과 관계없이 포지션 유지, 계속 거래
***아래식
input : P1(200), P2(10);
input : 익절1(21),익절1하락(1),손절(15);
Input : 당일수익(10);
var : BH(0),SL(0),HE(0),LE(0),N1(0),daypl(0),Xcond(false);
var1 = ma(c,P2);
var2 = ma(C,P1);
if Bdate != Bdate[1] Then
{
N1 = NetProfit;
Xcond = false;
}
if TotalTrades > TotalTrades[1] and
(IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then
Xcond = true;
daypl = NetProfit-N1;
if crossup(var1, var2) and var2 > var2[1] and Xcond == false Then
{
buy("BB");
}
if crossdown(var1, var2) and var2 < var2[1] and Xcond == false Then
{
sell("SS");
}
//청산
if MarketPosition == 1 Then
{
BH = highest(H,BarsSinceEntry);
if MaxEntries == 1 Then
HE = LatestEntryPrice(0);
if MaxEntries >= 2 and LatestEntryPrice(0) > HE Then
HE = LatestEntryPrice(0);
if BH >= EntryPrice+PriceScale*익절1 Then
{
ExitLong("B익절1",AtStop,BH-PriceScale*익절1하락);
}
ExitLong("B손절",AtStop,HE-PriceScale*손절);
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
}
if MarketPosition == -1 Then
{
SL = Lowest(L,BarsSinceEntry);
if MaxEntries == 1 Then
LE = LatestEntryPrice(0);
if MaxEntries >= 2 and LatestEntryPrice(0) < LE Then
LE = LatestEntryPrice(0);
if SL <= EntryPrice-PriceScale*익절1 Then
{
ExitShort("S익절1",AtStop,SL+PriceScale*익절1하락);
}
ExitShort("S손절",AtStop,LE+PriceScale*손절);
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
}
답변 1
예스스탁 예스스탁 답변
2018-05-24 13:31:35
안녕하세요
예스스탁입니다.
input : P1(200), P2(10),거래시작(80000),거래종료(053000);
input : 익절1(21),익절1하락(1),손절(15);
Input : 당일수익(10);
var : BH(0),SL(0),HE(0),LE(0),N1(0),daypl(0),Xcond(false),Tcond(false);
var1 = ma(c,P2);
var2 = ma(C,P1);
if (sdate != sdate[1] and stime >= 거래시작) or
(sdate == sdate[1] and stime >= 거래시작 and stime[1] < 거래시작) Then
{
N1 = NetProfit;
Xcond = false;
Tcond = true;
}
if (sdate != sdate[1] and stime >= 거래종료) or
(sdate == sdate[1] and stime >= 거래종료 and stime[1] < 거래종료) Then
{
Tcond = false;
}
if TotalTrades > TotalTrades[1] and
(IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then
Xcond = true;
daypl = NetProfit-N1;
if crossup(var1, var2) and var2 > var2[1] and Xcond == false and Tcond == true Then
{
buy("BB");
}
if crossdown(var1, var2) and var2 < var2[1] and Xcond == false and Tcond == true Then
{
sell("SS");
}
//청산
if MarketPosition == 1 Then
{
BH = highest(H,BarsSinceEntry);
if MaxEntries == 1 Then
HE = LatestEntryPrice(0);
if MaxEntries >= 2 and LatestEntryPrice(0) > HE Then
HE = LatestEntryPrice(0);
if BH >= EntryPrice+PriceScale*익절1 Then
{
ExitLong("B익절1",AtStop,BH-PriceScale*익절1하락);
}
ExitLong("B손절",AtStop,HE-PriceScale*손절);
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
}
if MarketPosition == -1 Then
{
SL = Lowest(L,BarsSinceEntry);
if MaxEntries == 1 Then
LE = LatestEntryPrice(0);
if MaxEntries >= 2 and LatestEntryPrice(0) < LE Then
LE = LatestEntryPrice(0);
if SL <= EntryPrice-PriceScale*익절1 Then
{
ExitShort("S익절1",AtStop,SL+PriceScale*익절1하락);
}
ExitShort("S손절",AtStop,LE+PriceScale*손절);
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
}
즐거운 하루되세요
> 라떼처럼 님이 쓴 글입니다.
> 제목 : 수정 부탁드립니다.
> 부탁드립니다.
거래 시간 동안 당일 수익이 10pt 이상일때 청산이 안되고 지속 거래가 됩니다.
거래시간을 조정할 수 있게 요청드립니다.(거래 시간: 08:00~05:30)
요청사항
"거래청산으로인한손익+현재포지션손익 >= 10pt(조정가능)" 10pt 이상이면 청산,
해당시간 매매 중단. 시작시간(08:00)에 다시 거래시작
만약 해당시간에 합산 수익이 10pt 이하이면, 시작시간과 관계없이 포지션 유지, 계속 거래
***아래식
input : P1(200), P2(10);
input : 익절1(21),익절1하락(1),손절(15);
Input : 당일수익(10);
var : BH(0),SL(0),HE(0),LE(0),N1(0),daypl(0),Xcond(false);
var1 = ma(c,P2);
var2 = ma(C,P1);
if Bdate != Bdate[1] Then
{
N1 = NetProfit;
Xcond = false;
}
if TotalTrades > TotalTrades[1] and
(IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then
Xcond = true;
daypl = NetProfit-N1;
if crossup(var1, var2) and var2 > var2[1] and Xcond == false Then
{
buy("BB");
}
if crossdown(var1, var2) and var2 < var2[1] and Xcond == false Then
{
sell("SS");
}
//청산
if MarketPosition == 1 Then
{
BH = highest(H,BarsSinceEntry);
if MaxEntries == 1 Then
HE = LatestEntryPrice(0);
if MaxEntries >= 2 and LatestEntryPrice(0) > HE Then
HE = LatestEntryPrice(0);
if BH >= EntryPrice+PriceScale*익절1 Then
{
ExitLong("B익절1",AtStop,BH-PriceScale*익절1하락);
}
ExitLong("B손절",AtStop,HE-PriceScale*손절);
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
}
if MarketPosition == -1 Then
{
SL = Lowest(L,BarsSinceEntry);
if MaxEntries == 1 Then
LE = LatestEntryPrice(0);
if MaxEntries >= 2 and LatestEntryPrice(0) < LE Then
LE = LatestEntryPrice(0);
if SL <= EntryPrice-PriceScale*익절1 Then
{
ExitShort("S익절1",AtStop,SL+PriceScale*익절1하락);
}
ExitShort("S손절",AtStop,LE+PriceScale*손절);
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
}