[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 564

 

我已经给了你从图表中删除exp的代码。由于(每个图表)只能有一个,用自己的句柄调用这个函数将导致exp自我删除。

 
FAQ:


......给自己下命令,让自己被免职


谢谢,这很有效。

P.S. 。

#include <WinUser32.mqh>
 
不言而喻。当使用导入的函数 时,记得要从相关的应用程序中连接导出。
 
帮助,为什么它不工作?

谢谢你。

//-----
  static bool First = true;
  static int PreOrdersTotal = 0;
  int NowOrdersTotal = CountTrades();
  if(First)
  {
    PreOrdersTotal = NowOrdersTotal;
    First = false;
    return(0);
  }
  if(UseSound == true && NowOrdersTotal < PreOrdersTotal) {PlaySound(CloseSound);}
  PreOrdersTotal = NowOrdersTotal;
//-----

 
FAQ:

关闭你的窗口,给自己一个删除的命令...

PostMessageA(WindowHandle(Symbol(),Period()), WM_COMMAND, 33050, 0);

所以,MQL4并没有提供一个标准的方式来终止专家顾问。只有通过直接使用Win32 API。

明白了,谢谢。

 
takeda:

所以,MQL4没有提供一个标准的方法来终止专家顾问。只能通过直接使用Win32 API。

我明白了,谢谢你。

图书馆。有很多对MT4管理有用的功能。包括删除专家顾问是有的。
 
Zhunko:
图书馆有很多对MT4管理有用的功能。包删除专家顾问在那里

看了一下(到目前为止是粗略的)。精彩的图书馆!

谢谢你!

 

下午好。

订单修改部分有效,请帮助我找出问题所在。

附上代码和日志。我在日志中写下了哪些是有效的,哪些是无效的.....。

void AllSellLockBuyModifi()
{
 double sell_sl = 0.0;
 double sell_tp = NormalizeDouble((AllAvP()-TakeProfit*Point),Digits);
 int spread = MarketInfo(Symbol(),MODE_SPREAD);
 double lock_buy_tp = NormalizeDouble((LastSellLockBuyAvP()+TakeProfit*Point),Digits);
 double last_sell_sl = NormalizeDouble((lock_buy_tp+spread*Point),Digits);
 double lock_buy_sl = NormalizeDouble((sell_tp-spread*Point),Digits);     
 Print("AllAvP = ",AllAvP()," sell_tp = ",sell_tp," lock_buy_tp = ",lock_buy_tp," last_sell_sl = ",last_sell_sl," lock_buy_sl = ",lock_buy_sl);
 for (int i = 0; i <= OrdersTotal(); i++)
    {
     OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol()!=Symbol())continue;
     if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
     if (OrderType()==OP_SELL)
       {Print("Find Sell Order");
        if (OrderOpenPrice()==!LastSellPrice()) sell_sl = 0;
        if (OrderOpenPrice()==LastSellPrice()) sell_sl = last_sell_sl;
        Print("Мод-ция ордера SELL № ",OrderTicket());
        OrderModify (OrderTicket(),OrderOpenPrice(),sell_sl,sell_tp,0,CLR_NONE);
        error=GetLastError();
        if (error != 0) Print("Мод-ция ордера SELL № ",OrderTicket()," ошибка № ",error);
       }         
         else 
             { Print("Find BUY Order");       
              if (OrderType()==OP_BUY)
                {
                 Print("Мод-ция ордера LOCK BUY");
                 OrderModify (OrderTicket(),OrderOpenPrice(),lock_buy_sl,lock_buy_tp,0,CLR_NONE);
                 error=GetLastError();
                 if (error != 0) Print("Мод-ция ордера LOCK BUY № ",OrderTicket()," ошибка № ",error);
                }
             }
    }
 return(0);
}
附加的文件:
log.txt  4 kb
 
TEXX:

下午好。

订单修改部分有效,请帮助我找出问题所在。

附上代码和日志。在日志中,我写下了哪些工作和哪些不工作.....。


首先,纠正这几句话。

for (int i = 0; i <= OrdersTotal(); i++)
    {
     OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

对这些。

for (int i = 0; i < OrdersTotal(); i++)
   if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
    {
 
PapaYozh:


首先,纠正这几句话。

对这些。


没有帮助...