커뮤니티
수식부탁드립니다.
2019-06-29 03:52:29
178
글번호 129863
부탁드린대로 잘만들어주셔서 감사드립니다..
제가 스스로 응용하여 만들어보려했으나 부족한능력으로 한계가있어 다시문의드리게되었습니다.
1) 3계약중 첫번째1계약 목표가가 S1 .R1이었다면 진입가에서 +- 35틱 익절로 부탁드립니다. (SetStopProfittarget(PriceScale*35,PointStop)으로하니 2회이상진입 되더라구요..
2)당일 손절발생시에만 S3 = Dayhigh-PriceScale*120; 에서 매수 ,
R3 = Daylow+PriceScale*120; 에서 매도 진입,
청산은 70틱익절
3) 3번째계약은 목표가를 매수시 R3 , 매도시 S3으로 부탁드리고
트레일링스탑은 2차청산(S2,R2지점)이되면
S2,R2에서 위아래로 15틱이상움직엿을시 2차청산지점(S2,R2)에서 청산
S3 = Dayhigh-PriceScale*120;
R3 = Daylow+PriceScale*120;
4) 기존전략이 35틱 움직였을시 본절청산이었는데요
1번째계약이 S1,R1에서 청산되었을시, 나머지2,3계약은 본절에서 모두청산되게 부탁드립니다.
언제나 감사드립니다 항상행복하세요..
---------------------------------------------------------
안녕하세요
예스스탁입니다.
식을 수정했습니다.
1
input : xtime(050000);
var : R2(0),R1(0),S1(0),S2(0),entry(0);
var : Tcond(false),BX1(false),BX2(false),SX1(false),SX2(false);
if bdate != bdate[1] then
{
Tcond = true;
entry = 0;
}
if (sdate != sdate[1] and stime >= xtime) or
(sdate == sdate[1] and stime >= xtime and stime[1] < xtime) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("BX");
if MarketPosition == -1 Then
ExitShort("SX");
}
R2 = DayLow+PriceScale*90;
R1 = DayLow+PriceScale*55;
S1 = DayHigh-PriceScale*55;
S2 = DayHigh-PriceScale*90;
if MarketPosition(0) != 0 and MarketPosition(0) != MarketPosition(0)[1] Then
entry = entry+1;
if Tcond == true then
{
if MarketPosition <= 0 and entry < 1 Then
{
if H < S1 Then
buy("b1",AtStop,S1,3);
if L > S1 then
buy("b2",AtLimit,S1,3);
}
if MarketPosition >= 0 and entry < 1 Then
{
if L > R1 Then
sell("R1",AtStop,R1,3);
if H < R1 Then
sell("R2",AtLimit,R1,3);
}
if MarketPosition == 1 then
{
if CurrentContracts > CurrentContracts[1] Then
{
BX1 = false;
BX2 = false;
}
if CurrentContracts < CurrentContracts[1] then
{
if (LatestExitName(0) == "bx11" or LatestExitName(0) == "bx12") Then
BX1 = true;
if (LatestExitName(0) == "bx21" or LatestExitName(0) == "bx22") Then
BX2 = true;
}
if BX1 == false Then
{
if H < R1 Then
ExitLong("bx11",AtLimit,R1,"",1,1);
if L > R1 Then
ExitLong("bx12",AtStop,R1,"",1,1);
}
if BX2 == false Then
{
if H < R2 Then
ExitLong("bx21",AtLimit,R2,"",1,1);
if L > R2 Then
ExitLong("bx22",AtStop,R2,"",1,1);
}
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*35 Then
ExitLong("bx3",AtStop,EntryPrice);
}
if MarketPosition == -1 then
{
if CurrentContracts > CurrentContracts[1] Then
{
SX1 = false;
SX2 = false;
}
if CurrentContracts < CurrentContracts[1] then
{
if (LatestExitName(0) == "sx11" or LatestExitName(0) == "sx12") Then
SX1 = true;
if (LatestExitName(0) == "sx21" or LatestExitName(0) == "sx22") Then
SX2 = true;
}
if SX1 == False then
{
if L > S1 Then
ExitShort("sx11",AtLimit,S1,"",1,1);
if H < S1 Then
ExitShort("sx12",AtStop,S1,"",1,1);
}
if SX2 == false then
{
if L > S2 Then
ExitShort("sx21",AtLimit,S2,"",1,1);
if H < S2 Then
ExitShort("sx22",AtStop,S2,"",1,1);
}
if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*35 Then
ExitShort("sx3",AtStop,EntryPrice);
}
}
SetStopLoss(PriceScale*20,PointStop);
즐거운 하루되세요
답변 2
예스스탁 예스스탁 답변
2019-07-01 10:32:34
안녕하세요
예스스탁입니다.
내용이 정확히 판단되지 않습니다.
02-3453-1060으로 전화주시기 바랍니다.
즐거운 하루되세요
> 베비슬립 님이 쓴 글입니다.
> 제목 : 수식부탁드립니다.
> 부탁드린대로 잘만들어주셔서 감사드립니다..
제가 스스로 응용하여 만들어보려했으나 부족한능력으로 한계가있어 다시문의드리게되었습니다.
1) 3계약중 첫번째1계약 목표가가 S1 .R1이었다면 진입가에서 +- 35틱 익절로 부탁드립니다. (SetStopProfittarget(PriceScale*35,PointStop)으로하니 2회이상진입 되더라구요..
2)당일 손절발생시에만 S3 = Dayhigh-PriceScale*120; 에서 매수 ,
R3 = Daylow+PriceScale*120; 에서 매도 진입,
청산은 70틱익절
3) 3번째계약은 목표가를 매수시 R3 , 매도시 S3으로 부탁드리고
트레일링스탑은 2차청산(S2,R2지점)이되면
S2,R2에서 위아래로 15틱이상움직엿을시 2차청산지점(S2,R2)에서 청산
S3 = Dayhigh-PriceScale*120;
R3 = Daylow+PriceScale*120;
4) 기존전략이 35틱 움직였을시 본절청산이었는데요
1번째계약이 S1,R1에서 청산되었을시, 나머지2,3계약은 본절에서 모두청산되게 부탁드립니다.
언제나 감사드립니다 항상행복하세요..
---------------------------------------------------------
안녕하세요
예스스탁입니다.
식을 수정했습니다.
1
input : xtime(050000);
var : R2(0),R1(0),S1(0),S2(0),entry(0);
var : Tcond(false),BX1(false),BX2(false),SX1(false),SX2(false);
if bdate != bdate[1] then
{
Tcond = true;
entry = 0;
}
if (sdate != sdate[1] and stime >= xtime) or
(sdate == sdate[1] and stime >= xtime and stime[1] < xtime) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("BX");
if MarketPosition == -1 Then
ExitShort("SX");
}
R2 = DayLow+PriceScale*90;
R1 = DayLow+PriceScale*55;
S1 = DayHigh-PriceScale*55;
S2 = DayHigh-PriceScale*90;
if MarketPosition(0) != 0 and MarketPosition(0) != MarketPosition(0)[1] Then
entry = entry+1;
if Tcond == true then
{
if MarketPosition <= 0 and entry < 1 Then
{
if H < S1 Then
buy("b1",AtStop,S1,3);
if L > S1 then
buy("b2",AtLimit,S1,3);
}
if MarketPosition >= 0 and entry < 1 Then
{
if L > R1 Then
sell("R1",AtStop,R1,3);
if H < R1 Then
sell("R2",AtLimit,R1,3);
}
if MarketPosition == 1 then
{
if CurrentContracts > CurrentContracts[1] Then
{
BX1 = false;
BX2 = false;
}
if CurrentContracts < CurrentContracts[1] then
{
if (LatestExitName(0) == "bx11" or LatestExitName(0) == "bx12") Then
BX1 = true;
if (LatestExitName(0) == "bx21" or LatestExitName(0) == "bx22") Then
BX2 = true;
}
if BX1 == false Then
{
if H < R1 Then
ExitLong("bx11",AtLimit,R1,"",1,1);
if L > R1 Then
ExitLong("bx12",AtStop,R1,"",1,1);
}
if BX2 == false Then
{
if H < R2 Then
ExitLong("bx21",AtLimit,R2,"",1,1);
if L > R2 Then
ExitLong("bx22",AtStop,R2,"",1,1);
}
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*35 Then
ExitLong("bx3",AtStop,EntryPrice);
}
if MarketPosition == -1 then
{
if CurrentContracts > CurrentContracts[1] Then
{
SX1 = false;
SX2 = false;
}
if CurrentContracts < CurrentContracts[1] then
{
if (LatestExitName(0) == "sx11" or LatestExitName(0) == "sx12") Then
SX1 = true;
if (LatestExitName(0) == "sx21" or LatestExitName(0) == "sx22") Then
SX2 = true;
}
if SX1 == False then
{
if L > S1 Then
ExitShort("sx11",AtLimit,S1,"",1,1);
if H < S1 Then
ExitShort("sx12",AtStop,S1,"",1,1);
}
if SX2 == false then
{
if L > S2 Then
ExitShort("sx21",AtLimit,S2,"",1,1);
if H < S2 Then
ExitShort("sx22",AtStop,S2,"",1,1);
}
if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*35 Then
ExitShort("sx3",AtStop,EntryPrice);
}
}
SetStopLoss(PriceScale*20,PointStop);
즐거운 하루되세요
베비슬립
2019-07-01 12:06:32
베비슬립 님에 의해 삭제된 답변입니다.
다음글
이전글