到奇狐勝券首頁 奇狐社區論壇 購買奇狐勝券 試用奇狐勝券
 
論壇首頁 你可以在這裡編輯你的資料,查看短訊,訂閱主題和論壇參數等等 免費會員註冊 會員列表 論壇幫助 論壇日曆 論壇搜索 加入我的最愛 登出論壇  
奇狐社區論壇 : Powered by vBulletin version 2.3.0 奇狐社區論壇 > 指標公式 > 問題交流 > 求助 不同時區k棒 碰到布林時區 發出聲音 警示
  上一主題   下一主題
作者
主題 發表新主題    回覆主題
ivancclai
資深會員

註冊日期: Apr 2017
來  自: New Taipei city
文章數量: 243

求助 不同時區k棒 碰到布林時區 發出聲音 警示

版主大大你好

上次請教你發生音訊做警示 我做好可以用了 謝謝

我若要新價位 觸碰 到不同時區 布林上下邊軌 時發時聲響 這範例如何增加音訊給到資訊 因為 1/5/15/60/240 分時區就要10 個音軌資訊 範例只有七個 可以給我範例 或修正嗎

謝謝



// ============================================== Datatype >0 大小布林 ====================================================


布林灰控參數:=20;
布林大參數:=1200;
布林中參數:=100;
短均參數:=20;
倍差:=2;
倍差1:=2;

小布林中軌:=MA(CLOSE,布林灰控參數) colorFF33FF linethick2 LINEDOT;
DRAWSL(ISLASTBAR ,小布林中軌,0,0,3) pxdn0 coloRFF33FF LINETHICK2 LINEDOT;
小布林中軌DOWNA:=小布林中軌<REF(小布林中軌,1);
PARTLINE(小布林中軌,小布林中軌) colorFF33FF,linethick2 LINEDOT;
PARTLINE(小布林中軌DOWNA,小布林中軌) colorFFFF00,linethick2 LINEDOT;

小布林上:小布林中軌+(倍差1)*STD(CLOSE,布林灰控參數) colorFF33FF LINETHICK3 LINEDASHDOT;
DRAWSL(ISLASTBAR ,小布林上,0,0,3) pxdn0 coloRFF33FF LINETHICK2 LINEDOT;
小布林上DOWN:=小布林上<REF(小布林上,1);
PARTLINE(小布林上DOWN,小布林上) colorFFFF00,linethick3;

小布林下:小布林中軌-(倍差1)*STD(CLOSE,布林灰控參數) colORFF33FF, LINETHICK3;
DRAWSL(ISLASTBAR ,小布林下,0,0,3) pxdn0 coloRFFFF00 LINETHICK2 LINEDOT;
小布林下DOWN:=小布林下<REF(小布林下,1);
PARTLINE(小布林下DOWN,小布林下) colorFFFF00,linethicK3;

DRAWNUMBER(ISLASTBAR,小布林上,小布林上,0) SHIFT3 PXUP60,colorFF33FF;
DRAWTEXT(ISLASTBAR,小布林上,'小布林上軌') SHIFT7 PXUp60, ColorFF33FF;
DRAWNUMBER(ISLASTBAR,小布林中軌,小布林中軌,0) SHIFT3, PXUP60 colorFF33FF;
DRAWTEXT(ISLASTBAR,小布林中軌,'小布林中軌') SHIFT7 PXUP60,colorFF33FF;
DRAWNUMBER(ISLASTBAR,小布林下,小布林下,0) SHIFT3 PXUP60,colorFF33FF;
DRAWTEXT(ISLASTBAR,小布林下,'小布林下軌') SHIFT7 PXUP60,colorFF33FF;

EXPLAIN(1>0,'================'),colorFFFFFF;
EXPLAINEX(1>0,'小布林上軌 =',小布林上,0,0), colorFF33FF;
EXPLAINEX(1>0,'小布林中軌 =',小布林中軌,0,0), colorFF33FF;
EXPLAINEX(1>0,'小布林下軌 =',小布林下,0,0), colorFF33FF;
EXPLAIN(1>0,'================'),colorFFFFFF;

//====================================================================================================




//====================================================================================
if datatype <6 then begin

if datatype=1 then begin
BeepSel := (high > 小布林上)* 5 + (low < 小布林下)* 6 ;
end;
if datatype=2 then begin
BeepSel := (high > 小布林上)* 1 + (low < 小布林下)* 2 ;
end;
if datatype=3 then begin
BeepSel := (high > 小布林上)* 3 + (low < 小布林下)* 3 ;
end;
if datatype=4 then begin
BeepSel := (high > 小布林上)* 4 + (low < 小布林下)* 4 ;
end;

if datatype=5 then begin
BeepSel := (high > 小布林上)* 7 + (low < 小布林下)* 7 ;
end;


//請自行根據需要配置本行內容

//========================= 程式模組:符合條件發出聲響警示 Start =========================
//主要功能:
// 可避免條件連續成立時,不斷發出警示聲響的困擾。可按條件不同發出不同聲音
//響警時機:
// 當前該交易日首次條件成立時,會響警。
// 同交易日同條件上次運算不成立,而這次運算成立時,會響警。
// 同交易日這次運算成立的條件與上次運算成立的條件不同時,會響警。
//注意事項:
// 1.同一公式請勿套用在同一商品且同一周期中跑(將導致響警狀態寫存混亂)
//  ※在相同視窗中或不同視窗中,皆不可以,即使指標參數不同也不行!
// 2.指標公式名稱請勿使用下面這些字符(會導致響警狀態無法記憶存檔):
//  < > : " / \ | ? *
// 3.不同條件成立,請勿將 BeepSel 值配置為相等值,以免造成混淆。
//使用方法:
// 請將本程式模組,添加在原公式程式碼的最末端。
// 並在本程式模組程式碼之前,添加 BeepSel 相關配置。
//使用範例:
// [單組條件] 收盤價大於MA10,使用第3組音效,寫法如下:
// BeepSel:=(CLOSE>MA(Close,10))*3;
// [雙組條件] 當KD金叉使用第1組音效,KD死叉使用第2組音效,寫法如下:
// BeepSel:=Cross(K,D)*1+Cross(D,K)*2;
// [多組條件] A用第2組音效,B用第5組音效,C用第3組音效,寫法如下:
// BeepSel:=條件A*2+條件B*5+條件C*3; //各條件間皆不會有同時成立之情況
//存檔路徑:
// 最後響警狀態會被記憶住,寫存於奇狐主資料夾中的 RecBeep 子資料夾裡。

//設定各組音效對應的檔案(共支持7組,可自行變更為您想要的)
Beep1:=GetAppMainDir+'\Effwav\eff01.wav'; //第1組音效
Beep2:=GetAppMainDir+'\Effwav\eff02.wav'; //第2組音效
Beep3:=GetAppMainDir+'\Effwav\eff03.wav'; //第3組音效
Beep4:=GetAppMainDir+'\Effwav\eff04.wav'; //第4組音效
Beep5:=GetAppMainDir+'\Effwav\eff05.wav'; //第5組音效
Beep6:=GetAppMainDir+'\Effwav\eff06.wav'; //第6組音效
Beep7:=GetAppMainDir+'\Effwav\eff07.wav'; //第7組音效

//===== 以下程式碼請勿做任何更動!!! =====
UseDate:=NumToStr(Tradedate,0);
UsePath:=GetAppMainDir+'\RecBeep'; //存檔路徑
UseFile:=UsePath+''+MarketLabel+StkLabel+'_'+FMLNAME+'.txt'; //存檔路徑+檔案名稱{市場代碼+商品代碼+指標名稱}
UseType:=NumToStr(DATATYPE*1000+DATATYPEM,0); //組合[數據週期類型]與[數據週期設定值]
GetBeep:=0;
<%
BeepSel=FFL.VarData("BeepSel")
UseFile=FFL.VarData("UseFile")
UseType=FFL.VarData("UseType")
UseDate=FFL.VarData("UseDate")
UsePath=FFL.VarData("UsePath")
if IsArray(BeepSel) then
NowBeepSel=BeepSel(ubound(BeepSel))
else
NowBeepSel=BeepSel
end if
Set fs=CreateObject("Scripting.FileSystemObject")
If fs.FolderExists(UsePath)=False Then fs.CreateFolder UsePath
AllData="": OldBeepSel=0
If fs.FileExists(UseFile) then
Set RdFS=fs.OpenTextFile(UseFile, 1)
if Not(RdFS.AtEndOfStream) then
AllData=RdFS.ReadAll
DataAry=Split(AllData, vbcrlf, -1, 1)
AllData=""
for i=0 to ubound(DataAry)
if len(DataAry(i))>0 then
ItemAry=Split(DataAry(i), ",", -1, 1)
if UseDate=ItemAry(0) then
if UseType=ItemAry(1) then
OldBeepSel=cint(ItemAry(2))
else
AllData=AllData+DataAry(i)+vbcrlf
end if
end if
end if
next
end if
end if
if NowBeepSel<>OldBeepSel then FFL.VarData("GetBeep")=NowBeepSel
AddData=UseDate+","+UseType+","+cstr(NowBeepSel)
AllData=AddData+vbcrlf+AllData
Set RdFS = fs.CreateTextFile(UseFile, true)
RdFS.Write AllData
RdFS.close
%>
PlayBeep:=c*0+GetBeep;
PLAYSOUND(PlayBeep=1,0,Beep1);
PLAYSOUND(PlayBeep=2,0,Beep2);
PLAYSOUND(PlayBeep=3,0,Beep3);
PLAYSOUND(PlayBeep=4,0,Beep4);
PLAYSOUND(PlayBeep=5,0,Beep5);
PLAYSOUND(PlayBeep=6,0,Beep6);
PLAYSOUND(PlayBeep=7,0,Beep7);
end;

//========================== 程式模組:符合條件發出聲響警示 End ==========================

向版主報告此篇 | 查IP位址
Old Post 2024-09-20 05:43
ivancclai 現在離線 點選這裡查看 ivancclai 的個人資料 點選這裡給 ivancclai 傳送一條短訊 查找更多關於 ivancclai 的文章 增加 ivancclai 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18091

回覆: 求助 不同時區k棒 碰到布林時區 發出聲音 警示

引用:
最初由 ivancclai 發表
版主大大你好

上次請教你發生音訊做警示 我做好可以用了 謝謝

我若要新價位 觸碰 到不同時區 布林上下邊軌 時發時聲響 這範例如何增加音訊給到資訊 因為 1/5/15/60/240 分時區就要10 個音軌資訊 範例只有七個 可以給我範例 或修正嗎

謝謝



// ============================================== Datatype >0 大小布林 ====================================================


布林灰控參數:=20;
布林大參數:=1200;
布林中參數:=100;
短均參數:=20;
倍差:=2;
倍差1:=2;

小布林中軌:=MA(CLOSE,布林灰控參數) colorFF33FF linethick2 LINEDOT;
DRAWSL(ISLASTBAR ,小布林中軌,0,0,3) pxdn0 coloRFF33FF LINETHICK2 LINEDOT;
小布林中軌DOWNA:=小布林中軌<REF(小布林中軌,1);
PARTLINE(小布林中軌,小布林中軌) colorFF33FF,linethick2 LINEDOT;
PARTLINE(小布林中軌DOWNA,小布林中軌) colorFFFF00,linethick2 LINEDOT;

小布林上:小布林中軌+(倍差1)*STD(CLOSE,布林灰控參數) colorFF33FF LINETHICK3 LINEDASHDOT;
DRAWSL(ISLASTBAR ,小布林上,0,0,3) pxdn0 coloRFF33FF LINETHICK2 LINEDOT;
小布林上DOWN:=小布林上<REF(小布林上,1);
PARTLINE(小布林上DOWN,小布林上) colorFFFF00,linethick3;

小布林下:小布林中軌-(倍差1)*STD(CLOSE,布林灰控參數) colORFF33FF, LINETHICK3;
DRAWSL(ISLASTBAR ,小布林下,0,0,3) pxdn0 coloRFFFF00 LINETHICK2 LINEDOT;
小布林下DOWN:=小布林下<REF(小布林下,1);
PARTLINE(小布林下DOWN,小布林下) colorFFFF00,linethicK3;

