커뮤니티
스위칭 체결
2019-04-16 07:19:58
161
글번호 127835
손절되고 반대방향으로 바로 매매진입될수 있도록
수위칭진입매매가 되게 수식을 부탁드릴수 있을까요!
그리고 장시작30분후 프로그램 작동 시작도 삭제해서 수식작성했음 합니다
항상 수고해 주셔서 감사합니다^^
답변 1
예스스탁 예스스탁 답변
2019-04-15 13:10:37
안녕하세요
예스스탁입니다.
해당 수식들에 청산의 종류에 따라 반대방향 스위칭을 막는 내용이 없습니다.
손절 추가해서 테스트를 해도 별도의 청산으로 다음진입을 제한경우가 없습니다.
if crossup(var1,var2) Then
Buy("b",OnClose,def,3);
if CrossDown(var1,var2) Then
Sell("s",OnClose,def,3);
수식 내용을 보시면 진입조건이 위와 같이 단지 크로스입니다.
2번수식만 TM >= 30으로 시간제한 조건이 있을 뿐입니다.
2번 수식에서 시간 제한을 제외하면 1번수식입니다.
즐거운 하루되세요
> 이태리 님이 쓴 글입니다.
> 제목 : 스위칭 체결
> 예전에 작성해주신 수식프로그램 잘 사용하고 있고 감사드립니다
약간 수정을 부탁드릴까해서요
보유분 3계약 모두 이익실현 청산되었을때는
반대신호에 매매진입이 잘 되는데요
3계약중 1계약이라도 손절이 발생되었을때는
반대진입매입이 바로 안되고 건너 뛰는데요
손절되고 반대방향으로 바로 매매진입될수 있도록
수위칭진입매매가 되게 수식을 부탁드릴수 있을까요!
그리고 장시작30분후 프로그램 작동 시작도 삭제해서 수식작성했음 합니다
(장시작과 동시에 수식프로그램 작동하게끔)
항상 수고해 주셔서 감사합니다^^
2번 해외선물을 거래하고 있습니다
1
input : P1(1),P2(30);
var1 = ema(C,P1);
var2 = ema(C,P2);
if crossup(var1,var2) Then
Buy("b",OnClose,def,3);
if CrossDown(var1,var2) Then
Sell("s",OnClose,def,3);
if MarketPosition == 1 Then
{
ExitLong("bp1",atlimit,EntryPrice+PriceScale*25,"",1,1);
ExitLong("bp2",atlimit,EntryPrice+PriceScale*35,"",1,1);
ExitLong("bp3",atlimit,EntryPrice+PriceScale*110,"",1,1);
if CrossDown(var1,var2) Then
ExitLong("bx");
}
if MarketPosition == -1 Then
{
ExitShort("sp1",atlimit,EntryPrice-PriceScale*25,"",1,1);
ExitShort("sp2",atlimit,EntryPrice-PriceScale*35,"",1,1);
ExitShort("sp3",atlimit,EntryPrice-PriceScale*110,"",1,1);
if CrossUp(var1,var2) Then
ExitShort("sx");
}
2 해외
input : P1(1),P2(30);
var : S1(0),D1(0),TM(0),TF(0);
var1 = ema(C,P1);
var2 = ema(C,P2);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
if TM >= 30 and crossup(var1,var2) Then
Buy("b",OnClose,def,3);
if TM >= 30 and CrossDown(var1,var2) Then
Sell("s",OnClose,def,3);
}
if MarketPosition == 1 Then
{
ExitLong("bp1",atlimit,EntryPrice+PriceScale*25,"",1,1);
ExitLong("bp2",atlimit,EntryPrice+PriceScale*35,"",1,1);
ExitLong("bp3",atlimit,EntryPrice+PriceScale*110,"",1,1);
if CrossDown(var1,var2) Then
ExitLong("bx");
}
if MarketPosition == -1 Then
{
ExitShort("sp1",atlimit,EntryPrice-PriceScale*25,"",1,1);
ExitShort("sp2",atlimit,EntryPrice-PriceScale*35,"",1,1);
ExitShort("sp3",atlimit,EntryPrice-PriceScale*110,"",1,1);
if CrossUp(var1,var2) Then
ExitShort("sx");
}