论坛全局菜单下方 -  icmarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - TICKMILL 285X70
  • 1
  • 2
  • 3
  • 4
  • 5
前往
共 92 条
QLG
注册时间2017-10-29
[原创]希望2026马年大吉
发表于:2026-03-11 03:38只看该作者
81楼 电梯直达
电梯直达
贪婪恐惧 发表于 2026-03-11 09: 44

怎么弄的,学习一下。

叫AI帮你写代码

个性签名

韬客社区www.talkfx.co

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告
贪婪恐惧
注册时间2018-11-21
发表于:2026-03-11 03:40只看该作者
82楼

我还以为是小龙虾

QLG
注册时间2017-10-29
发表于:2026-03-11 03:45只看该作者
83楼

小龙虾可以直接代人交易了,只是你敢不敢给它干。哈哈

墨香悠然
注册时间2013-02-21
lenyou
注册时间2020-03-19
发表于:2026-03-12 02:41只看该作者
85楼
QLG 发表于 2026-03-11 11:45

小龙虾可以直接代人交易了,只是你敢不敢给它干。哈哈

要的token 可能比你交易赚的还多。。。

贪婪恐惧
注册时间2018-11-21
发表于:2026-03-12 03:17只看该作者
86楼
金山老鬼1201 发表于 2026-03-06 12: 37

https://man.talkfx.co/upload/upload/file/2026/03-06/1772771845284292490266.png

老铁们,这个面板怎么样  哈哈

老哥,这个非常管用,能不能把这个脚本给我。。。我上个月用AI摸索了很多遍,就是这个图标按钮找不到,后来放弃了。不管是脚本,还是指标都试过,最后卡在按钮上。如果不方便,麻烦告知一下,这个图标按钮怎么搞的

QLG
注册时间2017-10-29
发表于:2026-03-12 05:27只看该作者
88楼
贪婪恐惧 发表于 2026-03-12 11: 19

我只要一件平仓就行

用DS生成的一键平仓按钮:

//+------------------------------------------------------------------+
//|                                                  CloseButton.mq4 |
//|                                     Generated by AI Assistant    |
//+------------------------------------------------------------------+
#property strict
#property version   "1.00"

// 输入参数
input string ButtonSet = "----- 按钮设置 -----";   
input int    BtnX = 10;                              
input int    BtnY = 20;                              
input int    BtnWidth = 120;                          
input int    BtnHeight = 30;                          
input string BtnText = "一键平仓";                    
input color  BtnColor = clrRed;                       
input int    FontSize = 10;                           

input string CloseSet = "----- 平仓设置 -----";    
input bool   CloseAllPairs = true;                    
input bool   ShowConfirm = true;                      
input int    Slippage = 3;                            

// 全局变量
string btnName = "CloseButton";
int timerInterval = 1; // 1秒更新

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   // 创建按钮
   if(!ObjectCreate(0, btnName, OBJ_BUTTON, 0, 0, 0))
     {
      Print("按钮创建失败");
      return(INIT_FAILED);
     }
   
   // 设置按钮
   ObjectSetInteger(0, btnName, OBJPROP_XDISTANCE, BtnX);
   ObjectSetInteger(0, btnName, OBJPROP_YDISTANCE, BtnY);
   ObjectSetInteger(0, btnName, OBJPROP_XSIZE, BtnWidth);
   ObjectSetInteger(0, btnName, OBJPROP_YSIZE, BtnHeight);
   ObjectSetString(0, btnName, OBJPROP_TEXT, BtnText);
   ObjectSetInteger(0, btnName, OBJPROP_FONTSIZE, FontSize);
   ObjectSetInteger(0, btnName, OBJPROP_COLOR, clrWhite);
   ObjectSetInteger(0, btnName, OBJPROP_BGCOLOR, BtnColor);
   ObjectSetInteger(0, btnName, OBJPROP_BORDER_COLOR, clrBlack);
   
   // 启动定时器(每秒更新一次持仓信息)
   EventSetTimer(timerInterval);
   
   // 立即更新一次
   UpdateDisplay();
   
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   // 删除按钮和显示
   ObjectDelete(0, btnName);
   ObjectDelete(0, "Info1");
   ObjectDelete(0, "Info2");
   
   // 停止定时器
   EventKillTimer();
  }

