COCO研究院

 找回密碼
 註冊
搜索
查看: 15633|回復: 20

(懸賞1000G)請問MC 能自動畫出趨勢線嗎?

[複製鏈接]
發表於 16-2-5 23:48 | 顯示全部樓層 |閱讀模式
爬文好久,發現幾乎都是要先自己畫出趨勢線,
然後開發穿越後的行為

若只是單純地想畫出波段高點連線
像是這樣的趨勢線
趨勢線.png
需要能自動畫出趨勢線 & 突破產生警示
有辦法的解答的大大
立刻奉上1000G.......
感激不盡~~~
 樓主| 發表於 16-2-15 23:08 | 顯示全部樓層
小弟已經畫出雛型囉
只是還有BUG待解.....
解決後會放上完整程式碼引水思源
multichart_bug2.JPG

感謝各位指點 !
回復 支持 0 反對 1

使用道具 舉報

發表於 16-2-6 00:15 | 顯示全部樓層
敢問"1000G"是"一公斤"嗎?
 樓主| 發表於 16-2-6 00:30 | 顯示全部樓層
ㄜ......是CoCo 幣 1000的意思...
老大別鬧了~~~
 樓主| 發表於 16-2-6 01:01 | 顯示全部樓層
我覺得我好像找到方法了....
有解的大大可能手腳要快,
或是待我寫出來後在傳上來愈大家分享
發表於 16-2-6 01:04 | 顯示全部樓層
版大要先說明:
(1)要畫甚麼線?
(2)如何叫突破?
會寫的大大,自動會出現吧!

因為會寫的大大都不好意思問 ㄋ ㄟ !!!
發表於 16-2-6 02:29 | 顯示全部樓層
本帖最後由 blj0511 於 16-2-6 02:44 編輯

若你有趨勢線的明確定義,可以寫出來,但問題是,畫趨勢線是一種很主觀的動作,您PO的例子是很完美的狀況下,只看這段當然很簡單,但遇到震盪,趨勢線跟廢物一樣

趨勢線你看歷史會覺得畫趨勢線很簡單啊,但問題是你要取哪跟到哪跟的高點? 一整段K棒給你很簡單畫,但K棒一根一根出來的時候,就完全不一樣了,所以有很強的主觀意識

我看過一段知名老師的影片,老師說,看22周K線,當突破這條下降趨勢線時就買進,結果一個學員問為何趨勢線是這樣畫時,老師就答不太出來,只說就是這樣畫,含糊其辭

人為操作還能用眼睛去過濾一些突出來的引線,但程式就是死的,一個高一點的上引線就會被視為突破,實際上沒啥用處,即使您寫出來了,寫進出場訊號時,您會覺得怎樣寫都績效不佳


比較有類似效果的可以參考mc內建的,_ChoasFractal指標,主要用到swingHigh swingLow函式,可以畫出大概的上下區間做突破處理,但也沒那麼簡單寫就是了


評分

參與人數 1金錢 +2 收起 理由
AGWZ + 2 太強了

查看全部評分

發表於 16-2-6 10:54 | 顯示全部樓層
本帖最後由 roder 於 16-2-6 10:55 編輯

MC內建TrendLine Automatic的指標可以達成你要的自動化趨勢線,然後再自己設定該指標的警示(跳出提示或是發出聲音都可以)
以上都是MC內建做得到的,或是要自己打開TrendLine Automatic的指標研究再修改
PS:這樣有達到1000G的要求嗎?哈哈....
 樓主| 發表於 16-2-7 15:37 | 顯示全部樓層
只要三根K棒就可以產生波峰或波谷,
初步來看,只要幾個條件滿足就可畫出一班的趨勢線  
( ps: 均線 和 趨勢線請別搞混 , 這裡提到的是趨勢線哦)

目前構想是,將所有K棒時間、編號記錄下來
1. 持續創高的情況,
2. 若中間K棒高點大於前後K棒  ( N高 > N-1高 , N高 > N+1高 )
    則儲存在另一個struct
3.連接struct 內最後的兩個高點

