從零開始學習MQL4 CTA交易程式語言 (一)

2021-02-19 ALPHA ZONE

類型一


你是否已經有了一套自己喜歡的交易方式,但是需要一直盯住屏幕,害怕稍微離開一下就會發生什麼讓自己懊悔難受的事情?

你會想如果有一種方式能夠自動化交易,如果能夠理解如何去寫下自己的交易程序,那麼我會寫下那個能夠做我想做的程序,然後你就回到你的電腦椅上,搖著那已經搖不動的靠背,因為你已經在這椅子上生活太久了。你會想自己能否真的學會如何去自己編寫程序,還是說直接花錢請別人幫自己寫比較好。

類型二


你看到了幫別人寫程序能夠賺錢,儘管你自己只有一些外匯的基礎知識,但是你的編程水平能夠支持幫助你寫程序。但是你不確定自己能否真的做好這件事。

本人是前者,我是一個交易員,我厭倦了在圖表前生活,不想讓交易慢慢偷走我更多的用來陪伴家人和朋友的時間,作為一個好奇的人,我決定去學一下如何做這個編程的事,看看這究竟能有多難。

實際上學習的難度取決於從哪裡學習。曾經的學習方式只能是從MQL4的網上參考書著手。然而這是一個很難的事情,這些書不僅難讀而且也很難搞懂那些作者到底說了什麼——除非你已經是一個程式設計師,然而本人不是。

你可以想像當我嘗試去學習那些全是英文的MQL4文檔,這是一個讓我比較難熬的階段。不用說我花了相當一段時間。

好消息是你現在不用像我一樣去學習這門語言,因為這裡我們做了一套教你如何在短時間內就能學會的mql4語言教學,而不是去花好幾周去學習。

我們不會講很多難懂且深奧的東西,而是把更加實用的方法交給你。當然最終你需要去實際操作,而不是光靠學習,因此我們的教學更偏向於實踐。我將介紹一些非常基礎的程序概念,幫助那些對程序感到迷茫的人。

如果你認為C++是你得到的一個比C好的成績或者C#是一個在C和D之間的音符,那麼這就是為你量身定製的教學,順帶一提C++和C#都是程序語言。

你們可能不知道在2014 年2月MQL4語言出現了一個很重大的編寫改變。因此以前的很多代碼都已經過時了。

我們這裡給出四個階段進行學習

1、首先建造你的「詞彙」。

2、將那些詞彙用來寫一些簡單實用的腳本。

3、去學著寫一些邏輯語言然後寫一些可以使用的方法,製作指標來監控市場條件以及畫一些對象在你的圖表上,這些將幫助你規範你的編程。

4、將你學到的東西都用到EA中,然後回測一下看開關單操作,就像你要程序做的開關單動作一樣。

然而不是說你學習了就能夠編程,你還需要去實際操作去練習編寫程序才行。你著實需要一些教學材料幫助自己指導實踐中如何解決一些問題,使自己在實際操作中能夠堅持下去。

接下來我們開始吧!

IDE是一個集成開發的環境,聽起來好像是個很高級的東西,實際上不是。首先我們來講一下MetaTrader,這是最受歡迎的交易平臺之一,在國外經紀商和貨幣交易領域也很知名,這是一個俄羅斯的公司開發的軟體。這個軟體這麼有名的一個原因是它是免費的,並且提供了全球範圍內數以百計的經紀商。它包含了常用的技術分析工具,且該平臺和它對應的mql4程式語言簡單易學。

Mql4是一個查詢語言,可以使用程序進行提問或者查詢,然後編寫的程序就是根據這些問題的回答進行。當然這是免費的。

Mql4讓我這個非程序科班出身的人能夠寫下自己的腳本去執行不同的交易任務。我也做了我自己的指標,根據我的交易規則在圖表上畫一些圖形和線條。

你們之中的大部分已經經歷過下載MT4平臺和將它安裝到電腦上了。一旦安裝了MT4,那麼你很可能已經打開過叫做MetaEditor的文本編輯器。

如果你已經嘗試過了,那麼恭喜你,你已經知道什麼是IDE了,MetaEditor是已經根據MetaTrader集成好的編輯器,是你用來開發你的程序的一個環境。所有的包括交易終端,mql4語言,編輯器和策略測試器組合形成了我們的集成開發環境。

如果你還沒看過MetaEditor,如圖就是它的樣子。

左側的是導航欄,我們所有的文件和文檔都在一個主文件叫做「MQL4」裡面。這裡面有一些獨立分開的子文件,主要有experts,indicators,scripts。

右上角還有一個很小的數字,那是一個關於mql語言的社區。當然MT4的集成開發環境也包含了幫助文件,在幫助選項中。

你可以花非常多時間在這上面。你能想像這要是一本關於綜合的項目書籍會有多厚嗎?這是它的電子版本。

