導航:首頁 > 源碼編譯 > mql4app源碼

mql4app源碼

發布時間:2023-05-07 05:22:58

A. mql4怎麼寫到dll文件里去

你開始學習程序開發了?用Reflector,將dll文件反編譯以後就得到源代碼了,拷貝出來放到cs文件中就行了。或者在Reflector裡面安裝個插件,可以直接將dll文件導出成項目文件。

B. ea太極源碼怎麼樣

好。ea太極源碼好。可自行選擇並進行如外匯貨幣對、差價合約等金融產品的投資。不僅如此,mt4交易平台也是一款自動化交易開發軟體。在mt4平台上面,交易經驗豐富的投資者可以運用MQL4語言編寫程序,親自設計交易指標或者自動交易EA。

C. 如何學好 mql4語言+編程

網路文庫的課程沒看過,我也在自學,邊上網找資料邊看書邊自己編寫EA。
你說得數據類型+表達式+運算其實就是最主要的了,不過就是細分下來你還沒有熟悉,主要是對英文的代表意義和賦值不了解。
提高的方法就是多看多做;多看就是下載一些EA用MQ語言編譯器看源代碼,熟悉型式;多做就需要你自己嘗試著編寫簡單的EA,然後看看有哪些Execution errors。
EA的編寫主要就是解決三類問題:一是抓價格數據,二調用指標數據,三調用下單、操作訂單。這些不是短時間內能完成的,建議你買點書看看,不過現在書店裡賣這方面的書幾乎沒用,所以要在網上訂。
最後希望上面寫的這些對你有些作用,大家共同提高吧

D. MQL4的特點

MetaQuotes Language 4 可以編寫不同作用的程序代碼:
智簡消搏能交易 是一種連接到特定圖表的自動交易系統。它能夠根據設置的節點自動啟動 ,當它開始運行後,它不會同時去處理另一個新的指令(也就是說必須等到當前程序完成)。 這種交易系統能夠在提醒用戶可以交易的同時,將交易定單自動送到交易伺服器。與大多數交易系統一樣, 它也能夠用歷史數據測試交易策略,並在圖表上顯示出來。 智能交易存儲在 mql4experts。
自定義指標 可用來編寫新的技術指標,和內置的指標一樣,它不能用來攔祥進行自動交易, 只能作為分析數據的工具。自定義指標儲存在 mql4indicators。
腳本 是執行單一功能的一段程序,和 智能交易不同,腳本不能單獨執行,只能被調用。腳本存儲在 mql4scripts。
資料庫 常被使用的自定義函數的集合。資料庫不能單獨運行。資料庫建議存儲在mql4libraries。
包含文件 包含文件常被使用的程序塊源代碼,這些文件能夠被包含在智能交易,腳本,客戶指標和資料庫 的源代碼中。 使用包含文件比調用資料庫更靈活快捷。 包橋型含文件交易儲存在mql4include。

E. EA公司一年能掙多少錢

