小飞鱼20123 发表于 2023-9-7 15:36:56

求MT4的赢利变亏损即平仓的代码!

    哪位兄弟可以提供一下代码,我的设想是,当开仓后赢利达到一定数额的美元,然后又变成亏损时自动平仓。我自己弄了几次都没有执行,多谢了!

WA263222 发表于 2023-9-7 15:36:57

//--------------------------
      
      static int 开启=0;
      
      if(保护开关==true)
         {
            if(AllProfit_1>保护启动金额 )
               {
               开启=1;
               }
            
            if(开启==1 && AllProfit_1<=保护金额 )
            {
                平仓();
            }
            
            if( BuyVol_1+SelVol_1==0)
            {
                开启=0;
            }
         }
      
      //--------------------------
void 平仓()
{
    for(int i=OrdersTotal()-1; i>=0; i--)
      {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true&&OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic_1)
         {
            if(OrderType()==0)
            {
               if(!OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),500,0))
               {
                  Print("订单号为",OrderTicket(),"平仓失败",GetLastError());
               }
            }
            if(OrderType()==1)
            {
               if(!OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),500,0))
               {
                  Print("订单号为",OrderTicket(),"平仓失败",GetLastError());
               }
            }
            if(OrderType()>1)
            {
               if(!OrderDelete(OrderTicket(),0))
               {
                  Print("订单号为",OrderTicket(),"平仓失败",GetLastError());
               }
            }
         }
      }
   
}

WA263222 发表于 2023-9-7 16:50:15

这个多简单啊,移动止损启动保本点啊

小飞鱼20123 发表于 2023-9-8 10:08:46

多谢指点,我原来也是这个思路,就是没成功,刚刚测试可以了,谢谢!
static int 开启=0;
      double AllProfit_1=OrderProfit();
      
      if(保护开关==true)
         {
            if(AllProfit_1>保护启动金额 )
               {
               开启=1;
               }
            
            if(开启==1 && AllProfit_1<=保护金额 )
            {
                CloseALL();
                开启=0;
            }
            
         // if( buys+sells==0)
         //   {
         //   开启=0;
         //   }
         }

WA263222 发表于 2023-9-8 12:53:31

嗯,有好的思路互相交流

大军 发表于 2023-10-21 18:31:42

谢谢

老虎要发威 发表于 2024-1-1 13:00:36

{:1_194:}
页: [1]
查看完整版本: 求MT4的赢利变亏损即平仓的代码!