//+------------------------------------------------------------------+
//| Expert timer function                                            |
//+------------------------------------------------------------------+
void OnTimer()
  {
   UpdateDisplay();
  }

//+------------------------------------------------------------------+
//| Chart event function                                             |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
  {
   if(id == CHARTEVENT_OBJECT_CLICK && sparam == btnName)
     {
      ObjectSetInteger(0, btnName, OBJPROP_STATE, false);
      ExecuteClose();
     }
  }

//+------------------------------------------------------------------+
//| 更新显示信息                                                     |
//+------------------------------------------------------------------+
void UpdateDisplay()
  {
   int total = OrdersTotal();
   int buyCount = 0, sellCount = 0;
   double profit = 0;
   
   for(int i = total-1; i >= 0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(!CloseAllPairs && OrderSymbol() != Symbol()) continue;
         
         if(OrderType() == OP_BUY) buyCount++;
         if(OrderType() == OP_SELL) sellCount++;
         profit += OrderProfit() + OrderSwap() + OrderCommission();
        }
     }
   
   // 创建信息显示
   string info1 = "持仓: " + IntegerToString(buyCount+sellCount) + 
                  " (↑" + IntegerToString(buyCount) + 
                  " ↓" + IntegerToString(sellCount) + ")";
   
   if(ObjectFind(0, "Info1") < 0)
      ObjectCreate(0, "Info1", OBJ_LABEL, 0, 0, 0);
   
   ObjectSetInteger(0, "Info1", OBJPROP_XDISTANCE, BtnX);
   ObjectSetInteger(0, "Info1", OBJPROP_YDISTANCE, BtnY + BtnHeight + 5);
   ObjectSetString(0, "Info1", OBJPROP_TEXT, info1);
   ObjectSetInteger(0, "Info1", OBJPROP_COLOR, clrWhite);
   ObjectSetInteger(0, "Info1", OBJPROP_FONTSIZE, 9);
   
   // 显示盈亏
   if(total > 0)
     {
      string info2 = "盈亏: $" + DoubleToString(profit, 2);
      color clr = (profit >= 0) ? clrLime : clrRed;
      
      if(ObjectFind(0, "Info2") < 0)
         ObjectCreate(0, "Info2", OBJ_LABEL, 0, 0, 0);
      
      ObjectSetInteger(0, "Info2", OBJPROP_XDISTANCE, BtnX);
      ObjectSetInteger(0, "Info2", OBJPROP_YDISTANCE, BtnY + BtnHeight + 20);
      ObjectSetString(0, "Info2", OBJPROP_TEXT, info2);
      ObjectSetInteger(0, "Info2", OBJPROP_COLOR, clr);
      ObjectSetInteger(0, "Info2", OBJPROP_FONTSIZE, 9);
     }
   else
     {
      ObjectDelete(0, "Info2");
     }
     
   ChartRedraw(0);
  }

//+------------------------------------------------------------------+
//| 执行平仓                                                         |
//+------------------------------------------------------------------+
void ExecuteClose()
  {
   // 统计订单
   int buyCount=0, sellCount=0;
   double profit=0;
   int totalOrders=0;
   
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(!CloseAllPairs && OrderSymbol() != Symbol()) continue;
         totalOrders++;
         if(OrderType()==OP_BUY) buyCount++;
         if(OrderType()==OP_SELL) sellCount++;
         profit += OrderProfit()+OrderSwap()+OrderCommission();
        }
     }
   
   if(totalOrders == 0)
     {
      MessageBox("当前没有持仓", "提示", MB_OK);
      return;
     }
   
   // 确认对话框
   if(ShowConfirm)
     {
      string msg = "确认平仓?\n";
      msg += "买单: " + IntegerToString(buyCount) + "\n";
      msg += "卖单: " + IntegerToString(sellCount) + "\n";
      msg += "盈亏: $" + DoubleToString(profit,2);
      
      if(MessageBox(msg, "确认", MB_YESNO) != IDYES)
         return;
     }
   
   // 执行平仓
   int success=0, fail=0;
   
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(!CloseAllPairs && OrderSymbol() != Symbol()) continue;
         
         RefreshRates();
         double price = (OrderType()==OP_BUY) ? Bid : Ask;
         
         if(OrderClose(OrderTicket(), OrderLots(), price, Slippage, clrNONE))
            success++;
         else
            fail++;
        }
     }
   
   MessageBox("平仓完成\n成功: " + IntegerToString(success) + 
              "\n失败: " + IntegerToString(fail), "结果", MB_OK);
   
   UpdateDisplay();
  }