這裡有mql語言的一個好處。一旦你學習了一些基本的概念,並且能夠著手一些程序的編寫,你可以輕易教會自己有哪些特殊的事項是你想要知道的。

你不需要剛開始學就去把所有的內容都知道!你所需要的是一個對於關鍵字的掌握和基本的理解。你需要學習如何使用這些工具來幫助你教會自己關於mql的編寫。就像那句老話,授人以魚不如授人以漁。

如果你學會了如何教自己,那還有什麼人能阻擋你?

相關焦點

  • 從Scratch開始零基礎編程學習、用Python入門
    有人朋友以前沒有任何的編程基礎,但是也想通過編程來實現自己的一些想法,做些工具解決自己的工具。那麼如何從零開始學習編程呢?筆者整理了下自己總結的回答資料,所以就有這篇文章。零基礎學習編程的,建議先找一門可見既所得的交互圖像式程式語言開始,拖拖控制項,雙擊進去補充寫幾行邏輯就行。比如我學編程開始就是已VB,Delphi入門的。
  • 不務正業之二:MQL4 編程入門學習到實戰(1)
    一、前言:想到什麼寫什麼1、不務正業之一:是高二時自學了BASIC語言,後來到大學上BASIC課時,我基本是不聽課的,有點扯遠了。
  • 零基礎學MQL4編程
    第一部分初識MQL4一、MQL4概述   MetaQuotesLanguage 4(MQL4)是用於編程交易策略和或自定義指標等的內置語言。該語言由MetaQuotesSoftware Corp根據其在創建在線交易平臺方面的長期經驗開發。
  • 如何從零學習一門程式語言,並由此拿到高薪?
    學習任何一門程式語言,都會面臨的第一個問題都是:如何學習這門語言?
  • 如何快速學習計算機程式語言
    如何快速學習計算機程式語言呢?這是很多零基礎同學想要知道的答案。隨著網際網路的飛速發展,程式設計師的工資越來越高,很多人想加入程式設計師的隊列,想要快速掌握編程技術。那麼應該如何快速學習計算機程式語言呢?1、首先應該知道自己為什麼學習計算機程式語言,如果只是盲目的追求高薪,對電腦程式沒有濃厚的興趣,那麼零基礎想要快速學習計算機程式語言是非常困難的。想計算機程式語言,應該擁有濃厚的興趣,再加上堅持不懈的精神,這樣才能更快地學習程式語言。
  • 程式設計師入門選擇哪一門程式語言?一定要從C語言開始嗎?
    學編程先從哪裡開始入手呢,選擇什麼程式語言會好點呢?一直以來,有那麼一部分新手程式設計師會經歷這方面的困惑,選擇一門程式語言確實是一個非常大的課題。程式設計師選擇哪一門程式語言入門?但是畢竟你要面對的現實是,學C語言離做出成品還很遙遠呢~即使C語言是一門非常好的程式語言,但是它對於沒有接觸過編程的新手、或者急於就業的程式設計師來說,未必適合拿來入門。而只有當你編程實踐到了一定的水平,再過頭學習C語言,會讓你對編程的理解更進一步。
  • MQL4語言完整版教程
    MT4編程入門5:自定義數組一、數組是一系列同類型變量的集合,可以同時存儲多個數值。例:int aa[4]={4,3,2,1};這是一個數據名為aa、包含了4個元素的整數型數組(即數組長度為4),可以同時存儲4個數值。二、自定義數組也必須「先建立,後使用」創建(定義)時,必須設定類型和名稱。
  • 少兒編程從什麼語言開始?
    一、四歲--實物編程      編程愈發低齡化,從八歲~六歲半~五歲~四歲半。只要沒有分離焦慮,躲過糟糕的兩三歲,沒錯,娃娃就可以編程了。沒有相關經驗的家長要被嚇一跳,「這麼小,怎麼編?編什麼?」有一堆問號。下面我將兩個品牌的無屏幕教具分享給大家。
  • 學習編程和學習程式語言是兩碼事
    你可能正在學習一門程式語言,而不是編程本身計算機科學不是學習計算機,很震驚吧。相反,它是關於藉助計算機來自動解決問題的一門學問。解決問題才是計算機科學,而不是寫代碼。這就是許多計算機科學專業的學生,似乎不理解他們為什麼學習算法和數學的原因。
  • 文科生想學習一門程式語言來提升就業競爭力,該學習哪門程式語言
    首先,當前對於文科生來說,學習一門程式語言是有必要的,隨著工業網際網路整合行業資源的能力越來越強,未來大量傳統行業的從業者都需要藉助於工業網際網路來完成工作任務,而掌握一門程式語言也會在一定程度上拓展職場人的能力邊界。
  • 孩子學習編程為什麼剛開始都先從scratch開始
    孩子學習編程為什麼剛開始都先從scratch開始一說到編程,許多人腦海中可能浮現出這些畫面:一個程式設計師坐在電腦前瘋狂地敲打著鍵盤,或是電腦屏幕上一串串各種顏色的英文和數字……scratch程式語言是美國麻省理工學院和Google主導開發的一款針對青少兒的圖形化編程軟體,不用學習任何語言,類似於樂高搭積木,通過簡單的拖拽模塊配以執行的命令模塊集合即可完成一個程序的編寫,也就是說孩子可以不懂英文,甚至不需要鍵盤操作,只需要用滑鼠拖動積木式的模塊學生就可以去創造交互式故事情節、動畫、遊戲、音樂MV等作品。
  • 從零開始怎麼學計算機編程?
    於是很多人想投身其中,而且很大一部分都是零基礎非科班的狀態。在學習者中有大學生,也初高中生,他們都有一個共性,沒什麼基礎。從零基礎開始學習編程成為了一種常態,可是,也正是因為我們在編程方面是零基礎,很容易導致我們選錯專業和行業。
  • 怎樣快速的學習一門程式語言
    也有越來越多的人開始學習程式語言。在這裡給大家分享一下我的學習經驗。初識語言:存在的程式語言有上千種,這就需要先選擇一門語言來入門。網上有對程式語言的排名,也有關於各種語言所適用業務介紹。可以先選擇想從事開發的方向,再在排名靠前的語言中選擇一門。選擇好一門語言後,接下來就是去網上查教程。
  • 是否可以零基礎學習C語言
    首先,C語言是完全可以零基礎學習的,而且由於C語言是面向過程的程式語言,在語法結構上也是比較容易理解的,相對於學習面向對象程式語言(Java、C#)來說,C語言的抽象程度並不算高,編程思想也相對比較容易建立。
  • 零基礎準備學習編程,應該從哪門語言學起?
    對於大多數的轉行者來說,學習編程的目的就是想找一份高薪的工作,那麼肯定是哪個程式語言的就業前景好,就越值得學習。下面我們分析一下現在比較流行的程式語言,看看你到底適合哪門程式語言!目前主流的程式語言分別是:C語言、C++、Java、PHP、HTML5+JS、Python。這些也是目前市面上最流行的程式語言。
  • 學習計算機程式語言最好的方法是什麼?
    1、有的人喜歡邊看書邊寫代碼,學一節就做做小練習,學一章就來個綜合點兒的練習,爭取能覆蓋大部分語法和知識點;2、還有的人就喜歡先將整個教程或者教材進行通篇的學習筆記,最後才挑感興趣的部分寫點兒代碼練習一下,然後找一個熟悉的需求用所學的程式語言來實現一下,對用到的部分反覆研究;3、有的人就只是看書、看視頻、看博客,全都看個遍,始終不動手,直到做實際項目時才開始寫代碼
  • 新手如何開始C語言基礎學習?
    因此,對於剛剛入門編程的新手來講,從C語言開始你的編程生涯無疑是最好的選擇。那麼,新手如何開始C語言基礎學習呢?下面我們來一起看一看。在學習之前,我們首先要知道為什麼學習C語言。眾所周知,C語言是一門簡單、底層、較早的程式語言,後來的很多語言在語法上都和C語言類似,比如Java、PHP等程式語言都是從C語言衍生出來的,因此掌握C語言將為學習其他程式語言打下更好的基礎。但同時大家也要知道,只會C語言的話,想要找工作還是很困難的。總的來講,C語言的基礎學習不過是冰山一角,要想成為一名優秀的程式設計師,需要學習的東西還有很多。
  • 程式設計師學習編程,學習這四門程式語言就夠了
    中國程式設計師都有一個讓人難於理解的問題,特別是新手程式設計師,都有喜歡不斷學習最近熱門的程式語言,比如近一年的來的python超過java成為熱度排名第一,同時我們也發現很多程式設計師開始學習盲目ython,作為一名專業的程式設計師,沒有必要把程式語言都學完,比較目前程式語言有不少200種,每種程式語言都有成為熱度的可能性
  • 【每天五分鐘】跟著蜜思從零開始學編程(一)
    咳咳咳,沒有技術背景的你有沒有感覺有的時候有點苦惱呢?蜜思找到了一個特別適合自學者從零開始學習的編程教程,每天五分鐘,一個暑假變成哥有技術的人兒~啦啦啦~在此,隆重感謝【Crossin的編程教室】與MissRUC合作並授權MissRUC轉載其原創課程!下
  • 學習計算機程式語言的方法
    編程技術類似小學的算盤技術,是個實戰行業,只有通過大量編程才能掌握的牢固。所以持之以恆的專注瘋狂敲打鍵盤就可以學好編程是我的學習思路。我前段時間開始研究人工智慧,花了一周時間研究知乎如何從零開始學習人工智慧,各種推薦眼花繚亂,甚至有人給了幾十個 G 的視頻資料,我只好感嘆,信息大爆炸時代也不見得是好事,類似商店衣服種類太多,女生很多時間都用來挑選衣服了,結果啥都沒有買到。