引用框(交易新手 @ 12-07 2008, 14:30)

各位高手您們好,小弟最近開始接觸程式交易,也安裝了TradeStaion 來用!
最近發現這個同好聚集的論壇,就很開心的加入了!
我最近有一個想法...但是本身不太會寫程式碼! 希望高手能幫個忙
想法以下:--------------
(1) 寫出一個指標,內容為台指連續期與台股加權指數的價差(假設global server中加權指數代碼是twse,台指連續期是TFXN)。
(2) 在台指連續期的K線bar (或是symbol中)畫出價差的移動平均線 (一條為22日均線,一條為5日均線)。
(3) 當價差22日均線向下跌破-50時賣出,當5日均線向上cross over 22日均線時平倉。
----------------------------
希望能寫成三個程式....也就是兩個是indicator,一個是strategy!
感謝高手分享
indicator 如下:
{*******************************************************************
Description : This Indicator plots Spread_Dif
Provided By : Curtis
********************************************************************}
Inputs: Input1(Close of data1), Input2(Close of data2), Len1(5),Len2(22), Displace(0);
var: Spread_Dif(0);
Spread_Dif = Input1 - Input2;
If Displace >= 0 OR CurrentBar > AbsValue(Displace) Then Begin
Plot1[Displace](AverageFC(Spread_Dif, Len1), "Spread_Avg1");
Plot2[Displace](AverageFC(Spread_Dif, Len2), "Spread_Avg2");
End;
strategy 如下:
{***************************************
Written by: curtis
Description:spread_MA(22) < -50 --> SELL
Spread_Ma(5) Cross over spread_MA(22) --> EXIT
****************************************}
Inputs: Input1(Close of data1), Input2(Close of data2), Len1(5),Len2(22), Displace(0),OSLevel(-50);
var: Spread_Dif(0),Spread_Avg1(0) ,Spread_Avg2(0) ;
IF Close[Len1] of Data1 <> 0 AND Close[Len2] of Data2 <> 0 THEN Begin
Spread_Dif = Input1 - Input2;
Spread_Avg1 = AverageFC(Spread_Dif, Len1);
Spread_Avg2 = AverageFC(Spread_Dif, Len2);
IF Spread_Avg2 Cross under OSlevel then Sell("Spread_Short");
IF Spread_Avg1 Cross over Spread_Avg2 then ExitShort("STP_Short");
END;
因為你只有提供賣方策略,所以我也只有寫出賣方策略!
是個敗多勝少,賺少賠大的策略…
… 建議加上停損吧!…
===============================
提供國外對 Spread 的概念:
利用價差的百分比率來做,若價差百分比高於多少,就放空,價差百分比低於多少就作多,利用移動式停損來進出,勝率較高!