커뮤니티
식작성 문의드립니다
2014-09-05 12:49:57
173
글번호 78388
안녕하십니까. 아래개념으로 혼자작성해보려니 잘안되네요. 부탁드립니다
1.매수(매도는 반대)-10분차트
a.10분차트에서 20일이평 아래로의 이격이 표준편차2.5시그마(볼린져밴드개념과동일)이상
발생시 가장가까운 끝자리 00가격선택 (Euro/USD의 1.3105경우 1.3100선택)
b.선택한 가격 10핍아래에서 2계약 매수진행
c.매수가격 20핍아래에서 손절
d.매수가격 40핍위에서 1계약 이익청산하고 남은1계약은 나머지 1계약은 트레일링 스탑
2. 매수(매도는 반대)--일봉
a.전일변동성의 내에서 가격이 움직인날(인사이드데이)이 이전 N일 이상일 경우
b.전일고점의 10핍위에서 매수1계약
c.매수가격 + (전일변동폭2배+20핍)의 이익이 발생하면 트레일링 스탑
d.반대로 움직일경우 전일저점의 10핍아래서 매도2계약(리버스의미)
e.이경우가 발생하면 전일저점의 10핍위에 손절을 설정하고
f.매도가격에서 (전일변동폭2배+20핍)의 이익이 발생하면 트레일링 스탑
감사합니다
답변 1
예스스탁 예스스탁 답변
2014-09-11 10:20:40
안녕하세요
예스스탁입니다.
1.
#P 이평기간
#dv 시그마
#N1 진입틱수
#N2 손절틱수
#N3 목표수익틱수
#N4 트레일링틱수
input : P(20),dv(2),N1(10),N2(20),N3(40),N4(10);
var1 = ma(c,P)+std(C,p)*dv;
var2 = ma(c,P)-std(C,p)*dv;
if CrossDown(c,var2) Then{
value1 = round(var2,3);
Condition1 = true;
}
if CrossUp(c,var2) Then{
Condition1 = false;
}
if MarketPosition <= 0 and Condition1 == true Then
buy("b",atlimit,value1-PriceScale*N1,2);
if MarketPosition == 1 Then{
ExitLong("BL",AtStop,EntryPrice-PriceScale*N2,"",1,1);
if MaxContracts == CurrentContracts Then
ExitLong("BP",atlimit,EntryPrice+PriceScale*N3,"",1,1);
if CurrentContracts < MaxContracts and highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*N3 Then
ExitLong("btr",AtStop,highest(H,BarsSinceEntry)-PriceScale*N4);
}
if CrossUp(c,var1) Then{
value2 = round(var1,3);
Condition2 = true;
}
if CrossDown(c,var1) Then{
Condition2 = false;
}
if MarketPosition >= 0 and Condition2 == true Then
sell("s",atlimit,value2+PriceScale*N1,2);
if MarketPosition == -1 Then{
ExitShort("SL",AtStop,EntryPrice+PriceScale*N2,"",1,1);
if MaxContracts == CurrentContracts Then
ExitShort("SP",atlimit,EntryPrice-PriceScale*N3,"",1,1);
if CurrentContracts < MaxContracts and Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*N3 Then
ExitShort("str",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*N4);
}
2.
#N 인사이드데이 연속횟수
#N1 진입틱수
#N2 이익틱수
#N3 트레링일 틱수
#N4 손절틱수
input : N(3),N1(10),N2(20),N3(10),N4(10);
var : cnt(0),count(0);
count = 0;
for cnt = 1 to N
{
if dayhigh(cnt) <= dayhigh(cnt+1) and daylow(cnt) >= daylow(cnt+1) Then
count = count+1;
}
if N == count Then
{
if MarketPosition == 0 Then
{
buy("b",AtStop,dayhigh(1)+PriceScale*N1,1);
sell("s",AtStop,daylow(1)-PriceScale*N1,1);
}
}
if MarketPosition == 1 Then{
Sell("Bs",AtStop,daylow(1)-PriceScale*N1,2);
if highest(H,BarsSinceEntry) >= EntryPrice+(dayhigh(1)-daylow(1))*2+PriceScale*N2 Then
exitlong("Btr",AtStop,highest(H,BarsSinceEntry)-PriceScale*N3);
if IsEntryName("Sb") == true Then
ExitLong("bx",AtStop,DayHigh(1)-PriceScale*N4);
}
if MarketPosition == -1 Then{
buy("Sb",AtStop,dayhigh(1)+PriceScale*N1,2);
if lowest(L,BarsSinceEntry) <= EntryPrice-(dayhigh(1)-daylow(1))*2-PriceScale*N2 Then
ExitShort("str",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*N3);
if IsEntryName("Bs") == true Then
ExitShort("Sx",AtStop,daylow(1)+PriceScale*N4);
}
즐거운 하루되세요
> 미수예스 님이 쓴 글입니다.
> 제목 : 식작성 문의드립니다
> 안녕하십니까. 아래개념으로 혼자작성해보려니 잘안되네요. 부탁드립니다
1.매수(매도는 반대)-10분차트
a.10분차트에서 20일이평 아래로의 이격이 표준편차2.5시그마(볼린져밴드개념과동일)이상
발생시 가장가까운 끝자리 00가격선택 (Euro/USD의 1.3105경우 1.3100선택)
b.선택한 가격 10핍아래에서 2계약 매수진행
c.매수가격 20핍아래에서 손절
d.매수가격 40핍위에서 1계약 이익청산하고 남은1계약은 나머지 1계약은 트레일링 스탑
2. 매수(매도는 반대)--일봉
a.전일변동성의 내에서 가격이 움직인날(인사이드데이)이 이전 N일 이상일 경우
b.전일고점의 10핍위에서 매수1계약
c.매수가격 + (전일변동폭2배+20핍)의 이익이 발생하면 트레일링 스탑
d.반대로 움직일경우 전일저점의 10핍아래서 매도2계약(리버스의미)
e.이경우가 발생하면 전일저점의 10핍위에 손절을 설정하고
f.매도가격에서 (전일변동폭2배+20핍)의 이익이 발생하면 트레일링 스탑
감사합니다
다음글
이전글