COCO研究院

 找回密碼
 註冊
搜索
查看: 3083|回復: 8

可以幫我看一下這段程式碼嗎?

[複製鏈接]
發表於 12-3-2 20:21 | 顯示全部樓層 |閱讀模式
不知道這邊可不可以直接把程式碼PO上來問,如果不行請跟我講,我會把它刪掉的 ORZ
_SECTION_BEGIN("Num1");
Plot(C,"Price", colorBlack, styleCandle );
a=TimeFrameGetPrice("O",inDaily,0,expandFirst );
b=TimeFrameGetPrice("C",inDaily,-1,expandLast);


d=TimeFrameGetPrice("c",in1Minute,0,expandFirst);
e=TimeFrameGetPrice("o",in1Minute,1,expandFirst);
f=TimeFrameGetPrice("o",in1Minute,2,expandFirst);
g=TimeFrameGetPrice("o",in1Minute,3,expandFirst);
i=TimeFrameGetPrice("o",in1Minute,4,expandFirst);
j=TimeFrameGetPrice("o",in1Minute,5,expandFirst);
k=TimeFrameGetPrice("o",in1Minute,6,expandFirst);

Buy= a>b ;
Sell=d>e OR d>f OR d>g OR d>i OR d>j OR d>k;
Short = a<b;
Cover=d<e OR d<f OR d<g OR d<i OR d<j OR d< k;
_SECTION_END();


我擁有的資料是台指期的分K線資料,我上面這段程式碼本來想要做

叫他比較前一天收盤價和今天的開盤價,

如果今天開盤價比昨天收盤價高,那麼就在開盤第一根分K棒買入多單,然後只要買入後的分K棒有從高點落下就平倉

另外如果今天開盤價比昨天收盤價低,那麼就在開盤第一根分K棒買入空單,然後只要買入後的分K棒有從低點上升就平倉。

但是為什麼這段程式碼進倉的時間都在 1:46:00左右,為什麼不是在開盤建立倉為呢?

請指教 ORZ
發表於 12-3-2 22:58 | 顯示全部樓層
回復 1# hulk10425

Hi, h大

買入後的分K棒有從高點落下就平倉


1. "高點"指的是哪個高點?
2. 平多後,空手、反手還是伺機再進多單?

買入後的分K棒有從低點上升就平倉


1. "低點"指的是哪個低點?
2. 補空後,空手、反手還是伺機再進空單?
 樓主| 發表於 12-3-2 23:55 | 顯示全部樓層
1.高點指的是只要開盤以後指數有任何一個時刻低於開盤價就平倉
2.低點指的是只要開盤以後指數有任何一個時刻高於開盤價就平倉

然後平倉就不做任何動作了。

我只是想要開盤的時侯看可不可以偷一點小點數而已!

可是我的問題是為什麼這段程式碼進倉的時間都在 1:46:00左右,為什麼不是在開盤建立倉位呢?
發表於 12-3-3 08:21 | 顯示全部樓層
回復 3# hulk10425

Hi, h大

下列方法可控制日內線,當符合你得進場條件時,於第一根K線進行交易。


  1. _YesterdayClose = TimeFrameGetPrice( "C", inDaily, -1 );
  2. _TodayOpen = TimeFrameGetPrice( "O", inDaily, 0 );
  3. _DayBarIndex = BarsSince( Day() != Ref( Day(), -1 ) );

  4. if ( Interval() < inDaily )
  5. {
  6. Buy = ( _DayBarIndex == 0 ) AND ( _TodayOpen > _YesterdayClose );
  7. Short = ( _DayBarIndex == 0 ) AND ( _TodayOpen < _YesterdayClose );
  8. PlotShapes( Buy * shapeUpArrow + Short * shapeDownArrow
  9. , IIf( Buy, colorYellow, colorBlue )
  10. , 0
  11. , IIf( Buy, Low, High )
  12. , -30
  13. );
  14. }
複製代碼


寫法有百百種,參考看看 ~ 其他就由你自行發揮囉。
 樓主| 發表於 12-3-3 08:45 | 顯示全部樓層
謝謝你囉,我拿回去研究看看 !
 樓主| 發表於 12-3-3 11:04 | 顯示全部樓層
本帖最後由 hulk10425 於 12-3-3 11:19 AM 編輯

沒事了~"~  只是有些參數沒設定好。  拍謝
 樓主| 發表於 12-3-3 23:11 | 顯示全部樓層
BarsSince( Day()!= Ref(Day(), -1))

可以問一下上面這個程式碼的意思是  如果某一根K棒他的日期和其前一根K棒的日期不同的時候就加一的意思嘛?

請指教 ORZ
發表於 12-3-4 14:47 | 顯示全部樓層
BarsSince( Day()!= Ref(Day(), -1))

可以問一下上面這個程式碼的意思是  如果某一根K棒他的日期和其前一 ...
hulk10425 發表於 12-3-3 11:11 PM


今天不等於昨天 XD
常見用法:


NewDay = Day() != Ref(Day(), -1);

這個是判斷是否交易日為不同天 (ex. 今天不等於昨天 => TRUE or FALSE) XD

Bars=1 + BarsSince( Day()!= Ref(Day(), -1));


這個是可以讓你判斷當日第幾根K

ex. 當日第 5 跟K 我要做什麼動作


參考看看吧

評分

參與人數 1金錢 +2 收起 理由
enochyu + 2 詳盡 ~ 讚啦

查看全部評分

 樓主| 發表於 12-3-6 07:48 | 顯示全部樓層
謝謝 ^^ ,這樣我大概了解囉
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-12-22 23:36

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |