Trading 板


LINE

關於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的狀況就不用寫了嗎? 另外這樣寫有什麼用意或好處嗎? 希望有好心人能解答我的疑問,先謝謝了... --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.234.7
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Trading/M.1546274003.A.027.html
1F:推 rcwang: 先提程式技術方面, 這是所謂的防衛子句寫法 01/01 00:53
2F:→ rcwang: 這廣泛出現在許多類似 C 與 C++ 的程式語言的程式中 01/01 00:54
3F:→ rcwang: 這有點像是站衛兵的意思, 如果符合條件就會被衛兵趕出去 01/01 00:54
4F:→ rcwang: 趕出去的方法有 continue 與提早的 return 01/01 00:55
5F:→ rcwang: 那麼在程式交易方面, 例如 Easy Lang 或 Power Lang 01/01 00:56
6F:→ rcwang: 或是一些 C# Based 的開發環境, 例如 Wealth-Lab 都有把 01/01 00:56
7F:→ rcwang: 掛單的流程責任切得很清楚, 基本原則就是每個動作都要查 01/01 00:57
8F:→ rcwang: 他不能不給你查, 所以設計上 Order Command 都會有 return 01/01 00:58
9F:→ rcwang: 但是共識上會假設程式執行很快, 所以不會幫你鎖單 01/01 00:59
10F:→ rcwang: 也就是如果你 OrderSelect 但是其他 EA 也在跑他也能動他 01/01 01:00
11F:→ rcwang: 所以你通常都會看到只對 Error Path (出錯的執行路徑) 01/01 01:00
12F:→ rcwang: 的處理, 就像是一堆 !OrderSelect, !OrderClose 01/01 01:01
13F:→ rcwang: 但是是不是執行成功就不用檢查? 實務上還是要 01/01 01:02
14F:→ rcwang: 因為有時候銀行端/伺服器端, 會幫你自動撤單(不知道原因) 01/01 01:03
15F:→ rcwang: 又自動幫你補單(感覺像他手殘按到) 銀行端補單的 Magic 01/01 01:03
16F:→ rcwang: Number 會非常詭異, (通常伴隨著錯誤的 lots...) 01/01 01:04
17F:→ rcwang: 所以其實還是要做, 但是你在網路上查得的各種資源 01/01 01:04
18F:→ rcwang: 原則上還是會假設 Order Cmd 出去就穩了 01/01 01:05
19F:推 rcwang: 難得看到 MQL 的文, 推推 QQ!! 01/01 01:07
20F:→ aicar: 想不到這麼快就能有這麼詳盡又專業的回覆 01/01 01:31
21F:→ aicar: 真的非常感謝rcwang大,解答了我大部分的疑惑 01/01 01:35
22F:→ dodo222kimo: 好專業!!! 01/01 12:17
23F:推 askachage: 推,專業回 01/02 09:58
24F:推 appleball200: 專業 跪 01/02 15:26







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP