到奇狐勝券首頁 奇狐社區論壇 購買奇狐勝券 試用奇狐勝券
 
論壇首頁 你可以在這裡編輯你的資料,查看短訊,訂閱主題和論壇參數等等 免費會員註冊 會員列表 論壇幫助 論壇日曆 論壇搜索 加入我的最愛 登出論壇  
奇狐社區論壇 : Powered by vBulletin version 2.3.0 奇狐社區論壇 > 指標公式 > 問題交流 > [問題] IF 的用法
總頁數 (2): « 1 [2]   上一主題   下一主題
作者
主題 發表新主題    回覆主題
L0123
資深會員

註冊日期: Mar 2004
來  自: 彰化 海口郎
文章數量: 400

引用:
最初由 alanpaul 發表
感謝回覆, 但是問題應該是出在FLAG的初始值上面...
小弟這兩天試著先用Variable: FLAG=0; 宣告, 程式是可以跑, 但是一旦condition XXX or YYY 成立但成交的condion尚不成立時, FLAG本來不應該歸0, 但是實際上卻被歸0了, 像這樣:
Variable: FLAG=0;
FLAG := IF(XXX, 1, IF(YYY,-1), FLAG);
SHORTCONDITION:= IF(FLAG=1 AND AAA, 1, 0);
LONGCONDITION:= IF(FLAG=-1 AND BBB, 1, 0);
FLAG:= IF(SHORTCONDITION or LONGCONDITION, 0, FLAG);
難道奇狐在每一個週期都讀一次Variable初始值, 而沒有把前一週期的Variable值留下? 試著用
FLAG:= IF(XXX, 1, IF(YYY, -1, REF(FLAG,1));
也不行呀!
頭痛!


您實際的問題偶不知道,偶用您敘述的方式寫出類似您要的,看看是否可以套用
//原始的程式是要在一個指標成立後, 把旗號設出, 然後等另一個指標成立後再成立買賣訊號:
M6:ma(C,6),COLORGREEN;
M12:ma(C,12),COLORMAGENTA;
A01:=CROSS(C,M6);//一個指標成立後, 把旗號設出
DRAWICON(A01,L,6),PXDN15;
A02:=CROSS(C,M12);//另一個指標成立
買訊:=A01 and A02;//2個指標相與成立後再成立買賣訊號
DRAWTEXT(買訊,L,'買'),COLORGREEN,PXDN30;

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

註冊日期: Mar 2004
來  自: 彰化 海口郎
文章數量: 400

前面寫法經RUN之後, 發現缺失 ,現更正如下:
//原始的程式是要在一個指標成立後, 把旗號設出, 然後等另一個指標成立後再成立買賣訊號:
M6:ma(C,6),COLORGREEN;
M12:ma(C,12),COLORMAGENTA;
A01:=CROSS(C,M6);//一個指標成立後, 把旗號設出
A11:=CROSS(A01,0.5);
DRAWICON(A01,L,6),PXDN15;
A02:=CROSS(C,M12);//另一個指標成立後再成立買賣訊號
A12:=CROSS(A02,0.5);
買訊:=A11 and A12;//2個指數相與成立後再成立買賣訊號
DRAWTEXT(買訊,L,'買'),COLORRED,PXDN30;
S01:=CROSS(M6,C);
S11:=CROSS(S01,0.5);
DRAWICON(S01,H,7),PXUP30;
S02:=CROSS(M12,C);
S12:=CROSS(S02,0.5);
賣訊:=S11 and S12;
DRAWTEXT(S12,H,'賣'),COLORGREEN,PXUP60;

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

註冊日期: Mar 2004
來  自: 彰化 海口郎
文章數量: 400

再更正,過程寫法應該正確了。

//原始的程式是要在一個指標成立後, 把旗號設出, 然後等另一個指標成立後再成立買賣訊號:
M6:ma(C,6),COLORGREEN;
M12:ma(C,12),COLORMAGENTA;
A01:=CROSS(C,M6);//一個指標成立後, 把旗號設出
A02:=IF(C>M6,1,0);
DRAWICON(A01,L,6),PXDN15;
A11:=CROSS(C,M12);//另一個指標成立後再成立買賣訊號
A12:=IF(C>M12,1,0);
B:=A02=1 and A12=1;//2個指數相與成立後再成立買賣訊號
買訊:=CROSS(B,0.5);
DRAWTEXT(買訊,L,'買'),COLORRED,PXDN30;
S01:=CROSS(M6,C);
S02:=IF(C<M6,-1,0);
DRAWICON(S01,H,7),PXUP30;
S11:=CROSS(M12,C);
S12:=IF(C<M12,-1,0);
S:=S02=-1 and S12=-1;
賣訊:=CROSS(S,0.5);
DRAWTEXT(賣訊,H,'賣'),COLORGREEN,PXUP60;

向版主報告此篇 | 查IP位址
Old Post 2007-09-02 22:17
L0123 現在離線 點選這裡查看 L0123 的個人資料 點選這裡給 L0123 傳送一條短訊 查找更多關於 L0123 的文章 增加 L0123 至你的好友列表 編輯/刪除訊息 引用回覆
alpha
資深會員

註冊日期: Oct 2006
來  自:
文章數量: 225

感覺你是想要這個

偶猜的 ~~~

=============================

FLAG := IF(XXX, 1, IF(YYY,-1, 0) );

上一個旗標 := ref(FLAG, barslast(FLAG) );

SHORTCONDITION:= IF( 上一個旗標 = 1 AND AAA, 1, 0);
LONGCONDITION:= IF( 上一個旗標 = -1 AND BBB, 1, 0);

__________________
偶而是不是也感覺有些老
像個大人般的戀愛
有時心情糟
請你相信我在你身邊別忘了

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

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

引用:
最初由 alanpaul 發表
感謝回覆, 但是問題應該是出在FLAG的初始值上面...
小弟這兩天試著先用Variable: FLAG=0; 宣告, 程式是可以跑, 但是一旦condition XXX or YYY 成立但成交的condion尚不成立時, FLAG本來不應該歸0, 但是實際上卻被歸0了............



建議您把您想要做的東西說明白
不要給HTS程式碼
(因為不同程式語言,運算的機制可能有很大差別)
這樣大家比較好幫您!

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

註冊日期: Aug 2007
來  自:
文章數量: 4

引用:
最初由 cgjj 發表
建議您把您想要做的東西說明白
不要給HTS程式碼
(因為不同程式語言,運算的機制可能有很大差別)
這樣大家比較好幫您!



謝謝版大指示...

目前設計上的想法是一個指標成立後, 再等另一個指標成立時, 才成立交易條件

所以並沒法把所有指標條件寫在同一個敘述中(也就是XXX -- 一段時間後Then --> AAA --> 成立訊號; 但是並不是XXX AND AAA同時成立時, 成立訊號)

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

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

引用:
最初由 alanpaul 發表
謝謝版大指示...

目前設計上的想法是一個指標成立後, 再等另一個指標成立時, 才成立交易條件...........



建議您舉實例
這樣比較好幫忙您

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

註冊日期: Aug 2007
來  自:
文章數量: 4

引用:
最初由 alpha 發表
感覺你是想要這個

偶猜的 ~~~

=============================

FLAG := IF(XXX, 1, IF(YYY,-1, 0) );

上一個旗標 := ref(FLAG, barslast(FLAG) );

SHORTCONDITION:= IF( 上一個旗標 = 1 AND AAA, 1, 0);
LONGCONDITION:= IF( 上一個旗標 = -1 AND BBB, 1, 0);



沒錯! 這個寫法OK!
接下來就是ShortCondition 或 LongCondition成立後, Flag歸零的問題了

向版主報告此篇 | 查IP位址
Old Post 2007-09-03 14:08
alanpaul 現在離線 點選這裡查看 alanpaul 的個人資料 點選這裡給 alanpaul 傳送一條短訊 進入 alanpaul 的首頁! 查找更多關於 alanpaul 的文章 增加 alanpaul 至你的好友列表 編輯/刪除訊息 引用回覆
alpha
資深會員

註冊日期: Oct 2006
來  自:
文章數量: 225

根據前面提的 , 猜測HTS 中你用的

FLAG , SHORTCONDITION , LONGCONDITION 這三個變數 應該都是 "單值" 變數

如果真是單值變數 , 表示 HTS 可能具備 "靜態變數" 這種東西

對於奇狐 "應該不需要 歸零 Falg" 這個步驟 ,

======================================

FLAG := IF(XXX, 1, IF(YYY,-1, 0) );

上一個旗標 := ref(FLAG, barslast(FLAG) );

SHORTCONDITION:= IF( 上一個旗標 = 1 AND AAA, 1, 0);
LONGCONDITION := IF( 上一個旗標 = -1 AND BBB, 1, 0);

S1 := barslast(SHORTCONDITION);
L1 := barslast(LONGCONDITION);

SHORTCONDITION : L1 > S1 ;
LONGCONDITION : S1 < L1;

FLAG * 3 ;

__________________
偶而是不是也感覺有些老
像個大人般的戀愛
有時心情糟
請你相信我在你身邊別忘了

向版主報告此篇 | 查IP位址
Old Post 2007-09-03 16:17
alpha 現在離線 點選這裡查看 alpha 的個人資料 點選這裡給 alpha 傳送一條短訊 查找更多關於 alpha 的文章 增加 alpha 至你的好友列表 編輯/刪除訊息 引用回覆
全部時間均為台灣時間, 現在時間為07:47 發表新主題    回覆主題
總頁數 (2): « 1 [2]   上一主題   下一主題
顯示可列印版本 | 訂閱此主題

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
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.  聯絡我們