커뮤니티
수식 문의드립니다.
2018-05-21 01:15:03
136
글번호 119062
***아래식을 1번,2번 과 같이 수정하고 싶습니다. 부탁드립니다.
1.
당일 해당 거래시간동안 (거래시간 해외선물 07:00 ~ 06:00)
"당일거래청산으로인한손익+현재포지션손익 >= 10pt(조정가능)" 10pt 이상이면
보유 포지션 있으면 청산, 해당시간 매매 중단. 다음날 시작시간(07:00)에 다시 거래시작
"당일거래청산으로인한손익+현재포지션손익 < 10pt(조정가능)" 이면
보유 포지션 있으면 다음날로 이월하여 계속 거래. 없으면 시작시간(07:00) 다시 거래시작
2.
(1번과 다른점은 10Pt 이하시 05:30 보유포지션 청산 입니다.)
"당일거래청산으로인한손익+현재포지션손익 < 10pt(조정가능)" 이면
05:30 에 보유 포지션 청산. 다음날 시작시간(07:00)에 다시 거래시작
3. (가능한지 문의드립니다.)
당일 해당 거래시간동안 (거래시간 해외선물 07:00 ~ 06:00)
지정 계좌의 "당일거래발생으로인한손익+현재포지션손익 >= 10$ 이상이면
시스템1,2 해당 포지션 청산, 당일매매 중단. 다음날 시작 시간에 새로 거래를 시작
한계좌에서 두종목 이상 거래하고 있으며(시스뎀1+종목1, 시스템2+종목2) 기준입니다
***아래식
input : P1(10), P2(200);
var1 = ma(c,P1);
var2 = ma(C,P2);
input : 익절1(21),익절1하락(1),손절(15);
var : BH(0),SL(0),HE(0),LE(0);
if crossup(var1, var2) and var2 > var2[1] Then{
buy("BB");
}
if crossdown(var1, var2) and var2 < var2[1] 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*손절);
}
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*손절);
}
답변 1
예스스탁 예스스탁 답변
2018-05-23 10:41:11
안녕하세요
예스스탁입니다.
1.
input : P1(10), P2(200);
input : 익절1(21),익절1하락(1),손절(15);
Input : 당일수익(10);
var : BH(0),SL(0),HE(0),LE(0),N1(0),daypl(0),Xcond(false);
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;
var1 = ma(c,P1);
var2 = ma(C,P2);
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));
}
2
input : P1(10), P2(200);
input : 익절1(21),익절1하락(1),손절(15);
Input : 당일수익(10);
var : BH(0),SL(0),HE(0),LE(0),N1(0),daypl(0),Xcond(false);
if Bdate != Bdate[1] Then
{
N1 = NetProfit;
Xcond = false;
}
if (sdate != sdate[1] and stime >= 053000) or
(sdate == sdate[1] and stime >= 053000 and stime[1] < 053000) Then
{
Xcond = true;
if MarketPosition == 1 Then
exitlong();
if MarketPosition == -1 Then
ExitShort();
}
if TotalTrades > TotalTrades[1] and
(IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then
Xcond = true;
daypl = NetProfit-N1;
var1 = ma(c,P1);
var2 = ma(C,P2);
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));
}
3
3번은 가능한 내용이 아닙니다.
즐거운 하루되세요
> 라떼처럼 님이 쓴 글입니다.
> 제목 : 수식 문의드립니다.
> ***아래식을 1번,2번 과 같이 수정하고 싶습니다. 부탁드립니다.
1.
당일 해당 거래시간동안 (거래시간 해외선물 07:00 ~ 06:00)
"당일거래청산으로인한손익+현재포지션손익 >= 10pt(조정가능)" 10pt 이상이면
보유 포지션 있으면 청산, 해당시간 매매 중단. 다음날 시작시간(07:00)에 다시 거래시작
"당일거래청산으로인한손익+현재포지션손익 < 10pt(조정가능)" 이면
보유 포지션 있으면 다음날로 이월하여 계속 거래. 없으면 시작시간(07:00) 다시 거래시작
2.
(1번과 다른점은 10Pt 이하시 05:30 보유포지션 청산 입니다.)
"당일거래청산으로인한손익+현재포지션손익 < 10pt(조정가능)" 이면
05:30 에 보유 포지션 청산. 다음날 시작시간(07:00)에 다시 거래시작
3. (가능한지 문의드립니다.)
당일 해당 거래시간동안 (거래시간 해외선물 07:00 ~ 06:00)
지정 계좌의 "당일거래발생으로인한손익+현재포지션손익 >= 10$ 이상이면
시스템1,2 해당 포지션 청산, 당일매매 중단. 다음날 시작 시간에 새로 거래를 시작
한계좌에서 두종목 이상 거래하고 있으며(시스뎀1+종목1, 시스템2+종목2) 기준입니다
***아래식
input : P1(10), P2(200);
var1 = ma(c,P1);
var2 = ma(C,P2);
input : 익절1(21),익절1하락(1),손절(15);
var : BH(0),SL(0),HE(0),LE(0);
if crossup(var1, var2) and var2 > var2[1] Then{
buy("BB");
}
if crossdown(var1, var2) and var2 < var2[1] 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*손절);
}
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*손절);
}
다음글
이전글