Value1 = GetField("成交量");
if barfreq ="M" and barinterval =1 and
close[1]/close[2]>1.01 and
value1>100
then ret=1;
以上
問題1:
我想要做的是
1分鐘內價格上漲1%
且分鐘成交量大於100
我這樣寫對嗎?
問題2:
close[1]/close[2]>1.015
這個的邏輯
是以close[1]的哪裡做依據(開?高?低?收?)
close[2]的哪裡做依據(開?高?低?收?)
Value1 = GetField("成交量");
if barfreq ="M" and barinterval =1 and
close[1]/close[2]>1.01 and
value1>100
then ret=1;
以上
問題1:
我想要做的是
1分鐘內價格上漲1%
且分鐘成交量大於100
我這樣寫對嗎?
問題2:
close[1]/close[2]>1.015
這個的邏輯
是以close[1]的哪裡做依據(開?高?低?收?)
close[2]的哪裡做依據(開?高?低?收?)
接著問
如果我將警示點位+1點為進場點位
那我要設定以進場點位+-5點違停利停損點位
我該如何設定
另外
我還要設定1點20分平倉所有庫存
有辦法用XS來寫嗎?
Hello 奇怪的人,
1.
barfreq 跟 barinterval 是判斷執行頻率所用的。
如果您一開始就是掛在1分鐘頻率的話就不用把他納入條件。
另外成交量為 volume 不是 value1。
小幫手會修改成:
if barfreq <> "M" and barinterval <> 1 then raiseruntimeerror("請使用1分鐘頻率");
if (close / close[1]) > 1.01 and volume > 100 then ret = 1;
2.
close是收盤價,close[1] 是前一根的收盤價,close[2] 是前前跟收盤價。
3.
如果您要作停損停利的話,小幫手建議您使用交易腳本搭配自動交易中心。
價格加上檔位的話您可以參考 AddSpread 函數搭配 setposition 函數。
討論區已經有很多關於停損停利和時間控管的文章和範例了,您可以參考看看。
小幫手這邊提供簡單的範例:
if position > 0 and filled > 0 and (high >= addspread(filledavgprice, 5) or low <= addspread(filledavgprice, 5)) then setposition(0, market);
//如果價格大於進場價格+5檔或小於進場價格-5檔的話就出場
時間條件出場:
if position <> 0 and filled <> 0 and currenttime >= 132000 then setposition(0, market);
//如果時間大於13:20的話平倉
小幫手建議您可以先參考教學區內的文章。
2 評論