//+------------------------------------------------------------------+


贪婪恐惧
注册时间2018-11-21
发表于:2026-03-12 06:34只看该作者
89楼
QLG 发表于 2026-03-12 13: 27

用DS生成的一键平仓按钮:

//+------------------------------------------------------------------+
//|                                                  CloseButton.mq4 |
//|                                     Generated by AI Assistant    |
//+------------------------------------------------------------------+
#property strict
#property version   "1.00"

// 输入参数
input string ButtonSet = "----- 按钮设置 -----";   
input int    BtnX = 10;                              
input int    BtnY = 20;                              
input int    BtnWidth = 120;                          
input int    BtnHeight = 30;                          
input string BtnText = "一键平仓";                    
input color  BtnColor = clrRed;                       
input int    FontSize = 10;                           

input string CloseSet = "----- 平仓设置 -----";    
input bool   CloseAllPairs = true;                    
input bool   ShowConfirm = true;                      
input int    Slippage = 3;                            

// 全局变量
string btnName = "CloseButton";
int timerInterval = 1; // 1秒更新

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   // 创建按钮
   if(!ObjectCreate(0, btnName, OBJ_BUTTON, 0, 0, 0))
     {
      Print("按钮创建失败");
      return(INIT_FAILED);
     }
   
   // 设置按钮
   ObjectSetInteger(0, btnName, OBJPROP_XDISTANCE, BtnX);
   ObjectSetInteger(0, btnName, OBJPROP_YDISTANCE, BtnY);
   ObjectSetInteger(0, btnName, OBJPROP_XSIZE, BtnWidth);
   ObjectSetInteger(0, btnName, OBJPROP_YSIZE, BtnHeight);
   ObjectSetString(0, btnName, OBJPROP_TEXT, BtnText);
   ObjectSetInteger(0, btnName, OBJPROP_FONTSIZE, FontSize);
   ObjectSetInteger(0, btnName, OBJPROP_COLOR, clrWhite);
   ObjectSetInteger(0, btnName, OBJPROP_BGCOLOR, BtnColor);
   ObjectSetInteger(0, btnName, OBJPROP_BORDER_COLOR, clrBlack);
   
   // 启动定时器(每秒更新一次持仓信息)
   EventSetTimer(timerInterval);
   
   // 立即更新一次
   UpdateDisplay();
   
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   // 删除按钮和显示
   ObjectDelete(0, btnName);
   ObjectDelete(0, "Info1");
   ObjectDelete(0, "Info2");
   
   // 停止定时器
   EventKillTimer();
  }

//+------------------------------------------------------------------+
//| Expert timer function                                            |
//+------------------------------------------------------------------+
void OnTimer()
  {
   UpdateDisplay();
  }

//+------------------------------------------------------------------+
//| Chart event function                                             |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
  {
   if(id == CHARTEVENT_OBJECT_CLICK && sparam == btnName)
     {
      ObjectSetInteger(0, btnName, OBJPROP_STATE, false);
      ExecuteClose();
     }
  }

