MT5基础知识

获取账户相关信息 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
printf ( "ACCOUNT_BALANCE =  %G" ,AccountInfoDouble(ACCOUNT_BALANCE));
    printf ( "ACCOUNT_CREDIT =  %G" ,AccountInfoDouble(ACCOUNT_CREDIT));
    printf ( "ACCOUNT_PROFIT =  %G" ,AccountInfoDouble(ACCOUNT_PROFIT));
    printf ( "ACCOUNT_EQUITY =  %G" ,AccountInfoDouble(ACCOUNT_EQUITY));
    printf ( "ACCOUNT_MARGIN =  %G" ,AccountInfoDouble(ACCOUNT_MARGIN));
    printf ( "ACCOUNT_FREEMARGIN =  %G" ,AccountInfoDouble(ACCOUNT_FREEMARGIN));
    printf ( "ACCOUNT_MARGIN_LEVEL =  %G" ,AccountInfoDouble(ACCOUNT_MARGIN_LEVEL));
    printf ( "ACCOUNT_MARGIN_SO_CALL = %G" ,AccountInfoDouble(ACCOUNT_MARGIN_SO_CALL));
    printf ( "ACCOUNT_MARGIN_SO_SO = %G" ,AccountInfoDouble(ACCOUNT_MARGIN_SO_SO));
 
 
printf ( "ACCOUNT_LOGIN =  %d" ,AccountInfoInteger(ACCOUNT_LOGIN));
    printf ( "ACCOUNT_LEVERAGE =  %d" ,AccountInfoInteger(ACCOUNT_LEVERAGE));
    bool  thisAccountTradeAllowed=AccountInfoInteger(ACCOUNT_TRADE_ALLOWED);
    bool  EATradeAllowed=AccountInfoInteger(ACCOUNT_TRADE_EXPERT);
    ENUM_ACCOUNT_TRADE_MODE tradeMode=(ENUM_ACCOUNT_TRADE_MODE)AccountInfoInteger(ACCOUNT_TRADE_MODE);
    ENUM_ACCOUNT_STOPOUT_MODE stopOutMode=(ENUM_ACCOUNT_STOPOUT_MODE)AccountInfoInteger(ACCOUNT_MARGIN_SO_MODE);
 
 
 
    Print( "The name of the broker = " ,AccountInfoString(ACCOUNT_COMPANY));
    Print( "Deposit currency = " ,AccountInfoString(ACCOUNT_CURRENCY));
    Print( "Client name = " ,AccountInfoString(ACCOUNT_NAME));
    Print( "The name of the trade server = " ,AccountInfoString(ACCOUNT_SERVER));

 

Bar 向前 的值 可以通过 Copytime  什么的 进行 操作 

 

获取  iMA的 值

1
2
3
double  aaa[];
    int  handle = iMA(Symbol(),PERIOD_H1,60,0,MODE_SMA,PRICE_CLOSE);
    CopyBuffer(handle,0,0,2,aaa);

 

开仓 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    if (!PositionSelect(_Symbol))
    {
 
             MqlTradeRequest request={0};
          request.action=TRADE_ACTION_DEAL;          // 设置挂单
          request.magic=1000;                   // ORDER_MAGIC
          request.symbol=_Symbol;                       // 交易品种
          request.volume=0.1;                           // 0.1为单位的交易量
          request.sl=1.09;                                 // 没有指定止损价位
          request.tp=1.1;                                 // 没有指定盈利价位
       //--- 形成订单类型
          request.type=ORDER_TYPE_BUY;                 // 订单类型
       //--- 形成挂单价格
          request.price=SymbolInfoDouble(_Symbol,SYMBOL_ASK);   // 开盘价
          Print(SYMBOL_ASK);
       //--- 发送交易请求
          MqlTradeResult result={0};
          OrderSend(request,result);
Print(__FUNCTION__, ": " ,result.comment, " reply code " ,result.retcode);
 
 
 
 
    }



修改止损止盈 

1
2
3
4
5
6
7
8
9
10
11
12
    if (PositionSelect(_Symbol))
    {
             MqlTradeRequest request={0};
          request.action=TRADE_ACTION_SLTP;          // 设置挂单
          request.sl=1.08;                                 // 没有指定止损价位
          request.tp=1.11;                                 // 没有指定盈利价位
          request.symbol = _Symbol ;
          MqlTradeResult result={0};
          OrderSend(request,result);
Print(__FUNCTION__, ": " ,result.comment, " reply code " ,result.retcode);
 
    }

 

平仓

1
2
3
4
5
6
7
8
9
10
11
12
13
14
    if (PositionSelect(_Symbol))
    {
             MqlTradeRequest request={0};
          request.action=TRADE_ACTION_DEAL;          // 设置挂单
          request.type =ORDER_TYPE_SELL;
          request.volume =PositionGetDouble(POSITION_VOLUME);
          request.price=SymbolInfoDouble(_Symbol,SYMBOL_BID);
 
          request.symbol = _Symbol ;
          MqlTradeResult result={0};
          OrderSend(request,result);
Print(__FUNCTION__, ": " ,result.comment, " reply code " ,result.retcode);
 
    }

 

挂单

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    if (!PositionSelect(_Symbol))
    {
             MqlTradeRequest request={0};
          request.action=TRADE_ACTION_PENDING;          // 设置挂单
          request.type =ORDER_TYPE_BUY_LIMIT;
          request.volume =0.1;
          request.price=1.09;
          request.sl = 1.08;
          request.tp = 1.1;
          request.symbol = _Symbol ;
          MqlTradeResult result={0};
          OrderSend(request,result);
Print(__FUNCTION__, ": " ,result.comment, " reply code " ,result.retcode);
 
    }

 

修改挂单

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    for ( int  i=0;i<OrdersTotal();i++)
    {
       long  tic = OrderGetTicket(i);
       MqlTradeRequest request={0};
          request.action=TRADE_ACTION_MODIFY;          // 设置挂单
    request.order = tic ;
    request.price=1.091;
    //止损 必须加 ,如果不加  则给你全部归零
          request.sl = 1.081;
          request.tp = 1.11;
          MqlTradeResult result={0};
          OrderSend(request,result);
Print(__FUNCTION__, ": " ,result.comment, " reply code " ,result.retcode);
 
 
 
 
 
    }

 

移除挂单

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    for ( int  i=0;i<OrdersTotal();i++)
    {
       long  tic = OrderGetTicket(i);
       MqlTradeRequest request={0};
          request.action=TRADE_ACTION_REMOVE;          // 设置挂单
    request.order = tic ;
    request.price=1.091;
    //止损 必须加 ,如果不加  则给你全部归零
          request.sl = 1.081;
          request.tp = 1.11;
          MqlTradeResult result={0};
          OrderSend(request,result);
Print(__FUNCTION__, ": " ,result.comment, " reply code " ,result.retcode);
 
 
 
 
 
    }

 

转载于:https://www.cnblogs.com/aliblogs/p/5493798.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值