發表於 16-2-7 18:04 | 顯示全部樓層
lingin1204 發表於 16-2-7 15:37
只要三根K棒就可以產生波峰或波谷,
初步來看,只要幾個條件滿足就可畫出一班的趨勢線  
( ps: 均線 和 趨 ...

1. if h[2]<h[1] and h[1]>h then value1=h[1];
.....value2
若用這種方式, 趨勢線會畫一大堆.......畫出很多不會是你想要的線.
也許放大時區(日,週)會比較好一些....

2.持續創高時, 應該畫上升趨勢線, 反而是要記錄 L[1]並畫成連接點的趨勢線, 而非將H[1]連接畫線哦....

發表於 16-2-12 13:53 | 顯示全部樓層
個人淺見
趨勢的認定先要確定吧
幾分鐘的走法會成為趨勢?還是幾十分鐘的走法才成為趨勢?
如果是一般的紙上作業 那麼簡單的做法就是有高就畫高 有低就畫低
或是用sin的角度去畫(向上) 或是cos的角度(向下)
小學老師有教 三點決定一平面 兩點決定一直線
只是先要確定這兩個點 是怎麼算出來的 或是用怎樣的參數定義出來

附記 幾分鐘成為一個趨勢?如果只是很單純的找趨勢突破 那..布林通道不也是可以?
如有錯誤的想法 敬請指教
發表於 16-2-12 18:23 | 顯示全部樓層
平靜的海 發表於 16-2-12 13:53
個人淺見
趨勢的認定先要確定吧
幾分鐘的走法會成為趨勢?還是幾十分鐘的走法才成為趨勢?

就程式交易來說布林通道比趨勢線好用許多
 樓主| 發表於 16-3-4 11:36 | 顯示全部樓層
本帖最後由 lingin1204 於 16-3-4 12:11 編輯

飲水思源,分享程式原始碼,請慢用
ps: 趨勢線定義因人而異,小弟的程式碼目前會產生最新的波段高點連線,並刪除舊的或已經突破的
-----------------------------------------------------------------------------------------------------
Input:leftStrength(3),rightStrength(3);
array:arrayH[300,4](0),arrayL[300,4](0),arrayDraw[2,4](0);
var:var0(0),var1(0),var2(0),var3(0),var4(0),highPrice(0),lowPrice(0),highBarNum(0)
,lowBarNum(0),arrayHNum(0),arrayLNum(0),highPrice2(0),tl_num(0),t1(0),t2(0),t3(0),t4(0),t5(0),t6(0);

cleardebug;
t1=Pivot(High,leftStrength+rightStrength,leftStrength,rightStrength,1,1,highPrice,highBarNum);
if highPrice<> -1 and highBarNum <> -1 then begin        
        arrayHNum = arrayHNum +1;        
        arrayH[arrayHNum,0] = highPrice;
        arrayH[arrayHNum,1] = IntPortion(Date[highBarNum]);
        arrayH[arrayHNum,2] = IntPortion(time_s[highBarNum]);
        arrayH[arrayHNum,3] = 0;                        //for trend line number
end;        
                 

t2= Pivot(Low,leftStrength+rightStrength,leftStrength,rightStrength,1,-1,lowPrice,lowBarNum);
if lowPrice<> -1 and lowBarNum <> -1 then begin
        arrayLNum +=1;
        arrayL[arrayLNum,0] = lowPrice;
        arrayL[arrayLNum,1] = IntPortion(Date[lowBarNum]);
        arrayL[arrayLNum,2] = IntPortion(time_s[lowBarNum]);
        arrayL[arrayLNum,3] = 0;
end;

                        if t1>0 then begin         // Pivot success                                
                                tl_delete(arrayH[arrayHNum-1,3]);
                                end;
        for var0 = arrayHNum downto 1 begin
                if arrayH[arrayHNum ,0] < arrayH[var0,0] and arrayH[arrayHNum,0]<>0 and t1>0 then begin
                                arrayH[arrayHNum,3] = tl_new_self_s(arrayH[var0,1],arrayH[var0,2],arrayH[var0,0]
                                        ,arrayH[arrayHNum,1],arrayH[arrayHNum,2],arrayH[arrayHNum,0]);
                                tl_setextright(arrayH[arrayHNum,3],true);
                               var4 =tl_setalert(arrayH[arrayHNum,3],2);
     if var4 >0 then begin
      messagelog(" Alert trigger ");
      PlaySound("C:\Windows\Media\notify.wav");  
     end;

                                arrayDraw[0,0]=arrayH[var0,0];
                                arrayDraw[0,1]=arrayH[var0,1];
                                arrayDraw[0,2]=arrayH[var0,2];
                                arrayDraw[1,0]=arrayH[arrayHNum,0];
                                arrayDraw[1,1]=arrayH[arrayHNum,1];
                                arrayDraw[1,2]=arrayH[arrayHNum,2];                        
                                var0 = 0;
                end;                                
        end;
                        if arrayHNum > 1 then begin        
                                messagelog("arrayHNum:  ",arrayHNum);
                                messagelog("arrayH[arrayHNum-1,3]: ",arrayH[arrayHNum-1,3]);
                                messagelog("arrayH[arrayHNum,3]: ",arrayH[arrayHNum,3]);
                        end;


發表於 16-3-17 20:46 | 顯示全部樓層
lingin1204 發表於 16-3-4 11:36
飲水思源,分享程式原始碼,請慢用
ps: 趨勢線定義因人而異,小弟的程式碼目前會產生最新的波段高點連線, ...

請問一下我直接使用你原本的程式碼
會出現錯誤 陣列界限 索引值錯誤 301
請問這個意思是什麼?




發表於 16-3-18 05:37 | 顯示全部樓層
willy84222 發表於 16-3-17 20:46
請問一下我直接使用你原本的程式碼
會出現錯誤 陣列界限 索引值錯誤 301
請問這個意思是什麼?

我編譯是成功的, 用指標編譯
請問你是不是選錯了

另外, 謝謝原PO 分享
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

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

GMT+8, 24-11-25 05:46

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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