[編輯本段]1。EA公司
美國藝電(Electronic Arts,NASDAQ: ERTS,以下簡稱EA),總部設在美國加利福尼亞州 紅木城,是全球著名的互動娛樂軟體公司。由1982年創立至今,公司在全球為視閉前頻游戲、個人計算機、手羨態閉機及互聯網開發、發布、銷售各種互動軟體。EA旗下擁有EA Sports™、EA™、EA SPORTS Freestyle™及POGO™四大品牌。EA 2008年財政年度GAPP凈收入為36.7億美元,並且擁有27項產品的全球銷售量分別超過百萬套。請登陸www.ea.com.cn瀏覽EA中國主頁。
EA的產品平台眾多,包括PC、Play Station 1 2 3 、Xbox、Xbox 360、任天堂Wii、GameCube、Game Boy Advance,PSP等平台。
EA是美國納斯達克指數上市公司,業務分布26個國家,全球員工人數超過7,100位。
EA風靡全球的經典游戲包括EA Sports™的《FIFA Soccer》、《NBA Live》,EA™的《模擬人生》、《極品飛車》等。EA綜合運用多種媒體技術,並結合了小說家、電影導演和音樂家的創造,使EA的產品一直能引領互動娛樂的時代潮流。該公司下屬有著名的EA Sports™、POGO™、The Sims™、Maxis™、英國牛蛙公司、擅長飛行模擬游戲的Origin、擅長戰爭模擬游戲的簡氏公司和開創即時戰略游戲的Westwood(現已解散重組為EA洛杉磯分部(EALA))。
[編輯本段]2 EA是什麼?其工作原理是什麼?
EA 即 Expert Advisors 的英文縮寫,中文意思專家顧問,俗稱智能交易系統,就是由電腦模擬交易員的下單操作進行機器自動交易的過程。
一、人工操盤過程
下面我們就以MT4外匯客戶端為例,首先來分析一個外匯交易員手工進行外匯交易的操作過程:其步驟如下:
1.打開外匯交易客戶端,選定一種貨幣對圖表;
2。監視該貨幣對的K線趨勢圖,俗稱盯盤,尋找開倉或者是平倉的時機,即開倉或者是平倉的條件
3。如果條件滿足,進行下單開倉(做多或者做空)或者平倉
4。重復第二步,繼續盯盤,假定第二步是開倉,就是尋找平倉的條件。
5。如果平倉的條件滿足,進行平倉操作,計算盈虧核算。完成一次交易的循環。
6。若繼續交易,重復2->3->4->5步
7。若不進行交易,退出外匯客戶端。
二、機器操盤過程
基於以上的分析,我們已經知道一個完整的智能交易系統(俗稱EA)在運行後必須要實現的基本功能,就是上述的人工操作的1-5步。 這也就是智能交易系統的基本工作過程,所以智能交易系統的工作原理就是由程序員 藉助一門計算機程序設計語言,通過編寫程序交易 指令模擬人類交易員的行為進行下單操作,實現機器自動進行交易的過程。主要執行過程可分為:盯盤->開倉->再盯盤->平倉,如此循環執行的過程。
關於支持機器自動交易的平台,目前外匯市場上流行的就是MetaQuotes公司的MT4平台,由於這個平台中嵌入了一種MQL4語言,它提供了對伺服器端的數據訪問並可進行交易操作的介面,程序交易者可以根據自己的交易策略來編寫自己的自動交易系統,從而實現讓機器自動交易,既可以減輕人類的工作量,又可以克服人類交易中的一此性格弱點,但目前的EA開發,尚所早期起步階段,有的還存在缺陷,但相信隨著技術的發展,機器自動交易終將會逐步取代人類的手工操作。屆時會給交易者一項新的選擇。
三、 相關MQL語言知識:
為了實現機器操作,再來看看所兄裂需的MQL4語言的相關知識:
1.掌握MQL4語言的基本語法和程序的構成,及運行流程
有關語法部分,請讀者參看相關的資料,這里略去。
關於程序的構成,對於一個智能交易系統EA程序來說:主要由三個函數構成分別是:
init():初始化函數,負責程序變數及數據初始輸入;只在程序調入時執行一次,一般不用重寫內容。
deinit():反初始化函數,負責程序退出時,將數據從內存中清除;只在程序退出時,執行一次,一般不用重寫內容。
start():開始函數,也即程序的主函數,負責EA程序 的全部交易執行過程,實際上他是一個EA的交易管理與執行函數。每隔一定時間,一般幾秒之內,執行一次,就是循環執行,起到程序退出時終止
運行流程:啟動EA後,程序的INTI()開始執行一次,-->然後 START()循環執行--->最後退出EA時deinit()執行一次
2。mql4中與交易相關的交易函數:
開倉函數:
int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, void comment, void magic, void expiration, void arrow_color)
這個功能主要應用於開倉位置和掛單交易.
參量:
symbol - 交易貨幣對。
cmd - 購買方式。
volume - 購買手數。
price - 收盤價格。
slippage - 最大允許滑點數。
stoploss - 止損水平。
takeprofit - 贏利水平。
comment - 註解文本。
magic - 定單指定碼。可以作為用戶指定識別碼使用。
expiration - 定單有效時間(只限掛單)。
arrow_color - 圖表上箭頭顏色。如果參量丟失或存在CLR_NONE價格值不會在圖表中畫出
平倉函數:
bool OrderClose( int ticket, double lots, double price, int slippage, void Color)
對定單進行平倉操作。如果函數成功,返回的值是真實的。如果函數失敗,返回的值是假的。獲得詳細錯誤信息,請查看GetLastError()函數。
參量:
ticket - 定單編號。
lots - 手數。
price - 收盤價格。
slippage - 最高劃點數。
Color - 圖表中標記顏色。如果參量丟失,CLR_NONE值將不會在圖表中畫出。
定單修改函數:
bool OrderModify( int ticket, double price, double stoploss, double takeprofit, datetime expiration, void arrow_color)
對於先前的開倉或掛單進行特性修改。如果函數成功,返回的值為 TRUE。如果函數失敗,返回的值為FALSE。 獲得詳細的錯誤信息,查看 GetLastError()函數。
參量:
ticket - 定單編號。
price - 收盤價格
stoploss - 新止損水平。
takeprofit - 新贏利水平。
expiration - 掛單有效時間。
arrow_color - 在圖表中允許對止損/贏利顏色進行修改。如果參量丟失或存在CLR_NONE 值,在圖表中將不會顯示。
四、源碼的交易流程分析
下面的源碼是一個基於移動平均線的智能交易系統的代碼 ,整個程序非常簡潔但EA的功能又非常齊全,實現了完全由電腦自動下單和平倉,整個程序只用了一個START()
函數來實現 。
程序代碼分析
參看代碼中的相關注釋
//+------------------------------------------------------------------+
//---- input parameters
extern double TakeProfit = 20;
extern double StopLoss = 30;
extern double Lots = 2;
extern double TrailingStop = 50;
extern int ShortEma = 5;
extern int LongEma = 60;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return (0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return (0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int cnt, ticket, total;
double SEma, LEma;
//----
if (Bars < 100)
{
Print("bars less than 100");
return (0);
}
//----
if (TakeProfit < 10)
{
Print("TakeProfit less than 10");
return (0); // check TakeProfit
}
//----
SEma = iMA(NULL, 0, ShortEma, 0, MODE_EMA, PRICE_CLOSE, 0);
LEma = iMA(NULL, 0, LongEma, 0, MODE_EMA, PRICE_CLOSE, 0);
//----
static int isCrossed = 0;
isCrossed = Crossed(LEma, SEma);
//----
total = OrdersTotal();
if (total < 1)
{
if (isCrossed == 1) // 滿足空倉條件,開空倉
{
ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, Bid + StopLoss * Point,
Bid - TakeProfit * Point, "EMA_CROSS", 12345, 0, Green);
if (ticket > 0)
{
if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
Print("SELL order opened : ", OrderOpenPrice());
} else
Print("Error opening SELL order : ", GetLastError());
return (0);
}
if (isCrossed == 2) // 滿足多倉條件,開多倉
{
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, Ask - StopLoss * Point,
Ask + TakeProfit * Point, "EMA_CROSS", 12345, 0, Red);
if (ticket > 0)
{
if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
Print("BUY order opened : ", OrderOpenPrice());
} else
Print("Error opening BUY order : ", GetLastError());
return (0);
}
return (0);
}
//---- 訂單修改,實現動態止盈止損跟蹤
for (cnt = 0; cnt < total; cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderType() <= OP_SELL && OrderSymbol() == Symbol())
{
if (OrderType() == OP_SELL) // long position is opened
{
// check for trailing stop
if (TrailingStop > 0)
{
if (Bid - OrderOpenPrice() > Point * TrailingStop)
{
if (OrderStopLoss() < Bid - Point * TrailingStop)
{
OrderModify(OrderTicket(), OrderOpenPrice(),
Bid - Point * TrailingStop,
OrderTakeProfit(), 0, Green);
return (0);
}
}
}
} else // go to short position
{
// check for trailing stop
if (TrailingStop > 0)
{
if ((OrderOpenPrice() - Ask) > (Point * TrailingStop))
{
if ((OrderStopLoss() > (Ask + Point * TrailingStop)))
{
OrderModify(OrderTicket(), OrderOpenPrice(),
Ask + Point * TrailingStop,
OrderTakeProfit(), 0, Red);
return (0);
}
}
}
}
}
}
//----
return (0);
}
//+------------------------------------------------------------------+
// 移動平均線多空條件判斷,
int Crossed(double line1, double line2)
{
static int last_direction = 0;
static int current_direction = 0;
//Don't work in the first load, wait for the first cross!
static bool first_time = true;
if (first_time == true)
{
first_time = false;
return (0);
}
//----
if (line1 > line2)
current_direction = 2; //up 多頭市場 上穿做多
if (line1 < line2)
current_direction = 1; //down 空頭市場 下穿做空
//----
if (current_direction != last_direction) //changed 多空改變 {
last_direction = current_direction;
return (last_direction);
else return (0); //not changed
}
五、本文結論
從以上的分析,可以知道,所謂EA,就是由電腦模擬交易員的下單操作進行機器交易的過程, 具體步驟如下:
1。當用戶打開外匯客戶端程序後,由客戶端程序調入用戶在系統內已預置好的EA交易系統程序。
2。當EA程序啟動後便開始對圖表中貨幣對的K線趨勢圖,進行監視,尋找開倉的條件;
3。如果條件滿足,進行下單開倉(做多或者做空);
4。重復第二步,繼續盯盤,假定第二步是開倉,就是尋找平倉的條件。
5。如果平倉的條件滿足,進行平倉操作,計算盈虧核算。完成一次交易的循環。
6。若繼續交易,EA重復2->3->4->5步
7。用戶若不想讓EA進行交易,可通過相關菜單操作設置禁用EA,或者退出外匯客戶端。

