lingin1204 發表於 16-2-5 23:48

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

爬文好久,發現幾乎都是要先自己畫出趨勢線,
然後開發穿越後的行為

若只是單純地想畫出波段高點連線
像是這樣的趨勢線

需要能自動畫出趨勢線 & 突破產生警示
有辦法的解答的大大
立刻奉上1000G.......
感激不盡~~~{:4_209:}

lingin1204 發表於 16-2-15 23:08

小弟已經畫出雛型囉
只是還有BUG待解.....
解決後會放上完整程式碼引水思源


感謝各位指點 !

afang0981 發表於 16-2-6 00:15

敢問"1000G"是"一公斤"嗎?
{:4_193:}{:4_193:}{:4_193:}

lingin1204 發表於 16-2-6 00:30

ㄜ......是CoCo 幣 1000的意思...
老大別鬧了~~~

lingin1204 發表於 16-2-6 01:01

我覺得我好像找到方法了....
有解的大大可能手腳要快,
或是待我寫出來後在傳上來愈大家分享

afang0981 發表於 16-2-6 01:04

版大要先說明:
(1)要畫甚麼線?
(2)如何叫突破?
會寫的大大,自動會出現吧!

因為會寫的大大都不好意思問 ㄋ ㄟ !!!

blj0511 發表於 16-2-6 02:29

本帖最後由 blj0511 於 16-2-6 02:44 編輯

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

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

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

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


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


roder 發表於 16-2-6 10:54

本帖最後由 roder 於 16-2-6 10:55 編輯

MC內建TrendLine Automatic的指標可以達成你要的自動化趨勢線,然後再自己設定該指標的警示(跳出提示或是發出聲音都可以)
以上都是MC內建做得到的,或是要自己打開TrendLine Automatic的指標研究再修改
PS:這樣有達到1000G的要求嗎?哈哈....

lingin1204 發表於 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<h and h>h then value1=h;
.....value2
若用這種方式, 趨勢線會畫一大堆.......畫出很多不會是你想要的線.
也許放大時區(日,週)會比較好一些....

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

平靜的海 發表於 16-2-12 13:53

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

附記 幾分鐘成為一個趨勢?如果只是很單純的找趨勢突破 那..布林通道不也是可以?
如有錯誤的想法 敬請指教

blj0511 發表於 16-2-12 18:23

平靜的海 發表於 16-2-12 13:53
個人淺見
趨勢的認定先要確定吧
幾分鐘的走法會成為趨勢?還是幾十分鐘的走法才成為趨勢?


就程式交易來說布林通道比趨勢線好用許多

lingin1204 發表於 16-3-4 11:36

本帖最後由 lingin1204 於 16-3-4 12:11 編輯

飲水思源,分享程式原始碼,請慢用
ps: 趨勢線定義因人而異,小弟的程式碼目前會產生最新的波段高點連線,並刪除舊的或已經突破的
-----------------------------------------------------------------------------------------------------
Input:leftStrength(3),rightStrength(3);
array:arrayH(0),arrayL(0),arrayDraw(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 = highPrice;
      arrayH = IntPortion(Date);
      arrayH = IntPortion(time_s);
      arrayH = 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 = lowPrice;
      arrayL = IntPortion(Date);
      arrayL = IntPortion(time_s);
      arrayL = 0;
end;

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

                              arrayDraw=arrayH;
                              arrayDraw=arrayH;
                              arrayDraw=arrayH;
                              arrayDraw=arrayH;
                              arrayDraw=arrayH;
                              arrayDraw=arrayH;                        
                              var0 = 0;
                end;                              
      end;
                        if arrayHNum > 1 then begin      
                              messagelog("arrayHNum:",arrayHNum);
                              messagelog("arrayH: ",arrayH);
                              messagelog("arrayH: ",arrayH);
                        end;


willy84222 發表於 16-3-17 20:46

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

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




tamago797 發表於 16-3-18 05:37

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


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

另外, 謝謝原PO 分享{:4_153:}
頁: [1] 2
查看完整版本: (懸賞1000G)請問MC 能自動畫出趨勢線嗎?