COCO研究院

 找回密碼
 註冊
搜索
查看: 8644|回復: 26

關於巴很多次之語法

  [複製鏈接]
發表於 14-11-11 13:26 | 顯示全部樓層 |閱讀模式
大家好:

小弟想研究  巴很多次 (就是頻繁損失)  之後的變化

因此 在想說說  要如何告訴電腦  現在是被狂巴

後來想法是用    PositionProfit[1]<0 and  PositionProfit[2]<0  and  PositionProfit[3]<0  

這樣的寫法來告訴電腦  目前被巴了3次

但後來再想是否可以 寫一個  虛擬下單

比方  我程式都不變  但當我虛擬單已連巴3次   我在切換成實單

這樣語法寫得出嗎?

請教各位高手

Max
發表於 14-11-11 13:56 | 顯示全部樓層
本帖最後由 曾永政 於 14-11-11 13:59 編輯

如果要在同一個圖表裡面完成,可以把 Equity 的資訊用指標拉出來,然後把 i_marketposition 也弄出來,合併處理成一個部位的數值,往外丟給外部下單機。

不然就是用 ADE 或是 GV 去傳到另外一張圖表做下單的動作。

凱衛這個課程就能解決你的需求:http://goo.gl/2WSYUc

評分

參與人數 1金錢 +2 收起 理由
blueways + 2 感謝分享

查看全部評分

 樓主| 發表於 14-11-11 14:32 | 顯示全部樓層
感謝政哥!!

小弟再來研究研究!!
發表於 14-11-13 08:37 | 顯示全部樓層
曾永政 發表於 14-11-11 13:56
如果要在同一個圖表裡面完成,可以把 Equity 的資訊用指標拉出來,然後把 i_marketposition 也弄出來,合併 ...

可以請教一下marketposition與i_marketposition的差異嗎?
Thanks!

發表於 14-11-13 09:38 | 顯示全部樓層
其實不用這麼麻煩... 簡單的在一張圖表上就能完成...
就是你自己要用變數管理進出場次數... 然後在你想要真的進出場時就做下單動作...
可以寫指標給人看.. 訊號去下單... 簡單的方法~~
發表於 14-11-14 00:12 | 顯示全部樓層
都很厲害哇學mc該找誰好ㄋ
發表於 14-11-14 23:23 | 顯示全部樓層
這種方法跟本不用寫程式, 每天回測, 連虧N次之後, 人工判斷是否開啟程式.
發表於 15-8-30 00:05 | 顯示全部樓層
慢慢看完M大的發表過的文章,每個問題都很有深度也很有想法, 只有這題我有答案 , 是寫的出來的 , 只是我手上的code 是別人給我的 ,不方便轉送 ! 連巴後進場這個想法是會提升獲利的!!  
發表於 15-8-31 09:41 | 顯示全部樓層
應該不會很難,我有試做過。變數模擬就可以了。

不過我的經驗上是,若你的訊號是手上永遠有單的,連巴之後出手會比較難寫啊
發表於 15-8-31 14:50 | 顯示全部樓層
本帖最後由 blj0511 於 15-8-31 14:53 編輯

恩~ 我才剛寫過類似的,不過就是另外用變數自己去計算損益(進場價-出場價的累積總合),當損益金額或次數大於你設定的值時,就開始正式下單,不過有點麻煩就是了

我這隻程式把程式改成獲利當高點滑落達某一價格時就進場操作,獲利過高多少停止操作,這樣的結果總獲利會減少,但獲利曲線變平滑,最大虧損變少,原則上差異不大,只是會比較適合操作
依照經驗,連巴幾次進場,獲利不如從獲利高點滑落多少進場,因為連巴後可能賺幾次小的又再度被連巴
發表於 15-9-1 05:40 | 顯示全部樓層
那麼樓上大大請問一下,您說獲利從高點滑落後進場,然後獲利創高多少就停止操作,
那麼你本來的原型策略的權益曲線,本來就是穩定向上的囉,只是你這麼做,曲線較平滑。

我好奇的是,若你本來的策略就穩定往上發展,你怎會有如此的想法呢?
發表於 15-9-1 08:45 | 顯示全部樓層
一個功能做得出來在實盤運作,跟要能準確的回測是不同的要求。通常,能在實盤運作會比準確回測簡單得多。