F. EA是什麼

"EA"是指智能交易Expert Advisor,也叫智能交易系統、程序交易系統、自動化交易程序……EA本質上是一個電腦程序。

是由程序員根據操盤的交易策略和思路編寫寫成計算機程序,只要在交易賬戶運行該序,EA就能自動分析外匯行情走勢,自動買進拋出,低買高拋,完全不用盯著電腦,自動完成整個交易過程。

EA自1975年最早起源於美國,隨著電腦技術和網路科技的發展,華爾街上的許多大公司的外匯交易員並不是把主要精力與時間放在人工盯盤與手動操作上,而是放在不斷編寫與完善自己的交易策略,然後編成EA,讓電腦去自動執行。

(6)mql4app源碼擴展閱讀:

"EA"的類型介紹:

1、趨勢EA

目前最常見,也是比較成熟的EA策略,根據各類指標策略判斷趨勢,進行交易。

2、貨幣對沖EA

通過不同貨幣價格波動的相關性進行多空對沖交易,貨幣對沖EA最大的缺點是無法回測,也就是無法得知過去行情的交易表現,只能通過實盤觀察現有的交易。

3、網格EA

網格EA通過將k線劃分相等或不等點位間距,達到間距點位觸發交易。優點:資金曲線完美,盈利非常穩定,倉位小資金非常安全,配合定期出金,風險非常小。缺點:不適合小資金賬戶或手數過重的交易。