//+------------------------------------------------------------------+
//| 更新显示信息                                                     |
//+------------------------------------------------------------------+
void UpdateDisplay()
  {
   int total = OrdersTotal();
   int buyCount = 0, sellCount = 0;
   double profit = 0;
   
   for(int i = total-1; i >= 0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(!CloseAllPairs && OrderSymbol() != Symbol()) continue;
         
         if(OrderType() == OP_BUY) buyCount++;
         if(OrderType() == OP_SELL) sellCount++;
         profit += OrderProfit() + OrderSwap() + OrderCommission();
        }
     }
   
   // 创建信息显示
   string info1 = "持仓: " + IntegerToString(buyCount+sellCount) + 
                  " (↑" + IntegerToString(buyCount) + 
                  " ↓" + IntegerToString(sellCount) + ")";
   
   if(ObjectFind(0, "Info1") < 0)
      ObjectCreate(0, "Info1", OBJ_LABEL, 0, 0, 0);
   
   ObjectSetInteger(0, "Info1", OBJPROP_XDISTANCE, BtnX);
   ObjectSetInteger(0, "Info1", OBJPROP_YDISTANCE, BtnY + BtnHeight + 5);
   ObjectSetString(0, "Info1", OBJPROP_TEXT, info1);
   ObjectSetInteger(0, "Info1", OBJPROP_COLOR, clrWhite);
   ObjectSetInteger(0, "Info1", OBJPROP_FONTSIZE, 9);
   
   // 显示盈亏
   if(total > 0)
     {
      string info2 = "盈亏: $" + DoubleToString(profit, 2);
      color clr = (profit >= 0) ? clrLime : clrRed;
      
      if(ObjectFind(0, "Info2") < 0)
         ObjectCreate(0, "Info2", OBJ_LABEL, 0, 0, 0);
      
      ObjectSetInteger(0, "Info2", OBJPROP_XDISTANCE, BtnX);
      ObjectSetInteger(0, "Info2", OBJPROP_YDISTANCE, BtnY + BtnHeight + 20);
      ObjectSetString(0, "Info2", OBJPROP_TEXT, info2);
      ObjectSetInteger(0, "Info2", OBJPROP_COLOR, clr);
      ObjectSetInteger(0, "Info2", OBJPROP_FONTSIZE, 9);
     }
   else
     {
      ObjectDelete(0, "Info2");
     }
     
   ChartRedraw(0);
  }

//+------------------------------------------------------------------+
//| 执行平仓                                                         |
//+------------------------------------------------------------------+
void ExecuteClose()
  {
   // 统计订单
   int buyCount=0, sellCount=0;
   double profit=0;
   int totalOrders=0;
   
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(!CloseAllPairs && OrderSymbol() != Symbol()) continue;
         totalOrders++;
         if(OrderType()==OP_BUY) buyCount++;
         if(OrderType()==OP_SELL) sellCount++;
         profit += OrderProfit()+OrderSwap()+OrderCommission();
        }
     }
   
   if(totalOrders == 0)
     {
      MessageBox("当前没有持仓", "提示", MB_OK);
      return;
     }
   
   // 确认对话框
   if(ShowConfirm)
     {
      string msg = "确认平仓?\n";
      msg += "买单: " + IntegerToString(buyCount) + "\n";
      msg += "卖单: " + IntegerToString(sellCount) + "\n";
      msg += "盈亏: $" + DoubleToString(profit,2);
      
      if(MessageBox(msg, "确认", MB_YESNO) != IDYES)
         return;
     }
   
   // 执行平仓
   int success=0, fail=0;
   
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(!CloseAllPairs && OrderSymbol() != Symbol()) continue;
         
         RefreshRates();
         double price = (OrderType()==OP_BUY) ? Bid : Ask;
         
         if(OrderClose(OrderTicket(), OrderLots(), price, Slippage, clrNONE))
            success++;
         else
            fail++;
        }
     }
   
   MessageBox("平仓完成\n成功: " + IntegerToString(success) + 
              "\n失败: " + IntegerToString(fail), "结果", MB_OK);
   
   UpdateDisplay();
  }
//+------------------------------------------------------------------+


非常感谢。我刚才试过了,这个一键平仓的脚本,在电脑图表左上角,红色的按钮,点击后,还有一个确认选项,确认后方可平仓该图表的货币对。这个与我的盯盘EA只能选一个运行。我研究一下看能不能同时运行,给整合到我盯盘EA中,我再研究一下。

贪婪恐惧
注册时间2018-11-21
发表于:2026-03-12 08:05只看该作者
90楼
QLG 发表于 2026-03-12 13: 27

用DS生成的一键平仓按钮:

//+------------------------------------------------------------------+
//|                                                  CloseButton.mq4 |
//|                                     Generated by AI Assistant    |
//+------------------------------------------------------------------+
#property strict
#property version   "1.00"

// 输入参数
input string ButtonSet = "----- 按钮设置 -----";   
input int    BtnX = 10;                              
input int    BtnY = 20;                              
input int    BtnWidth = 120;                          
input int    BtnHeight = 30;                          
input string BtnText = "一键平仓";                    
input color  BtnColor = clrRed;                       
input int    FontSize = 10;                           

