小幫手求救

  •   575 
  • 最後發表   ICE  2020 八月 10
ICE 發文於   2020/08/04

我摸索了老半天

還是寫不出我要的策略雷達

請問小幫手可以幫忙寫嗎

我真的領悟能力不太好

再麻煩回復一下了 感謝小幫手大大

排序方式: 標準 | 最新
XQ小幫手 發文於   2020/08/04

ICE 大 您好

請問您想構思什麼樣的策略呢?

或許我可以給您一些建議。

寫程式的路雖然不太容易,

但我們可以一步一步學習,

增進自己的能力!

  • 按讚來自於
  • sky5279
ICE 發文於   2020/08/04

小幫手,晚點我給你看我寫的,跟我要的給你幫我對照一下哪邊需要修改 這樣好嗎?

XQ小幫手 發文於   2020/08/04

可以壓 我們可以一起討論!

  • 按讚來自於
  • sky5279
ICE 發文於   2020/08/04

久等了小幫手

我寫出來這樣你幫我看看哪裡要修改的

我的條件是振幅在2%以上 昨量500張以上 並且總量超過昨量

外盤量大於內盤量的1.5倍 量比大於1.5 觸發條件為連續觸發 

這樣哪裡有錯的嗎? 

我剛回測的結果是

個股目前回測尚不支援報價欄位

我不知道問題出在哪

再麻煩小幫手幫幫我了 感謝您

 

Value1 = GetQuote("振幅");

Value1 = GetQuote("DayAmplitude");

Value1 = GetQuote("當日振幅");

Value1 = q_DayAmplitude;

 

Value2 = GetQuote("昨量");

Value2 = GetQuote("PreTotalVolume");

Value2 = q_PreTotalVolume;

 

Value3 = GetQuote("總量(日)");

Value3 = GetQuote("DailyVolume");

Value3 = q_DailyVolume;

 

Value4 = GetQuote("外盤量");

Value4 = GetQuote("OutSize");

Value4 = GetQuote("當日外盤量");

Value4 = q_OutSize;

 

Value5 = GetQuote("內盤量");

Value5 = GetQuote("InSize");

Value5 = GetQuote("當日內盤量");

Value5 = q_InSize;

 

Value6 = GetQuote("量比");

Value6 = GetQuote("VolumeRatio");

Value6 = q_VolumeRatio;

 

if Value1>2

 

and Value2>500

 

and Value3>Value2

 

and Value4>Value5*1.5

 

and Value6>1.5

 

then ret=1;

 

if q_TickVolume > 1000 then ret = 1; 

ICE 發文於   2020/08/04

小幫手 在嗎

ICE 發文於   2020/08/05

這是我最終修改得版本

我想問說我寫得這個是警示雷達

那要他處發之後跳出股票是要寫選股嗎

不太懂選股跟警示的差別

再麻煩解除我的疑慮了感謝

 

 

Value1 = q_DayAmplitude;//當日振幅

 

Value2 = q_PreTotalVolume;//昨量

 

Value3 = q_DailyVolume;//當日總量

 

Value4 = q_OutSize;//當日外盤量

 

Value5 = q_InSize;//當日內盤量

 

Value6 = GetField;//量比

 

if Value1>2

 

and Value2>500

 

and Value3>Value2

 

and Value4>Value5*1.5

 

and Value6>1.5

 

then ret = 1; 

XQ小幫手 發文於   2020/08/05

ICE 大 您好

Q1: 選股跟警示的差異

A: 您可以想像成

選股:利用您所撰寫的技術指標、財報指標....等來篩選出符合您預期的股票

警示:在盤中即時買進賣出符合您技術指標、內外盤、量....等等動作

所以兩者是存在差異的。

如果您要篩選出股票,您應該是需要使用選股中心功能

Q2:您腳本的問題

A:無法運行與回測的主要原因為q_DayAmplitude 這類前面有q開頭的報價欄位

此連結為介紹網址提供給您參考GetQuote("DayAmplitude")

報價欄位主要是即時資料,就是盤中時間使用,無法運用在回測上

所以才會導致您的策略無法執行

GetField部分,您必須去抓取您想要的資料 例如GetField("量比")

這樣才能取得您要的資料。

以下提供給您建議,

如果您剛接觸XS,您可以考慮XS自學 觀看裡面的文章

或是可以購買 「三週學會程式交易」這本書,

有系統的學習會比較容易搞懂程式邏輯是什麼! (因為我也是這樣走過來的XD)

以上

 

ICE 發文於   2020/08/05

 所以我要寫成警示的話 讓他跳出觸發名單我再自行下單就好了嗎

因為我要的數值有內外盤量 總量 昨量 量比等這些素質

所以我還是得寫成警示對吧?

再來量比那邊我可以改成q_VolumeRatio嗎

 

XQ小幫手 發文於   2020/08/05

ICE 大 您好

Q:我要寫成警示的話 讓他跳出觸發名單我再自行下單就好了嗎

A1:可以的,您可以在盤中時間警示跳出時在下單,或是也可以串交易帳號達成自動下單

A2:如果您要使用量比相關數值,是要寫警示雷達沒錯的

A3:當然是沒問題的,但是要注意,報價欄位(q_xxx)是無法使用回測的喔! 因為是即時資料

 

ICE 發文於   2020/08/05

所以我最後寫這樣 可以麻煩你檢查哪裡有問題嗎?

 

Value1 = q_DayAmplitude;//當日振幅

 

Value2 = q_PreTotalVolume;//昨量

 

Value3 = q_DailyVolume;//當日總量

 

Value4 = q_OutSize;//當日外盤量

 

Value5 = q_InSize;//當日內盤量

 

Value6 = q_VolumeRatio;//量比

 

if Value1>2

 

and Value2>500

 

and Value3>Value2

 

and Value4>Value5*1.5

 

and Value6>1.5

 

and q_TickVolume > 1000 then ret = 1; 

 

顯示更多回應 發表回覆
Close