![]() |
在這個頁面顯示本主題全部的 13 個文章 |
奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- MA(20)向上或向下 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=11956)
MA(20)向上或向下
我是新手,我想請教前輩們,以下公式要如何寫.
1.多空指標線為MA(20).
2. MA 20向上為紅線.走平為白線,向下為綠線.
謝謝
使用partline!
原碼:
input:N(20,0,999); 多空指標:MA(C,N); partline(多空指標>ref(多空指標,1),多空指標),colorRed; partline(多空指標=ref(多空指標,1),多空指標),colorWhite; partline(多空指標<ref(多空指標,1),多空指標),colorGreen;
請問 本公式若是改為只有二色而已,應如何撰寫呢?
1. 由上而下轉折時,〈走平〉及〈向下〉為綠線。
2. 由下而上轉折時,〈走平〉及〈向上〉為紅線。
說明:同樣是〈走平〉,於峰部是綠線,於谷部則是紅線。
拜託!幫幫忙,指導一下。
引用:
最初由 crownschen 發表
請問 本公式若是改為只有二色而已,應如何撰寫呢?
1. 由上而下轉折時,〈走平〉及〈向下〉為綠線。
2. 由下而上轉折時,〈走平〉及〈向上〉為紅線。
說明:同樣是〈走平〉,於峰部是綠線,於谷部則是紅線。
拜託!幫幫忙,指導一下。
原碼:
input:N(20,0,999); 多空指標:MA(C,N),linethick0; 多空指標方向:=多空指標*0; for i=ubound(多空指標) downto lbound(多空指標)+1 do begin if 多空指標[i]>多空指標[i-1] then 多空指標方向[i]:=1; else if 多空指標[i]<多空指標[i-1] then 多空指標方向[i]:=0; else 多空指標方向[i]:=多空指標方向[i+1]; end; partline(多空指標方向,多空指標),colorRed; partline(not(多空指標方向),多空指標),colorGreen;
非常謝謝您的指導,您實在太高明了。我非常佩服您,非常感激您。
對您千謝萬謝,並以90度鞠躬,向您行個大禮。並竭誠地祝福您,蒸蒸日上,鵬程萬里,輝煌騰達。
引用:
最初由 crownschen 發表
非常謝謝您的指導,您實在太高明了。我非常佩服您,非常感激您。
對您千謝萬謝,並以90度鞠躬,向您行個大禮。並竭誠地祝福您,蒸蒸日上,鵬程萬里,輝煌騰達。
原碼:
input:N(20,0,999); 多空指標:MA(C,N),linethick0; 多空指標方向:=多空指標*0; for i=ubound(多空指標) downto lbound(多空指標)+1 do begin if 多空指標[i]>多空指標[i-1] then 多空指標方向[i]:=1; else if 多空指標[i]<多空指標[i-1] then 多空指標方向[i]:=0; else if i<>ubound(多空指標) then 多空指標方向[i]:=多空指標方向[i+1]; else 多空指標方向[i]:=多空指標方向[i-1]; end; partline(多空指標方向,多空指標),colorRed; partline(not(多空指標方向),多空指標),colorGreen;
作一點修改,該如何寫??
若我要改成,該如何寫??
1.空轉多:MA20轉為向上且收價站上MA20轉為多頭,直到MA20向下且收價跌破MA10才轉為空頭. 中間如果有MA10向下但收價未跌破MA10仍維持原本多頭.
2.多轉空:MA20轉為向下且收價跌破MA20轉為空頭,直到MA20向上且收價站上MA20才轉為多頭.中間如果有MA20向上但收價未站上MA20仍維持原本空頭.
回覆: 作一點修改,該如何寫??
引用:
最初由 SK393217 發表
若我要改成,該如何寫??
1.空轉多:MA20轉為向上且收價站上MA20轉為多頭,直到MA20向下且收價跌破MA10才轉為空頭. 中間如果有MA10向下但收價未跌破MA10仍維持原本多頭.
2.多轉空:MA20轉為向下且收價跌破MA20轉為空頭,直到MA20向上且收價站上MA20才轉為多頭.中間如果有MA20向上但收價未站上MA20仍維持原本空頭.
原碼:
input:P1(10,0,999); input:P2(20,0,999); CC:=C; MA1:ma(C,P1); MA2:ma(C,P2); 多頭:=MA2*0; 空頭:=MA2*0; for i=lbound(多頭)+1 to ubound(多頭) do begin if 多頭[i-1]<>1 and MA2[i]>MA2[i-1] and CC[i]>MA2[i] then 多頭[i]:=1; else if 多頭[i-1]=1 and MA2[i]<MA2[i-1] and CC[i]<MA1[i] then 多頭[i]:=0; else 多頭[i]:=多頭[i-1]; if 空頭[i-1]<>1 and MA2[i]<MA2[i-1] and CC[i]<MA2[i] then 空頭[i]:=1; else if 空頭[i-1]=1 and MA2[i]>MA2[i-1] and CC[i]>MA1[i] then 空頭[i]:=0; else 空頭[i]:=空頭[i-1]; end; drawicon(多頭=1,0,10),align4; drawicon(多頭=0,0,11),align4; drawicon(空頭=1,0,11),align5; drawicon(空頭=0,0,10),align5;
原本的條件有點筆誤,重新修正
對不起,原本的條件有點筆誤,害你寫出來的程式有點複雜,我這個新手也無法看懂,應該全部都是用MA20才對,這樣的話程式是不是會變的比較簡單,再次請教,謝謝
1.空轉多:MA20轉為向上且收價站上MA20轉為多頭,直到MA20向下且收價跌破MA20才轉為空頭. 中間如果有MA20向下但收價未跌破MA20仍維持原本多頭.
2.多轉空:MA20轉為向下且收價跌破MA20轉為空頭,直到MA20向上且收價站上MA20才轉為多頭.中間如果有MA20向上但收價未站上MA20仍維持原本空頭.
我自己用最笨的方法修改,測試ok,但我想問是否可以改得更簡潔??
CC:=C;
MAN:ma(C,8);
UP:=MAN*0;
DW:=MAN*0;
for i=lbound(UP)+1 to ubound(UP) do begin
if UP[i-1]<>1 and MAN[i]>MAN[i-1] and CC[i]>MAN[i] then UP[i]:=1;
else if UP[i-1]=1 and MAN[i]<MAN[i-1] and CC[i]<MAN[i] then UP[i]:=0;
else UP[i]:=UP[i-1];
if DW[i-1]<>1 and MAN[i]<MAN[i-1] and CC[i]<MAN[i] then DW[i]:=1;
else if DW[i-1]=1 and MAN[i]>MAN[i-1] and CC[i]>MAN[i] then DW[i]:=0;
else DW[i]:=DW[i-1];
end;
PARTLINE(UP,MAN) colorred,linethick2;
PARTLINE(DW,MAN) colorgreen,linethick2;
回覆: 原本的條件有點筆誤,重新修正
引用:
最初由 SK393217 發表
對不起,原本的條件有點筆誤,害你寫出來的程式有點複雜,我這個新手也無法看懂,應該全部都是用MA20才對,這樣的話程式是不是會變的比較簡單,再次請教,謝謝
1.空轉多:MA20轉為向上且收價站上MA20轉為多頭,直到MA20向下且收價跌破MA20才轉為空頭. 中間如果有MA20向下但收價未跌破MA20仍維持原本多頭.
2.多轉空:MA20轉為向下且收價跌破MA20轉為空頭,直到MA20向上且收價站上MA20才轉為多頭.中間如果有MA20向上但收價未站上MA20仍維持原本空頭.
我自己用最笨的方法修改,測試ok,但我想問是否可以改得更簡潔??
CC:=C;
MAN:ma(C,8);
UP:=MAN*0;
DW:=MAN*0;
for i=lbound(UP)+1 to ubound(UP) do begin
if UP[i-1]<>1 and MAN[i]>MAN[i-1] and CC[i]>MAN[i] then UP[i]:=1;
else if UP[i-1]=1 and MAN[i]<MAN[i-1] and CC[i]<MAN[i] then UP[i]:=0;
else UP[i]:=UP[i-1];
if DW[i-1]<>1 and MAN[i]<MAN[i-1] and CC[i]<MAN[i] then DW[i]:=1;
else if DW[i-1]=1 and MAN[i]>MAN[i-1] and CC[i]>MAN[i] then DW[i]:=0;
else DW[i]:=DW[i-1];
end;
PARTLINE(UP,MAN) colorred,linethick2;
PARTLINE(DW,MAN) colorgreen,linethick2;
原碼:
CC:=C; MAN:ma(C,8); UP:=MAN*0; for i=lbound(UP)+1 to ubound(UP) do begin if UP[i-1]<>1 and MAN[i]>MAN[i-1] and CC[i]>MAN[i] then UP[i]:=1; else if UP[i-1]=1 and MAN[i]<MAN[i-1] and CC[i]<MAN[i] then UP[i]:=0; else UP[i]:=UP[i-1]; end; PARTLINE(UP=1,MAN) colorred,linethick2; PARTLINE(UP=0,MAN) colorgreen,linethick2;
如何產生一條水平的虛線??
另再請教KV先進:
我的公式已設好BB及BL產生的條件,
我想在BB的低點產生一條水平的虛線,向右一直延伸直到BL.
感激.
回覆: 如何產生一條水平的虛線??
引用:
最初由 SK393217 發表
另再請教KV先進:
我的公式已設好BB及BL產生的條件,
我想在BB的低點產生一條水平的虛線,向右一直延伸直到BL.
感激.
原碼:
CC:=C; MAN:ma(C,8); UP:=MAN*0; for i=lbound(UP)+1 to ubound(UP) do begin if UP[i-1]<>1 and MAN[i]>MAN[i-1] and CC[i]>MAN[i] then UP[i]:=1; else if UP[i-1]=1 and MAN[i]<MAN[i-1] and CC[i]<MAN[i] then UP[i]:=-1; else UP[i]:=UP[i-1]; end; PARTLINE(UP=1,MAN) colorred,linethick2; PARTLINE(UP=-1,MAN) colorgreen,linethick2; for i=ubound(UP)-1 downto lbound(UP) do begin if UP[i]=UP[i+1] then UP[i+1]:=0; end; x1:=barslast(UP); partline(x1<>0 and ref(UP,x1)=1,ref(L,x1)),colorRed,linedot; partline(x1<>0 and ref(UP,x1)=-1,ref(H,x1)),colorGreen,linedot;
回覆: 如何產生一條水平的虛線??
引用:
最初由 SK393217 發表
另再請教KV先進:
我的公式已設好BB及BL產生的條件,
我想在BB的低點產生一條水平的虛線,向右一直延伸直到BL.
感激.
全部時間均為台灣時間, 現在時間為08:42 | 在這個頁面顯示本主題全部的 13 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.