input string CloseSet = "----- 平仓设置 -----";    
input bool   CloseAllPairs = true;                    
input bool   ShowConfirm = true;                      
input int    Slippage = 3;                            

// 全局变量
string btnName = "CloseButton";
int timerInterval = 1; // 1秒更新

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   // 创建按钮
   if(!ObjectCreate(0, btnName, OBJ_BUTTON, 0, 0, 0))
     {
      Print("按钮创建失败");
      return(INIT_FAILED);
     }
   
   // 设置按钮
   ObjectSetInteger(0, btnName, OBJPROP_XDISTANCE, BtnX);
   ObjectSetInteger(0, btnName, OBJPROP_YDISTANCE, BtnY);
   ObjectSetInteger(0, btnName, OBJPROP_XSIZE, BtnWidth);
   ObjectSetInteger(0, btnName, OBJPROP_YSIZE, BtnHeight);
   ObjectSetString(0, btnName, OBJPROP_TEXT, BtnText);
   ObjectSetInteger(0, btnName, OBJPROP_FONTSIZE, FontSize);
   ObjectSetInteger(0, btnName, OBJPROP_COLOR, clrWhite);
   ObjectSetInteger(0, btnName, OBJPROP_BGCOLOR, BtnColor);
   ObjectSetInteger(0, btnName, OBJPROP_BORDER_COLOR, clrBlack);
   
   // 启动定时器(每秒更新一次持仓信息)
   EventSetTimer(timerInterval);
   
   // 立即更新一次
   UpdateDisplay();
   
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   // 删除按钮和显示
   ObjectDelete(0, btnName);
   ObjectDelete(0, "Info1");
   ObjectDelete(0, "Info2");
   
   // 停止定时器
   EventKillTimer();
  }

//+------------------------------------------------------------------+
//| Expert timer function                                            |
//+------------------------------------------------------------------+
void OnTimer()
  {
   UpdateDisplay();
  }

//+------------------------------------------------------------------+
//| Chart event function                                             |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
  {
   if(id == CHARTEVENT_OBJECT_CLICK && sparam == btnName)
     {
      ObjectSetInteger(0, btnName, OBJPROP_STATE, false);
      ExecuteClose();
     }
  }

//+------------------------------------------------------------------+
//| 更新显示信息                                                     |
//+------------------------------------------------------------------+
void UpdateDisplay()
  {
   int total = OrdersTotal();
   int buyCount = 0, sellCount = 0;
   double profit = 0;
   
   for(int i = total-1; i >= 0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(!CloseAllPairs && OrderSymbol() != Symbol()) continue;
         
         if(OrderType() == OP_BUY) buyCount++;
         if(OrderType() == OP_SELL) sellCount++;
         profit += OrderProfit() + OrderSwap() + OrderCommission();
        }
     }
   
   // 创建信息显示
   string info1 = "持仓: " + IntegerToString(buyCount+sellCount) + 
                  " (↑" + IntegerToString(buyCount) + 
                  " ↓" + IntegerToString(sellCount) + ")";
   
   if(ObjectFind(0, "Info1") < 0)
      ObjectCreate(0, "Info1", OBJ_LABEL, 0, 0, 0);
   
   ObjectSetInteger(0, "Info1", OBJPROP_XDISTANCE, BtnX);
   ObjectSetInteger(0, "Info1", OBJPROP_YDISTANCE, BtnY + BtnHeight + 5);
   ObjectSetString(0, "Info1", OBJPROP_TEXT, info1);
   ObjectSetInteger(0, "Info1", OBJPROP_COLOR, clrWhite);
   ObjectSetInteger(0, "Info1", OBJPROP_FONTSIZE, 9);
   
   // 显示盈亏
   if(total > 0)
     {
      string info2 = "盈亏: $" + DoubleToString(profit, 2);
      color clr = (profit >= 0) ? clrLime : clrRed;
      
      if(ObjectFind(0, "Info2") < 0)
         ObjectCreate(0, "Info2", OBJ_LABEL, 0, 0, 0);
      
      ObjectSetInteger(0, "Info2", OBJPROP_XDISTANCE, BtnX);
      ObjectSetInteger(0, "Info2", OBJPROP_YDISTANCE, BtnY + BtnHeight + 20);
      ObjectSetString(0, "Info2", OBJPROP_TEXT, info2);
      ObjectSetInteger(0, "Info2", OBJPROP_COLOR, clr);
      ObjectSetInteger(0, "Info2", OBJPROP_FONTSIZE, 9);
     }
   else
     {
      ObjectDelete(0, "Info2");
     }
     
   ChartRedraw(0);
  }

