求助,一個(gè)簡(jiǎn)單的程序,請(qǐng)教高手指出問(wèn)題所在 - TradeBlazer公式 [開(kāi)拓者 TB]
- 咨詢內(nèi)容:
今日價(jià)格突破前一日最高價(jià),則買(mǎi)入開(kāi)倉(cāng)一手;價(jià)格跌破前一日最低價(jià),賣出開(kāi)倉(cāng)一手。止損為開(kāi)倉(cāng)價(jià)回撤5個(gè)點(diǎn)(股指期貨),否則收盤(pán)時(shí)以收盤(pán)價(jià)平倉(cāng)。
Params
Numeric StopLossSet(25);
Vars
Bool Condition1;
Bool Condition2;
Numeric MinPoint;
Numeric MyEntryPrice;
Numeric MyExitPrice;
NumericSeries HighD(0);
NumericSeries LowD(0);
Numeric price1;
Numeric price2;
Begin
MinPoint = MinMove*PriceScale;
Condition1 = HighD>HighD[1];
Condition2 = LowD <LowD[1];
if (Condition1) Price1=HighD;
{
Buy(1,Price1);
}
if (Condition2) Price2=LowD;
{
SellShort(1,Price2);
}
If(MarketPosition==1)
if(Low <= MyEntryPrice - StopLossSet*MinPoint)
{
MyExitPrice = MyEntryPrice - StopLossSet*MinPoint;
Sell(0,MyExitPrice);
}Else Sell(0,CloseD(0));
if(MarketPosition==-1)
if(High >= MyEntryPrice + StopLossSet*MinPoint)
{
MyExitPrice = MyEntryPrice + StopLossSet*MinPoint;
BuyToCover(0,MyExitPrice);
}Else BuyToCover(0,CloseD(0));
End - TB技術(shù)人員:
Params
Numeric StopLossSet(25);
Vars
Bool Condition1;
Bool Condition2;
Numeric MinPoint;
Numeric MyEntryPrice;
Numeric MyExitPrice;
NumericSeries HighD(0);
NumericSeries LowD(0);
Numeric price1;
Numeric price2;
Begin
MinPoint = MinMove*PriceScale;
Condition1 = HighD>HighD[1];
Condition2 = LowD <LowD[1];
if (Condition1) Price1=HighD;
{
Buy(1,Price1);
}最好判斷持倉(cāng)情況,不然有可能不停開(kāi)倉(cāng), Price1=HighD也應(yīng)該放在花括號(hào)內(nèi),還有,這個(gè)價(jià)格不一定能成交
if (Condition2) Price2=LowD;
{
SellShort(1,Price2);
}
If(MarketPosition==1)
if(Low <= MyEntryPrice - StopLossSet*MinPoint)
{
MyExitPrice = MyEntryPrice - StopLossSet*MinPoint;
Sell(0,MyExitPrice)可能不成交;
}Else Sell(0,CloseD(0))都收盤(pán)了,還能交易?只能用來(lái)歷史測(cè)試;
if(MarketPosition==-1)
if(High >= MyEntryPrice + StopLossSet*MinPoint)
{
MyExitPrice = MyEntryPrice + StopLossSet*MinPoint;
BuyToCover(0,MyExitPrice);
}Else BuyToCover(0,CloseD(0));
End
這玩意不能用。。。 - TB客服:
回復(fù) 2# edwardzhangxu
現(xiàn)在還處在學(xué)習(xí)編程的初級(jí)階段,離應(yīng)用還遠(yuǎn)著的。問(wèn)題還很多,在1分鐘線上測(cè)試出來(lái)是每分鐘都有開(kāi)倉(cāng)平倉(cāng)。第二個(gè)問(wèn)題關(guān)于收盤(pán)的如何修改成以15:14分價(jià)格成交? - 網(wǎng)友回復(fù):
本帖最后由 飛躍 于 2012-2-29 20:43 編輯
由于手頭沒(méi)有TB軟件,臨時(shí)發(fā)一個(gè)修改好的,可能中間有些不太合適,可以在調(diào)整下。
Params
Numeric StopLossSet(0.5);
Vars
Bool Condition1;
Bool Condition2;
Numeric MinPoint;
Numeric MyEntryPrice;
Numeric StopLine;
NumericSeries HigherAfterEntry;
NumericSeries LowerAfterEntry;
NumericSeries PreEntryPrice;
NumericSeries DayOpen;
NumericSeries HighDD(0);
NumericSeries LowDD(0);
Numeric MyExitPrice;
BoolSeries bLongStoped;
BoolSeries bShortStoped;
Begin
MinPoint = MinMove*PriceScale;
HighDD = HighD(1);
LowDD = LowD(1);
PlotNumeric("HighDD",HighDD);
PlotNumeric("LowDD",LowDD);
Condition1 = High >HighDD;
Condition2 = Low <LowDD;
Commentary("Condition1="+IIFString(Condition1,"True","False"));
Commentary("Condition2="+IIFString(Condition2,"True","False"));
If(CurrentBar==0 || Date!=Date[1])
{
bLongStoped = False;
bShortStoped = False;
}Else
{
bLongStoped = bLongStoped[1];
bShortStoped = bShortStoped[1];
}
if(MarketPosition == 0 && Condition1 && bLongStoped==False && Time < 0.1455)
{
MyEntryPrice = HighDD + MinPoint;
if(Open > HighDD)
MyEntryPrice = Open;
Buy(1,MyEntryPrice);
bLongStoped==False;
}
if(MarketPosition == 0 && Condition2 && bShortStoped == False && Time < 0.1455)
{
MyEntryPrice = LowDD - MinPoint;
If(Open < LowDD)
MyEntryPrice = Open;
SellShort(1,MyEntryPrice);
bShortStoped = False;
}
If(MarketPosition==1 && Low <= MyEntryPrice - StopLossSet*MinPoint)
{
MyExitPrice = PreEntryPrice - StopLossSet*MinPoint;
If(Open < MyExitPrice)
MyExitPrice = Open;
Sell(0,MyExitPrice);
bLongStoped==True;
}Else
if(MarketPosition==-1 && High >= MyEntryPrice + StopLossSet*MinPoint )
{
MyExitPrice = PreEntryPrice + StopLossSet*MinPoint;
if(Open > MyExitPrice)
MyExitPrice = Open;
BuyToCover(0,MyExitPrice);
bShortStoped = True;
}
if(Time >= 0.1455)
{
BuyToCover(0,Open);
Sell(0,Open);
}
End - 網(wǎng)友回復(fù):
你這個(gè)還可以把開(kāi)倉(cāng)的線畫(huà)出來(lái),也應(yīng)該加一個(gè)止盈的策略,呵呵
相關(guān)文章
-
沒(méi)有相關(guān)內(nèi)容