鋪價下單簡易說明
在此說明中我們一樣使用class CTrade來完成交易,並且設定送單後,將原委託價格減少200 tick,再送單直到滿足條件(筆數)
標準庫的名稱:#include <Trade\OrderInfo.mqh>
交易請求範例:
CTrade m_Trade;
m_Trade.Sell(lot,symbol_name,price,sl,tp,comment);
本次多使用IsStopped函數,並且設定迴圈滿足鋪價筆數時,執行IsStopped函數
IsStopped函數說明如下
如果系统變數返回true,非零值錄入_StopFlag,如果MQL5程序命令完成操作,在此情况下,
必須立即终止程序,否則系统在3秒後從外部强制完成
範例程式碼如下
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#include <Trade\Trade.mqh>
input double ST=4;//設定鋪價筆數
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
CTrade m_Trade;
string AUDCHF;
MqlTick last_tick;
double S_Price=0.72800;
if (SymbolInfoTick(AUDCHF,last_tick))
{
if(last_tick.bid<0.73500)
{
for(int j=0; j<=ST && !IsStopped(); j++)
{
m_Trade.BuyLimit(0.01,S_Price);
printf("送出委託");
S_Price=S_Price-0.00200;//委託送出後再將原本價格減200tick後再送單
}
}
}
return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason)
{
}
void OnTick()
{
}
留言列表