//+------------------------------------------------------------------+
//| 执行平仓                                                         |
//+------------------------------------------------------------------+
void ExecuteClose()
  {
   // 统计订单
   int buyCount=0, sellCount=0;
   double profit=0;
   int totalOrders=0;
   
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(!CloseAllPairs && OrderSymbol() != Symbol()) continue;
         totalOrders++;
         if(OrderType()==OP_BUY) buyCount++;
         if(OrderType()==OP_SELL) sellCount++;
         profit += OrderProfit()+OrderSwap()+OrderCommission();
        }
     }
   
   if(totalOrders == 0)
     {
      MessageBox("当前没有持仓", "提示", MB_OK);
      return;
     }
   
   // 确认对话框
   if(ShowConfirm)
     {
      string msg = "确认平仓?\n";
      msg += "买单: " + IntegerToString(buyCount) + "\n";
      msg += "卖单: " + IntegerToString(sellCount) + "\n";
      msg += "盈亏: $" + DoubleToString(profit,2);
      
      if(MessageBox(msg, "确认", MB_YESNO) != IDYES)
         return;
     }
   
   // 执行平仓
   int success=0, fail=0;
   
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(!CloseAllPairs && OrderSymbol() != Symbol()) continue;
         
         RefreshRates();
         double price = (OrderType()==OP_BUY) ? Bid : Ask;
         
         if(OrderClose(OrderTicket(), OrderLots(), price, Slippage, clrNONE))
            success++;
         else
            fail++;
        }
     }
   
   MessageBox("平仓完成\n成功: " + IntegerToString(success) + 
              "\n失败: " + IntegerToString(fail), "结果", MB_OK);
   
   UpdateDisplay();
  }
//+------------------------------------------------------------------+


调试好了,一键平仓整合到我的盯盘EA了。感觉很方便。单子也解套了。

hetod
注册时间2012-06-07
捐赠爱心基金前十名
发表于:2026-03-12 11:10只看该作者
91楼

这个好啊感谢提供的代码

墨香悠然
注册时间2013-02-21
发表于:2026-03-12 12:56只看该作者
92楼
lenyou 发表于 2026-03-12 10: 41

要的token 可能比你交易赚的还多。。。

现在都是ai 的时代了

  • 1
  • 2
  • 3
  • 4
  • 5
前往
共 92 条

本站免责声明:

1、本站所有广告及宣传信息均与韬客无关,如需投资请依法自行决定是否投资、斟酌资金安全及交易亏损风险;

2、韬客是独立的、仅为投资者提供交流的平台,网友发布信息不代表韬客的观点与意思表示,所有因网友发布的信息而造成的任何法律后果、风险与责任,均与韬客无关;

3、金融交易存在极高法律风险,未必适合所有投资者,请不要轻信任何高额投资收益的诱导而贸然投资;投资保证金交易导致的损失可能超过您投入的资金和预期。请您考虑自身的投资经验及风险承担能力,进行合法、理性投资;

4、所有投资者的交易帐户应仅限本人使用,不应交由第三方操作,对于任何接受第三方喊单、操盘、理财等操作的投资和交易,由此导致的任何风险、亏损及责任由投资者个人自行承担;

5、韬客不隶属于任何券商平台,亦不受任何第三方控制,韬客不邀约客户投资任何保证金交易,不接触亦不涉及投资者的任何资金及账户信息,不代理任何交易操盘行为,不向客户推荐任何券商平台,亦不存在其他任何推荐行为。投资者应自行选择券商平台,券商平台的任何行为均与韬客无关。投资者注册及使用韬客即表示其接受和认可上述声明,并自行承担法律风险。

版权所有:韬客外汇论坛 www.talkfx.com 联络我们:[email protected]