如果只用一張圖表要做到回測的話,在連巴幾次後才出進場訊號,就陷入了邏輯上的誤區:因為必須先有連巴幾次,才能產生買賣訊號,那麼圖表上的第一筆買賣訊號要如何產生?(因為前面沒有連巴),又因為沒有第一筆的買賣訊號,整張圖就沒有任何進場訊號了。

所以才得採用虛擬交易的方式去處理。指標去撈原訊號的績效相關數據,然後計算出目前應該持有的部位方向與數量,直接把這個數值外接出去給第三方下單機,就可以做到實盤上的運作。但,這卻會沒有回測的功能。

想要兼具回測與實盤運作,我想得到的是採用 ADE 套件,讓原訊號圖表的績效輸出到另外一個圖表,用來作 condition 去做一個新的買賣訊號,既然新的圖表有了買賣訊號,回測、實盤交易就都有了。


以下未經測試驗證其正確性...

input: losstimes(3);
var: j(0), equity(0), counting(0), getMP(0), newMP(0);
array: tradeProfit[200](0);


getMP= i_marketposition;
equity= i_ClosedEquity;

if equity<>equity[1] then begin
  _arrayShift(tradeProfit);
  tradeProfit[1]= equity-equity[1];
end;  


counting=0;

for j= 1 to losstimes
begin
  if tradeProfit[j]<0 then
    counting= counting+1;
end;


if counting < losstimes then
  newMP=0
else
  newMP= getMP ;



{output Position to TXT...begin}
input:driver("F:\"),TXT("fileName");
var:signDTStr("");

DefineDLLFunc: "C:\AutoTrading\omSignTXT64.dll",bool,"GoOrderTxt",LPSTR,int,double,LPSTR;

signDTStr = NumToStr(D,0)+" "+NumToStr(Q_Time,0);
if LastBarOnChart_s then
   GoOrderTXT(signDTStr, newMP, C, driver+TXT+".txt");
{output Position to TXT...end}
發表於 15-9-1 13:11 | 顯示全部樓層
本帖最後由 blj0511 於 15-9-1 13:23 編輯
arthurch 發表於 15-9-1 05:40
那麼樓上大大請問一下,您說獲利從高點滑落後進場,然後獲利創高多少就停止操作,
那麼你本來的原型策略的 ...

當初這想法本來是想用來加碼用的,只是測出來有這樣的效果,但績效差異不大,事實上績效比原本還差

原本績效是向上沒錯,但回檔很大,次數不少,而且會有一段時間績效會整理不前,所以想試試看這樣的加碼方式


但是最大虧損減少,出手次數少1/3~1/4(但不影響原來進出原則)也同時減少滑價風險,平均年獲利比較沒那麼極端,也就是說就人性來說,比較容易操作,尤其是要開始跑一隻程式時,若當時獲利績效在高點,你進場也會很怕吧,但若用此法,進場一定不在獲利高點

黃金期貨原本績效(未加成本)
GC1.jpg

改成高檔回落進場後績效(未加成本)
GC3.jpg


PS.2015年績效是因為資料不足,只有2個月資料,所以不準



GC2.jpg
發表於 15-9-2 08:37 | 顯示全部樓層
你提到當「損益金額或次數大於你設定的值時,就開始正式下單,不過有點麻煩就是了」

那?是ec拉回一個定值,再重新出手下單?
還是錯了幾次 再下單呢?

或是同時都有?!
問題較多請見諒

還有我看出手次數頗多,這是當沖程式?
發表於 15-9-2 10:56 | 顯示全部樓層
最簡單的測試方式, 就是excel, 把多空對翻的順勢結果輸出到excel, 用excel處理!!  以下用CL為範例, 分別是多空對翻每筆進, 巴一二三次後進場, 巴一或二次後進場可以提升每筆獲利, 但不能提升整體獲利!  這方法最大問題是, 沒辦法自動下單, 僅僅是研究参考!!
0902.jpg

評分

參與人數 1金錢 +2 收起 理由
賭神咖啡客 + 2 好文章,我推薦

查看全部評分

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

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

GMT+8, 24-11-22 23:01

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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