4、 剝頭皮EA

盈利非常高的EA,利用經紀商報價延遲的間隙下單,交易時間非常短毫秒計算;缺點是對平台的點差和交易環境要求特別高,目前基本上沒有平台適合做長期穩定的剝頭皮交易。

5、綜合類EA

綜合類EA結合了以上幾種EA的策略,但是有些EA雖然是趨勢入場,卻採用了及其激進的資金管理,放大了其爆倉風險。有些網格類EA採用了類Martingale的資金管理(馬丁格爾法,類似於逆市加倉),放棄了市場中性的入場策略,反而採用一些指標來判斷入場。

G. mq4是什麼

MP4播放器帆碼名字聽起來就好象是差轎帶MP3播放器的升級版本,其實它們是完全不同的兩種產品。MP4播放器是一種能夠播放MPEG-4等視頻格式的數字化的個人媒體設備,它除了聽看電影的基本功能外還支持音樂播放、瀏覽圖片、FM收音等傳統MP3的功能,以及作為移動硬碟,甚至部分產品還可以進行視頻錄制。而且現在我們所見的到MP4播放器,大多數都帶有視頻轉制等專業虛蘆的視頻功能,並具備非常齊全的視頻輸入/輸出埠,因此它們攜帶的視頻文件能夠在很多場合中播放,盡管這對一些僅在旅行途中使用播放器的用戶沒有更多的實際意義,但對於一些經常做視頻演示的用戶則十分有用,因為MP4播放器能夠方便地接駁投影機以及電視等輸出設備。