DRAWNUMBER(ISLASTBAR,小布林上,小布林上,0) SHIFT3 PXUP60,colorFF33FF;
DRAWTEXT(ISLASTBAR,小布林上,'小布林上軌') SHIFT7 PXUp60, ColorFF33FF;
DRAWNUMBER(ISLASTBAR,小布林中軌,小布林中軌,0) SHIFT3, PXUP60 colorFF33FF;
DRAWTEXT(ISLASTBAR,小布林中軌,'小布林中軌') SHIFT7 PXUP60,colorFF33FF;
DRAWNUMBER(ISLASTBAR,小布林下,小布林下,0) SHIFT3 PXUP60,colorFF33FF;
DRAWTEXT(ISLASTBAR,小布林下,'小布林下軌') SHIFT7 PXUP60,colorFF33FF;

EXPLAIN(1>0,'================'),colorFFFFFF;
EXPLAINEX(1>0,'小布林上軌 =',小布林上,0,0), colorFF33FF;
EXPLAINEX(1>0,'小布林中軌 =',小布林中軌,0,0), colorFF33FF;
EXPLAINEX(1>0,'小布林下軌 =',小布林下,0,0), colorFF33FF;
EXPLAIN(1>0,'================'),colorFFFFFF;

//====================================================================================================




//====================================================================================
if datatype <6 then begin

if datatype=1 then begin
BeepSel := (high > 小布林上)* 5 + (low < 小布林下)* 6 ;
end;
if datatype=2 then begin
BeepSel := (high > 小布林上)* 1 + (low < 小布林下)* 2 ;
end;
if datatype=3 then begin
BeepSel := (high > 小布林上)* 3 + (low < 小布林下)* 3 ;
end;
if datatype=4 then begin
BeepSel := (high > 小布林上)* 4 + (low < 小布林下)* 4 ;
end;

if datatype=5 then begin
BeepSel := (high > 小布林上)* 7 + (low < 小布林下)* 7 ;
end;
.................



不需要這樣處理呀~~
公式是在當前週期中執行運算
您在不同週期中條件相等
就不需要特別去判斷區分 datatype 的值

請將
原碼:
if datatype <6 then begin if datatype=1 then begin BeepSel := (high > 小布林上)* 5 + (low < 小布林下)* 6 ; end; if datatype=2 then begin BeepSel := (high > 小布林上)* 1 + (low < 小布林下)* 2 ; end; if datatype=3 then begin BeepSel := (high > 小布林上)* 3 + (low < 小布林下)* 3 ; end; if datatype=4 then begin BeepSel := (high > 小布林上)* 4 + (low < 小布林下)* 4 ; end; if datatype=5 then begin BeepSel := (high > 小布林上)* 7 + (low < 小布林下)* 7 ; end;

簡化為下面這一行即可
BeepSel := (high > 小布林上)* 1 + (low < 小布林下)* 2;

但事情沒有那樣簡單!!!
因為 high > 小布林上 和 low < 小布林下 這兩組條件,是有機會同時成立的!
故不能以前面的加法方式來簡單配置用哪一組音效
註:加法僅適用於各組間不會同時成立之情況


必須將
BeepSel := (high > 小布林上)* 1 + (low < 小布林下)* 2;

改為
條件A:=high > 小布林上; 條件B:=low < 小布林下;
BeepSel:=0;
BeepSel:=IF(條件A,1,BeepSel); //A成立用第1組音效
BeepSel:=IF(條件B,2,BeepSel); //B成立第2組音效
BeepSel:=IF(條件A and 條件B,3,BeepSel); //A,B同時成立,用第3組音效

如此才能應付同時成立的情況,聽音也才能分辨~~

向版主報告此篇 | 查IP位址
Old Post 2024-09-20 09:08
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
全部時間均為台灣時間, 現在時間為23:18 發表新主題    回覆主題
  上一主題   下一主題
顯示可列印版本 | 訂閱此主題

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
HTML語法禁止
vB 語法核准
表情符號核准
貼圖語法[IMG]核准
 

本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。

Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.  聯絡我們