MQL4問題請教 - 財經

Sarah avatar
By Sarah
at 2019-01-01T00:33

Table of Contents

關於MT4自帶的範例MACD Sample,有些疑問一直想不清楚,

google半天也找不到答案,想請教版上的前輩高手

以下為第89行到123行的程式碼

//--- it is important to enter the market correctly, but it is more important to exit it correctly...
for(cnt=0;cnt<total;cnt++)
{
if(!OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)) <------(1)
continue;
if(OrderType()<=OP_SELL && // check for opened position
OrderSymbol()==Symbol()) // check for symbol
{
//--- long position is opened
if(OrderType()==OP_BUY)
{
//--- should it be closed?
if(MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious &&
MacdCurrent>(MACDCloseLevel*Point))
{
//--- close order and exit
if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet)) <--(2)
Print("OrderClose error ",GetLastError());
return;
}
//--- check for trailing stop
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
//--- modify order and exit
(3)----> if(!OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green))
Print("OrderModify error ",GetLastError());
return;
}
}
}
}

我用括號標註了3個地方(抱歉,不知道怎麼上色...)
(1)第92行的!OrderSelect
(2)第105行的!OrderClose
(3)第117行的!OrderModify

想請問是只要有寫==false的情況,==true的狀況就不用寫了嗎?
另外這樣寫有什麼用意或好處嗎?

希望有好心人能解答我的疑問,先謝謝了...

--
Tags: 財經

All Comments

Faithe avatar
By Faithe
at 2019-01-04T02:55
先提程式技術方面, 這是所謂的防衛子句寫法
Tom avatar
By Tom
at 2019-01-06T14:44
這廣泛出現在許多類似 C 與 C++ 的程式語言的程式中
這有點像是站衛兵的意思, 如果符合條件就會被衛兵趕出去
Ula avatar
By Ula
at 2019-01-08T14:08
趕出去的方法有 continue 與提早的 return
Zanna avatar
By Zanna
at 2019-01-13T10:58
那麼在程式交易方面, 例如 Easy Lang 或 Power Lang
或是一些 C# Based 的開發環境, 例如 Wealth-Lab 都有把
Oscar avatar
By Oscar
at 2019-01-14T21:41
掛單的流程責任切得很清楚, 基本原則就是每個動作都要查
Rachel avatar
By Rachel
at 2019-01-19T12:15
他不能不給你查, 所以設計上 Order Command 都會有 return
Erin avatar
By Erin
at 2019-01-20T15:10
但是共識上會假設程式執行很快, 所以不會幫你鎖單
George avatar
By George
at 2019-01-23T01:50
也就是如果你 OrderSelect 但是其他 EA 也在跑他也能動他
所以你通常都會看到只對 Error Path (出錯的執行路徑)
Yuri avatar
By Yuri
at 2019-01-26T07:48
的處理, 就像是一堆 !OrderSelect, !OrderClose
Jessica avatar
By Jessica
at 2019-01-28T08:34
但是是不是執行成功就不用檢查? 實務上還是要
Gilbert avatar
By Gilbert
at 2019-01-30T14:25
因為有時候銀行端/伺服器端, 會幫你自動撤單(不知道原因)
又自動幫你補單(感覺像他手殘按到) 銀行端補單的 Magic
Carol avatar
By Carol
at 2019-02-02T07:38
Number 會非常詭異, (通常伴隨著錯誤的 lots...)
所以其實還是要做, 但是你在網路上查得的各種資源
Oliver avatar
By Oliver
at 2019-02-05T05:14
原則上還是會假設 Order Cmd 出去就穩了
Joseph avatar
By Joseph
at 2019-02-07T13:57
難得看到 MQL 的文, 推推 QQ!!
Gary avatar
By Gary
at 2019-02-10T15:49
想不到這麼快就能有這麼詳盡又專業的回覆
Queena avatar
By Queena
at 2019-02-13T06:51
真的非常感謝rcwang大,解答了我大部分的疑惑
Hedwig avatar
By Hedwig
at 2019-02-14T19:42
好專業!!!
Robert avatar
By Robert
at 2019-02-17T15:31
推,專業回
Todd Johnson avatar
By Todd Johnson
at 2019-02-19T19:32
專業 跪

程式交易- 如何粗略判斷/預測盤勢?

David avatar
By David
at 2018-12-20T13:24
股票的走勢大概可分為盤整、急漲、盤漲、下跌。每一種交易策略在不同的盤勢會有不同 的表現,例如有些策略在趨勢盤的績效很好,但在盤整時就被多空雙巴,有些策略表現則 相反。因此多發展幾套策略,並且了解每一套策略在各種市場類型中會有什麼樣的表現, 然後再加上對大局的看法去選用不同的策略,似乎是較可行的途徑。如想要發展 ...

求檔:2018/12/11及12/12台指期成交檔及上下5檔

Charlotte avatar
By Charlotte
at 2018-12-16T02:53
因電腦燒掉了 (power) 導致這2天沒資料 有哪位大大可以提供資料的嗎 不勝感激 - ...

想詢問一下大家對SQ的看法

Rebecca avatar
By Rebecca
at 2018-12-10T22:05
如題 最近在網路上看程式策略教學的時候 發現有個 定量策略大師 偶然認識了SQ這個軟體 問了身邊滿多認識的人,大部分有在程式交易的都是持反對或是不表態的態度…… 不熟悉的也是很多 也有部分人是持正面的看法 但由於想蒐集更多人的意見,想說來此處發文問問各位是怎麼看待SQ這套軟體的 還請各位不吝賜教 ...

MC之後 程式交易下一步選擇

Kama avatar
By Kama
at 2018-12-06T16:31
上來跟各位高手請教一下 小弟玩MC小有成果 但MC畢竟湊策略 變數 能力不如python等 非本科系 想要精進程式交易能力 希望 1.非本科好上手 2.有免費machine learing資源或套件 3.有免費Deep learning 資源或套件 4.方便串接券商 方便導入資料 5.半 ...

Multicharts加碼(程式重開後的倉位?)

Eden avatar
By Eden
at 2018-12-04T21:53
在策略只下一口單的情況下,開啟自動交易時, (策略屬性設定為and#34;異步(AA)and#34;且and#34;顯示部位輸入視窗and#34; andgt; and#34;永遠顯示and#34;打勾) 會跳出一個視窗要輸入目前留倉倉位(無部位或多/空單,若有單,還要輸入進場點位)。 但是這個視窗只能輸入一 ...