紅二兵帶量

  •   124 
  • 最後發表   Alumi  2023 六月 02
Alumi 發文於   2023/03/14

你好,測試使用1分k~這二根紅k須帶量0.4%就通知我   但遇到一個問題50元價格 90漲0.4%=90.36元(正常)  但100元漲0.4%=100.4(等於是二根漲一個tcik就通知我,所以須要再調更高)
問題就是:90元漲一個tickbwf 0.1~~而100元漲一個tick就100.5
50~99 設漲0.4%
100元以上設漲1.5%
語法要怎麼寫呢 ,分別價格10/50/100/500/1000價格區分出來
  


以下是(使用1分k~這二根紅k須帶量0.4%就通知我)

if barfreq <> "Min" or Barinterval <>1 then RaiseRuntimeError("請設定頻率為1分鐘");

condition1 = close > open * 1.004;  //收盤大於開盤0.4%

if trueall(condition1 , 2 )

then ret = 1;   //連續2根bar全部上漲0.4%


-------------------------------------------------------------------------------------
如果用else 的話  要怎麼修改寫才對嗎?,這是之前教我的腳本//影線漲3tcik~~取代漲上影線漲3%就通知我~~~有分別把10/50/100/500/1000價格區分出來

 

if close < 10 then value1 = 0.01

else if close <50 then value1 = 0.05

else if close < 100 then value1 = 0.1

else if close < 500 then value1 = 0.5

else if close < 1000 then value1 = 1

else if close >= 1000 then value1 = 5;

if (minlist(open, close) - low) >= value1 * 3 then ret = 1;



排序方式: 標準 | 最新
XQ小幫手 發文於   2023/03/15

 Hello Alumi,

 

如果您在不同價格間距要用不同的%數,那麼可以用 if else 那個腳本去改,將value1改成要乘的%數。

小幫手這邊簡單寫個範例:

if close < 10 then value1 = 1.004

else if close <50 then value1 = 1.005

else if close < 100 then value1 = 1.006

else if close < 500 then value1 = 1.007

else if close < 1000 then value1 = 1.008

else if close >= 1000 then value1 = 1.009;

 

condition1 = close > open * value1;

if trueall(condition1 , 2 ) then ret = 1;

這樣就會隨著價格調整。

 

網站上有教學區,裡面有XS語法的基礎和應用可以閱覽。

Alumi 發文於   2023/03/15

好,謝謝,我再試看看喔!!~~非常感謝您!!

 

Alumi 發文於   2023/03/16

您好,我測試了已成功。非常感謝,

再請教,我想到一個策略所以需要這一個條件~~~~~ 如果我想要用例如 close > close [1];//收盤大於前根收盤上漲用價格計算例如以下 101元大於前根收盤漲0.2元通知我 
例如:
if close < 10 then valu1 = 上漲0.02元以上
else if close  < 50 tehn value 1 = 上漲0.1元以上   
else if close < 100 then value1 = 上漲0.2元以上   

用value1=後面與要怎麼寫呢?  不是用%是增加幾元金額通知我
condition1 = close > open * value1;//(這句話要怎麼修改)


XQ小幫手 發文於   2023/03/20

Hello Alumi,

 

小幫手建議您可以先閱覽教學區的文章,裡面有XS語法的基礎和應用。

 

這邊只要將value1改為您想要上漲的價格,舉例來說:

if close < 10 then valu1 = 0.02

else if close  < 50 tehn value 1 = 0.1

else if close < 100 then value1 = 0.2;

 

condition1 = close > (close[1] + value1);

if condition1 then ret = 1;

 

如果教學區的文章您有那裡不懂的麻煩告知,小幫手會請相關人員檢視看如何修改會讓人比較容易理解。

 

Alumi 發文於   2023/03/20

好,謝謝您。我有看教學內容。單句是看的懂,但串在一起的邏輯就是不太懂。經過您的指導非常謝。我多次詢問。基本的邏輯應該是知道怎麼運用了。

Alumi 發文於   2023/05/30

小幫手請教一下,我是2黑兵+下影 線通知我,用1分鐘實際去跑的結果成功率很低,~~~~~~~~~~我再用單次價模式(日)去跑測出結果,怎麼會大部份都常出現紅k+下影線通知我,如圖片。我是哪裡錯了嗎?向您請益,謝謝!!


if close < 10 then value1 = 0.01

 

else if close <50 then value1 = 0.05

 

else if close < 100 then value1 = 0.1

 

else if close < 500 then value1 = 0.5

 

else if close < 1000 then value1 = 1

 

else if close >= 1000 then value1 = 5;

 

if close < 10 then value5 = 0.994

 

else if close <50 then value5 = 0.994

 

else if close < 100 then value5 = 0.994

 

else if close < 500 then value5 = 0.994

 

else if close < 1000 then value5 = 0.994

 

else if close >= 1000 then value5 = 0.994 ;//連續2根bar下跌調整%數

 

condition1 = trueany((minlist(open, close) - low) >= value1 * 5, 2); // condition1 第一次達成 (當次符合,前次不符合) 時會觸發。

 

 

 

 

if condition1 and not condition1[1] then begin 

 

 

 

Condition2= close < close [1] and close < open * value5 ;

 

if trueall (condition2, 2 )  //收盤小於前根收盤黑二兵+每根要帶量

 

then ret = 1;

 

 

end ;

 

 

 

XQ小幫手 發文於   2023/06/02

Hello Alumi,

 

您可以使用 print 函數將相關數值印出檢查看哪裡計算不符合需求。

如果還是有問題的話,麻煩提供 策略雷達匯出檔勾選(包含)警示腳本 以及 XQ Log 讓小幫手確認策略相關的設定。

Log資料夾(預設路徑:C:\SysJust\XQLite\LOG)直接壓縮後提供即可。

您可以直接將檔案上傳,如果檔案過大的話也可以保存到雲端後將連結Mail至客服信箱 XQservice@XQ.com.tw 且務必附上 討論文章連結網址(小幫手才能盡早處理)。

感謝。

 

發表回覆
Close