![]() |
在這個頁面顯示本主題全部的 13 個文章 |
奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- [問題]請問如何以前一天最低價或最高價向右畫水平切線並標示價位 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=9409)
[問題]請問如何以前一天最低價或最高價向右畫水平切線並標示價位
請問版大:以大台5日均線為操作基準,當收盤價在5日均線上時,則以前一天的最低價為基準,向右畫水平切線並標示最低價位;而當收盤價在5日均線下時,則改以前一天的最高價為基準, 向右畫水平切線並標示最高價位,且僅保留最後一根最高或最低的水平切線。因為如以:IF(C>=MA(Close,5),ref(Low,1),ref(High,1))的觀念是連線,但我只要最後一根的水平切線,懇請版大幫忙,感恩。
__________________
Franklin5658
回覆: [問題]請問如何以前一天最低價或最高價向右畫水平切線並標示價位
引用:
最初由 franklin5658 發表
請問版大:以大台5日均線為操作基準,當收盤價在5日均線上時,則以前一天的最低價為基準,向右畫水平切線並標示最低價位;而當收盤價在5日均線下時,則改以前一天的最高價為基準, 向右畫水平切線並標示最高價位,且僅保留最後一根最高或最低的水平切線。因為如以:IF(C>=MA(Close,5),ref(Low,1),ref(High,1))的觀念是連線,但我只要最後一根的水平切線,懇請版大幫忙,感恩。
謝謝版主指導,已修改成符合自己所需
__________________
Franklin5658
回覆: 回覆: [問題]請問如何以前一天最低價或最高價向右畫水平切線並標示價位
引用:
最初由 cgjj 發表
MM:IF(C>=MA(Close,5),ref(Low,1),ref(High,1));
MM:=MM[datacount];
回覆: 回覆: 回覆: [問題]請問如何以前一天最低價或最高價向右畫水平切線並標示價位
引用:
最初由 mori868 發表
假如要最後5日均線上拐與下拐時 畫水平線的連線呢?
MM:ma(c,5);
DLSP:=BARSLAST(ref(MM,1)>MM and refx(MM,1)>MM);
DLSP:=DLSP[datacount];
DLPOS:=datacount-DLSP;
DL:=barpos=DLPOS;
ULSP:=BARSLAST(ref(MM,1)<MM and refx(MM,1)<MM);
ULSP:=ULSP[datacount];
ULPOS:=datacount-ULSP;
UL:=barpos=ULPOS;
DRAWSL(DL,MM,0,DLSP,3) colorred;
DRAWSL(UL,MM,0,ULSP,3) colorgreen;
DRAWNUMBER(ISLASTBAR,MM[DLPOS],MM[DLPOS],2) colorred shift1;
DRAWNUMBER(ISLASTBAR,MM[ULPOS],MM[ULPOS],2) colorgreen shift1;
MM1:=IF(C>=ma(c,5),ref(Low,1),ref(High,1));
MM1:=MM1[datacount];
DLPOS:=datacount-DLSP;
DL:=barpos=DLPOS;
DRAWSL(DL,MM1,0,DLSP,3) colorwhite;
DRAWNUMBER(ISLASTBAR,MM1,MM1,2) colorwhite shift1;
此為依照版主的指導修改而成,可以符合需求,但畫面上不太漂亮,因為MM1只會抓colorred的長度,但我希望的是如果C小於MM1時畫colorgreen的長度,C大於MM1時畫紅線的長度,懇請指導,謝謝
__________________
Franklin5658
引用:
最初由 franklin5658 發表
...........
此為依照版主的指導修改而成,可以符合需求,但畫面上不太漂亮,因為MM1只會抓colorred的長度,但我希望的是如果C小於MM1時畫colorgreen的長度,C大於MM1時畫紅線的長度,懇請指導,謝謝
學到了 謝謝
//因為MM1只會抓colorred的長度,但我希望的是如果C小於MM1時畫colorgreen的長度,C大於MM1時畫紅線的長度
這樣可以嗎?
XU:=BARSLAST(ref(MM,1)>MM and refx(MM,1)>MM);
XD:=BARSLAST(ref(MM,1)<MM and refx(MM,1)<MM);
CC:=C;
CC:=CC[datacount];
XL:=IF(CC>=MM1,XU,XD);//您要的線條長度
__________________
至誠能勝天下至偽
至拙能勝天下至巧
感謝Peter109的回覆,可是我不知是否符合需求,程式要插在那個段落,我還要再想一下,謝謝
__________________
Franklin5658
MM:ma(c,5);
DLSP:=BARSLAST(ref(MM,1)>MM and refx(MM,1)>MM);
DLSP:=DLSP[datacount];
DLPOS:=datacount-DLSP;
DL:=barpos=DLPOS;
ULSP:=BARSLAST(ref(MM,1)<MM and refx(MM,1)<MM);
ULSP:=ULSP[datacount];
ULPOS:=datacount-ULSP;
UL:=barpos=ULPOS;
DRAWSL(DL,MM,0,DLSP,3) colorred;//#1
DRAWSL(UL,MM,0,ULSP,3) colorgreen;//#2
DRAWNUMBER(ISLASTBAR,MM[DLPOS],MM[DLPOS],2) colorred shift1;
DRAWNUMBER(ISLASTBAR,MM[ULPOS],MM[ULPOS],2) colorgreen shift1;
//以上是版主指導5日均線翻揚和翻跌時向右畫水平線並標示價位的寫法
MM1:=IF(C>=ma(c,5),ref(Low,1),ref(High,1));
MM1:=MM1[datacount];
//以上是版主指導大於5日均線取前ㄧ天最低否則取前ㄧ天最高畫水平線的寫法
//但因為我不想線太長,因此畫最高或最低的線段想以紅線#1或綠線#2的長度表示,而以下的方式,白色線僅取得紅線的長度
DRAWSL(DL,MM1,0,DLSP,3) colorwhite;
DRAWNUMBER(ISLASTBAR,MM1,MM1,2) colorwhite shift1;
//而按照Peter109大大的提示修改成如下,是我想達到的情況,只是很奇怪,在訓練模式下,觀看K線的變化有時白色線會不見,僅有數字出現而已,不知是何原因?還是說IF不能如此用,由於初學只能東湊西湊,懇請見諒賜教
XU:=IF(C>=MM1,DL,UL);
XD:=IF(C>=MM1,DLSP,ULSP);
DRAWSL(XU,MM1,0,XD,3) colorwhite;
DRAWNUMBER(ISLASTBAR,MM1,MM1,2) colorwhite shift1;
__________________
Franklin5658
這樣是您要的?
//DRAWSL(DL,MM1,0,DLSP,3),colorwhite;
//DRAWNUMBER(ISLASTBAR,MM1,MM1,2),colorwhite,shift1;
CC:=C;
CC:=CC[datacount];
XU:=IF(CC>=MM1,DL,UL);
XD:=IF(CC>=MM1,DLSP,ULSP);
DRAWSL(XU,MM1,0,XD,3) colorwhite;
DRAWNUMBER(ISLASTBAR,MM1,MM1,2),colorwhite,shift1;
__________________
至誠能勝天下至偽
至拙能勝天下至巧
感謝Peter109大大的協助,已大致符合需求,感恩
__________________
Franklin5658
全部時間均為台灣時間, 現在時間為04:07 | 在這個頁面顯示本主題全部的 13 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.