您现在的位置: 比特财富网 >> 财经 >  >> 外匯
外匯EA:簡單的訂單管理(三)
外_匯_邦 WaiHuiBang.com

  // 如果當前貨幣對沒有開倉倉位,忽略它
if ( OrderSymbol() != Symbol() ) continue;


// 如果MagicNumber 不等於 _MagicNumber,
// 忽略這個倉位
if ( OrderMagicNumber() != _MagicNumber ) continue;

// 取決於倉位類型,
// 改變變量值:

switch ( OrderType() )
{
case OP_BUY: BuyOrder = OrderTicket(); break;
case OP_SELL: SellOrder = OrderTicket(); break;
case OP_BUYSTOP: BuyStopOrder = OrderTicket(); break;
case OP_SELLSTOP: SellStopOrder = OrderTicket(); break;
}

}

//---- 如果我們有兩個掛單交易,退出
//---- 等待他們開啟
if ( BuyStopOrder > 0 && SellStopOrder > 0 ) return(0);

// 在全部定單中第二次搜索
// 現在運行它們:

_OrdersTotal = OrdersTotal();
for ( z = _OrdersTotal - 1; z >= 0; z -- )

{
// 如果在倉位搜索中生成錯誤,
// 轉至下一個倉位
if ( !OrderSelect( z, SELECT_BY_POS ) )

{
_GetLastError = GetLastError();
Print("OrderSelect(", z, ", SELECT_BY_POS) - 錯誤 #",
_GetLastError );
continue;
}


// 如果對於當前的貨幣對沒有開倉
// 忽略它
if ( OrderSymbol() != Symbol() ) continue;

// 如果 MagicNumber 不等於 _MagicNumber,
// 忽略這個倉位

if ( OrderMagicNumber() != _MagicNumber ) continue;

// 取決於倉位的類型,
// 改變變量值:

switch ( OrderType() )
{
//----如果BUY倉位開倉,
case OP_BUY:
{

// 如果 SellStop定單還沒有刪除,
// 刪除:
if ( SellStopOrder > 0 )
{

if ( !OrderDelete( SellStopOrder ) )
{

Alert(OrderDelete Error #", GetLastError());
return(-1);
}

}
// 檢測止損被移動:
// 如果追蹤止損的大小不是很小,
if(TrailingStop > MarketInfo( Symbol(), 

MODE_STOPLEVEL ) )
{
// 如果贏利點超過追蹤止損點,
if(NormalizeDouble( Bid - OrderOpenPrice(),
Digits ) >
NormalizeDouble(TrailingStop*Point, 

Digits ) )
{
// 如果新的止損水平超過當前倉位的水平
// (或者如果倉位沒有止損),
if(NormalizeDouble(Bid -
TrailingStop*Point, Digits ) >
OrderStopLoss() || OrderStopLoss() <=
0.0 )

{
//---- 修改定單
if(!OrderModify( OrderTicket(),
OrderOpenPrice(),
NormalizeDouble(Bid - 

TrailingStop*Point, Digits ),
OrderTakeProfit(), 
OrderExpiration()))

{
Alert("OrderModify 錯誤 #",
GetLastError());
return(-1);
}

}
}
}
// 如果沒有開倉倉位,退出
// 無事可做
return(0);
}

// 下一個單元格與BUY 倉位的單元個一樣
// 這就是我們不能在單元格上標注的原因...
case OP_SELL:
{
if ( BuyStopOrder > 0 )

{
if ( !OrderDelete( BuyStopOrder ) )

{
Alert("OrderDelete 錯誤 #",
GetLastError());
return(-1);
}

}
if(TrailingStop > MarketInfo( Symbol(), 
MODE_STOPLEVEL ) )

{
if(NormalizeDouble(OrderOpenPrice() - Ask,
Dig

外_匯_邦 WaiHuiBang.com
  • 易方達基金管理有限公司簡介

      易方達基金管理有限公司,中國十大基金管理公司,企業年金基金投資管理人資格企業,最佳持續回報基金公司,全國社會保障基金投資管理

  • 炒匯高手的投資技巧

    外_匯_邦 WaiHuiBang.com   外匯市場是個可以讓投機者賺大錢的地方,亦能夠提供令人輸

  • 外匯投資風險控制攻略

    外匯市場是一個風險很大的市場,它的風險主要在於決定外匯價格的變量太多。外匯行市的波動仍經常出乎投資者們的意外。很多投資者都知道從08年後,人

  • 平安i貸提現變成灰色了是什麼原因?

    最佳答案: 平安i貸提現按鈕變成灰色,說明你的征信不符合系統的要求所以不能借了。你要去看看自己的征信

  • 陽光護成人版投保規則有哪些?

    最佳答案: 陽光保險作為壽險老7家之一,在新定義規則下,推出了一款陽光護成人版,這款產品是由兩全險+

  風險提示:比特財富網的各種信息資料僅供參考,不構成任何投資建議,不對任何交易提供任何擔保,亦不構成任何邀約,不作為任何法律文件,投資人據此進行投資交易而產生的後果請自行承擔,本網站不承擔任何責任,理財有風險,投資需謹慎。
比特財富網 版權所有 © www.emoneybtc.com