小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

MT4智能交易 (程式的執(zhí)行)

 禁忌石 2018-06-24

在探討程序的時候可以拿一個簡單的EA可以拿來分析一下其執(zhí)行的步驟。這樣對EA的執(zhí)行會有一個更加明確的概念。 下面我就拿一個簡單的EA來分析一下它的執(zhí)行邏輯。EA程式:

//--------------------------------------------------------------------
int Count=0; // 整體變量
//--------------------------------------------------------------------
int init() // 特殊函數(shù) init()
{
Alert ("Function init() triggered at start"); // 警報
return; // 退出 init()

//--------------------------------------------------------------------
int start() // 特殊函數(shù) start()
{
double Price = Bid; // 局部變量
Count++; // Tick 計數(shù)器
Alert("New tick ",Count," Price = ",Price);// 警報
return; // 退出 start()
}
//--------------------------------------------------------------------
int deinit() // 特殊函數(shù) deinit()
{
Alert ("Function deinit() triggered at deinitialization"); // 警報
return; // 退出 deinit()
}
//--------------------------------------------------------------------

 

以上程式按照下列步驟運行:

 

1. 當EA附到圖表上之后,客戶終端將控制權(quán)傳給EA,然后EA開始運行。這個程式從頭部開始執(zhí)行。在這個程式的頭部只有一行:

int Count=0; // 整體變量

這一行的整體變量的值被定義為0。

 

2. 當程式頭部被執(zhí)行后,特殊函數(shù)init() 開始執(zhí)行:

int init() // 特殊函數(shù) init()
{
Alert ("Function init() triggered at start");// 警報
return; // 退出 init()
}

這個函數(shù)的主體包含了2個操作符。

2.1 函數(shù)Alert() 會展示一個窗口顯示:Function init() triggered at start

2.2 return操作符結(jié)束特殊函數(shù)init()的運行。

作為init()的運行的結(jié)果,一個警報將被顯示。但是在真實運用中,這種程序是很少見的。因為這個警報就是告知程序開始運行,沒有實際的用處。這里只是讓編程者看到特殊函數(shù)init()被執(zhí)行的結(jié)果。

 

3. 用戶終端探測到程式里的特殊函數(shù) start():

//--------------------------------------------------------------------
int start() // 特殊函數(shù) start()
{
double Price = Bid; // 局部變量
Count++; // Tick 計數(shù)器
Alert("New tick ",Count," Price = ",Price);// 警報
return; // 退出 start()
}
//--------------------------------------------------------------------

3.1 控制權(quán)在客戶終端;客戶終端等待新的即時價位的信息。當新的即時價位信息傳到客戶終端之前,start()函數(shù)不會被運行。當客戶終端接收到新的價位后,控制被傳給程式,start()函數(shù)開始運行。

3.2 double Price = Bid; // 局部變量

以下步驟被執(zhí)行:
i. 局部變量 Price 被定義。這個局部變量的值將會在特殊函數(shù)start() 內(nèi)部有效。
ii. 賦值操作符被執(zhí)行。當前的Bid價位會被賦值到變量Price上。這個變量的值在新的價位進來后都會刷新一次。

3.3 下一行被執(zhí)行: Count++;

這個程序等同于 Count=Count+1; 當控制傳到這一行時,變量Count的值是0. 當Count++被執(zhí)行后,Count的值將會增加1. 所以當這一行被執(zhí)行后,Count的值將會變成1.

3.4 下一行包含Alert()函數(shù)調(diào)用: Alert("New tick ",Count," Price = ",Price);// 警報

這個函數(shù)會將所有在括號里的東西顯示出來。首先New tick將被顯示出來,然后變量Count的值(在第一次執(zhí)行的時候值為1);然后顯示Price,在顯示變量Price的值。所以最后顯示出來的東西為:New tick 1 Price = 1.2744

3.5 操作符 return; // 退出 start()

結(jié)束start()的運行退出。

3.6 控制重新回到客戶終端等待一個新的tick。

3.7 然后程序會開始不斷地重復(fù)。如果沒有人工介入,程序?qū)⒁恢边\行下去。其結(jié)果是我們將可以看到價位變化的tick歷史。

下一步將是用戶決定終止此程序然后強制把智能交易從圖表里移走。

 

4. 客戶端將控制轉(zhuǎn)到特殊函數(shù) deinit():

int deinit() // 特殊函數(shù) deinit()
{
Alert ("Function deinit() triggered at exit"); // 警報
return; // 退出 deinit()
}

上面有2個操作符在函數(shù)主體里。

4.1 Alert() 將會顯示:Function deinit() triggered at deinitialization

4.2 return操作符結(jié)束特殊操作符deinit()的運行。

特殊函數(shù) deinit() 只執(zhí)行一次操作。執(zhí)行后上面的信息會顯示在警報窗口然后這個EA會從圖表窗口移走。

 

5. EA結(jié)束執(zhí)行。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多