H. 外匯EA怎麼恢復源代碼誰知道告訴我,謝謝

可以用ex4tomql4軟體反編譯。

I. 外匯EA的EA的開發

外匯EA在MT4平台上進行開發,採用MQL4語言編寫交易策略,EA的文件形式是mq4文件或ex4文件,其中mq4文件是源碼文件。 這種語言可以創建你自己的智能交易,使自己的交易策略能夠完全自動地執行。而且,MQL4 還能自定義客戶指標,腳本和資料庫。內包含了大量可以分析當前及歷史報價所必須的函數,以及一些基本的運算和邏輯操作。並內置了一些基本的指標和操作命令
打開MT4軟體的MetaEditor編輯器,選擇新建-智能交易系統,就可以開始開發自己的EA了。MQL4語言的基本語法類似於C語言,MetaEditor內含詳細的幫助文件,可以幫助開發者正確地使用各種交易函數和操作指令。開發完成後需要進行編譯和歷史回測,並對EA的參數設置等進行不斷優化,對EA的風險進行准確的評估之後再用於實盤賬戶運行。

J. MT4編譯成功但無法生成ex4文件!

因為你的源代碼是反編譯的,也就是說是破解版的源代碼,MetaTrader公司升級了MQL4的編譯器,加強了反破解.所有破解而來的源代碼能通過編譯,但是不能生成新的ex4.

閱讀全文

與mql4app源碼相關的資料

熱點內容
找漫畫看應該下載什麼app 瀏覽:182
如何在vps上搭建自己的代理伺服器 瀏覽:744
nginxphp埠 瀏覽:403
內臟pdf 瀏覽:152
怎麼看雲伺服器架構 瀏覽:85
我的世界國際服為什麼登不進伺服器 瀏覽:996
微盟程序員老婆 瀏覽:930
intellij創建java 瀏覽:110
java連接odbc 瀏覽:38
啟動修復無法修復電腦命令提示符 瀏覽:359
手機編程是什麼 瀏覽:98
山東移動程序員 瀏覽:163
蘇州java程序員培訓學校 瀏覽:479
單片機液晶驅動 瀏覽:856
魔拆app里能拆到什麼 瀏覽:132
新預演算法的立法理念 瀏覽:144
wdcpphp的路徑 瀏覽:136
單片機p0口電阻 瀏覽:926
瀏覽器中調簡訊文件夾 瀏覽:595
五菱宏光空調壓縮機 瀏覽:70