커뮤니티
수식 부탁드려요~
2015-07-30 10:26:31
90
글번호 89016
늘 도움 주셔서 감사드리고 있습니다.
아래수식에서 진입 후 익절청산이 되면 그자리에서 바로 또 신호가 나오더라고요.
그래서
1) 익절청산자리에서 10틱 이하에서
+2) 10분 이후 재진입 하도록 바꿔주세요.
좋은 하루 되세요~
input :
LSS1(10), LSS2(60),
LFF1(10), LFF2(59),
FMM1(5), FMM2(20),
OMMD1(10), OMMD2(59),
LossCutL(20), StopCutL(20);
var : Ordata1(0,data6),LBB1(0,data6),LBB2(0,data6);
var : Eprice(0,data6),O2(0,data1);
Ordata1 = (data4(c)+data5(c));
LBB1 = data6(ma(c,12));
LBB2 = data6(ma(c,20));
O2 = data6(O);
if LBB1 > LBB2 and data2(ma(c,LSS1)) > data2(ma(c,LSS2)) and data6(crossup(ma(Ordata1,LFF1),ma(Ordata1,LFF2))) then
buy("매수1",AtMarket);
if crossup(LBB1,LBB2) then
buy("매수2",AtMarket);
if LBB1 < LBB2 and data2(ma(c,LSS1)) < data2(ma(c,LSS2)) and data6(crossdown(ma(Ordata1,LFF1),ma(Ordata1,LFF2))) then
sell("매도1",AtMarket);
if crossdown(LBB1,LBB2) then
sell("매도2",AtMarket);
if data2(ma(c,FMM1)) < data2(ma(c,FMM2)) and data6(crossdown(ma(Ordata1,OMMD1),ma(Ordata1,OMMD2))) then{
ExitLong("매수청산",AtMarket);
}
if data2(ma(c,FMM1)) > data2(ma(c,FMM2)) and data6(crossup(ma(Ordata1,OMMD1),ma(Ordata1,OMMD2))) then{
ExitLong("매도청산",AtMarket);
}
If MarketPosition == 1 Then {
if data6(L) <= O2[BarsSinceEntry]-(LosscutL*data6(PriceScale)) Then
ExitLong("콜손절");
if data6(H) >= O2[BarsSinceEntry]+(StopCutL*data6(PriceScale)) Then
Exitlong("콜익절");
}
If MarketPosition == -1 Then {
if data6(L) >= O2[BarsSinceEntry]+(LosscutS*data6(PriceScale)) Then
ExitLong("풋손절");
if data6(H) <= O2[BarsSinceEntry]-(StopCutS*data6(PriceScale)) Then
Exitlong("풋익절");
}
답변 1
예스스탁 예스스탁 답변
2015-08-03 11:23:39
안녕하세요
예스스탁입니다.
input :
LSS1(10), LSS2(60),
LFF1(10), LFF2(59),
FMM1(5), FMM2(20),
OMMD1(10), OMMD2(59),
LossCutL(20), StopCutL(20),
LossCutS(20), StopCutS(20);
var : Ordata1(0,data6),LBB1(0,data6),LBB2(0,data6);
var : Eprice(0,data6),O2(0,data1);
var : BXcond(false,data1),SXcond(false,data1);
Ordata1 = (data4(c)+data5(c));
LBB1 = data6(ma(c,12));
LBB2 = data6(ma(c,20));
O2 = data6(O);
BXcond = MarketPosition(1) == 1 and ExitDate(1) == sdate and IsExitName("콜손절",1);
SXcond = MarketPosition(1) == -1 and ExitDate(1) == sdate and IsExitName("풋손절",1);
if LBB1 > LBB2 and data2(ma(c,LSS1)) > data2(ma(c,LSS2)) and data6(crossup(ma(Ordata1,LFF1),ma(Ordata1,LFF2))) then{
if BXcond == false or MarketPosition == -1 Then
buy("매수1",AtMarket);
if MarketPosition == 0 and BXcond == true and TimeToMinutes(stime) >= TimeToMinutes(ExitTime(1))+10 and C <= ExitPrice(1)-PriceScale*10 Then
buy("매수11",AtMarket);
}
if crossup(LBB1,LBB2) then{
if BXcond == false or MarketPosition == -1 Then
buy("매수2",AtMarket);
if MarketPosition == 0 and BXcond == true and TimeToMinutes(stime) >= TimeToMinutes(ExitTime(1))+10 and C <= ExitPrice(1)-PriceScale*10 Then
buy("매수21",AtMarket);
}
if LBB1 < LBB2 and data2(ma(c,LSS1)) < data2(ma(c,LSS2)) and data6(crossdown(ma(Ordata1,LFF1),ma(Ordata1,LFF2))) then{
if SXcond == false or MarketPosition == 1 Then
sell("매도1",AtMarket);
if MarketPosition == 0 and SXcond == true and TimeToMinutes(stime) >= TimeToMinutes(ExitTime(1))+10 and C >= ExitPrice(1)+PriceScale*10 Then
sell("매도11",AtMarket);
}
if crossdown(LBB1,LBB2) then{
if SXcond == false or MarketPosition == 1 Then
sell("매도2",AtMarket);
if MarketPosition == 0 and SXcond == true and TimeToMinutes(stime) >= TimeToMinutes(ExitTime(1))+10 and C >= ExitPrice(1)+PriceScale*10 Then
sell("매도12",AtMarket);
}
if data2(ma(c,FMM1)) < data2(ma(c,FMM2)) and data6(crossdown(ma(Ordata1,OMMD1),ma(Ordata1,OMMD2))) then{
ExitLong("매수청산",AtMarket);
}
if data2(ma(c,FMM1)) > data2(ma(c,FMM2)) and data6(crossup(ma(Ordata1,OMMD1),ma(Ordata1,OMMD2))) then{
ExitLong("매도청산",AtMarket);
}
If MarketPosition == 1 Then {
if data6(L) <= O2[BarsSinceEntry]-(LosscutL*data6(PriceScale)) Then
ExitLong("콜손절");
if data6(H) >= O2[BarsSinceEntry]+(StopCutL*data6(PriceScale)) Then
Exitlong("콜익절");
}
If MarketPosition == -1 Then {
if data6(L) >= O2[BarsSinceEntry]+(LosscutS*data6(PriceScale)) Then
ExitShort("풋손절");
if data6(H) <= O2[BarsSinceEntry]-(StopCutS*data6(PriceScale)) Then
ExitShort("풋익절");
}
즐거운 하루되세요
> gaintoga 님이 쓴 글입니다.
> 제목 : 수식 부탁드려요~
> 늘 도움 주셔서 감사드리고 있습니다.
아래수식에서 진입 후 익절청산이 되면 그자리에서 바로 또 신호가 나오더라고요.
그래서
1) 익절청산자리에서 10틱 이하에서
+2) 10분 이후 재진입 하도록 바꿔주세요.
좋은 하루 되세요~
input :
LSS1(10), LSS2(60),
LFF1(10), LFF2(59),
FMM1(5), FMM2(20),
OMMD1(10), OMMD2(59),
LossCutL(20), StopCutL(20);
var : Ordata1(0,data6),LBB1(0,data6),LBB2(0,data6);
var : Eprice(0,data6),O2(0,data1);
Ordata1 = (data4(c)+data5(c));
LBB1 = data6(ma(c,12));
LBB2 = data6(ma(c,20));
O2 = data6(O);
if LBB1 > LBB2 and data2(ma(c,LSS1)) > data2(ma(c,LSS2)) and data6(crossup(ma(Ordata1,LFF1),ma(Ordata1,LFF2))) then
buy("매수1",AtMarket);
if crossup(LBB1,LBB2) then
buy("매수2",AtMarket);
if LBB1 < LBB2 and data2(ma(c,LSS1)) < data2(ma(c,LSS2)) and data6(crossdown(ma(Ordata1,LFF1),ma(Ordata1,LFF2))) then
sell("매도1",AtMarket);
if crossdown(LBB1,LBB2) then
sell("매도2",AtMarket);
if data2(ma(c,FMM1)) < data2(ma(c,FMM2)) and data6(crossdown(ma(Ordata1,OMMD1),ma(Ordata1,OMMD2))) then{
ExitLong("매수청산",AtMarket);
}
if data2(ma(c,FMM1)) > data2(ma(c,FMM2)) and data6(crossup(ma(Ordata1,OMMD1),ma(Ordata1,OMMD2))) then{
ExitLong("매도청산",AtMarket);
}
If MarketPosition == 1 Then {
if data6(L) <= O2[BarsSinceEntry]-(LosscutL*data6(PriceScale)) Then
ExitLong("콜손절");
if data6(H) >= O2[BarsSinceEntry]+(StopCutL*data6(PriceScale)) Then
Exitlong("콜익절");
}
If MarketPosition == -1 Then {
if data6(L) >= O2[BarsSinceEntry]+(LosscutS*data6(PriceScale)) Then
ExitLong("풋손절");
if data6(H) <= O2[BarsSinceEntry]-(StopCutS*data6(PriceScale)) Then
Exitlong("풋익절");
}
다음글
이전글