[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 414

 
试图把它放在我的位置上,它也很慢。从未从它那里看到任何东西,我只得到了Metatrader。
 
Sepulca:

我确切地告诉你,他们正好有80人。而sss2019的参数都是正确的。但这个有这么多参数的野生指标是什么呢?

这就是问题所在,它是正确的,但它仍然是一个错误。
 

写了一份修改的命令。当价格达到时,将止损点移至开盘价位。错误130 出来了,我不明白哪里出了问题,我以前可以写追踪订单...

if (UseTrailing)
{ 
  for (int trall=0; trall<OrdersTotal(); trall++) 
  {
    if (!(OrderSelect(trall, SELECT_BY_POS, MODE_TRADES))) continue;
    if (OrderSymbol()!=Symb)continue;        
 
    if (Tip==0 && top!=1) 
       {
        RefreshRates();
        SLM=OrderOpenPrice();
        if (Bid-OrderOpenPrice() > WithoutLoss*Point   ) 
           {
           if (OrderStopLoss() < Bid-WithoutLoss*Point) 
              {
              OrderModify(Ticket_B, OrderOpenPrice(), OrderOpenPrice(), OrderTakeProfit(), 0, Blue);
              top=1;
               }
         if (Fun_Error(GetLastError())==1)      // Обработка ошибок
         continue;                              // Повторная попытка
         return;                                // Выход из start()

            }
        }
 
    if (Tip==1 && top!=2) 
       {
        RefreshRates();
        SLM=OrderOpenPrice();
       if ( OrderOpenPrice()-Ask > WithoutLoss*Point) 
          {
          if (OrderStopLoss() > Ask+WithoutLoss*Point) 
             {
              OrderModify(Ticket_S, OrderOpenPrice(), OrderOpenPrice(), OrderTakeProfit(), 0, Blue);
              top=2;
              }
         if (Fun_Error(GetLastError())==1)      // Обработка ошибок
         continue;                              // Повторная попытка
         return;                                // Выход из start()

           }
         }
 
Egori4:

写了一份修改的命令。当价格达到时,将止损点移至开盘价位。错误130出来了,我不明白哪里出了问题,我以前可以写追踪订单...

你在所有订单上循环工作,但有一个特定的变量Tip从未改变,没有人知道它等于什么。另外,你分析了一个订单,并修改了一个完全不同的订单,票据分别存储在Ticket_B或Ticket_S变量中。
 
ilunga:
你在所有订单上循环工作,但有一些变量Tip,它不改变,也不知道它等于什么。另外,你分析一个订单,并分别用Ticket_B或Ticket_S变量修改一个完全不同的订单
那么我还需要检查订单 类型吗?(如果提示=0,则为买入,如果提示=1,则为卖出, Ticket_B为买入, Ticket_S为卖出)
 
Sepulca:


当你打开一个挂单,设置一个到期时间,例如23:59,该订单将自行关闭。

nt OrderSend ( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0,datetime expiration=0, color arrow_color=CLR_NONE)

我试着将到期 时间设置为24小时(OrderOpenTime()+86400),但如果订单在一两个小时后打开,它也会在稍后关闭...。
 

下午好。大家好,谁能帮我解决WindowScreenShot的功能。第3天,没有人回答()。编写了以下脚本(见附件文件)。

关于剧本的两句话。该脚本用于对客户终端窗口的当前图表进行截图。 在外部变量extern datetime Time_bar 中,指定了从该条开始到零条为止的时间(考虑到图表上的右缩进)。在行

int bar_number=iBarShift(NULL,0,Time_bar,true)

我们在外部变量extern datetime time_bar 中指定的酒吧的序列号被搜索到。该函数本身,在行

bool f=WindowScreenShot(name+".gif",1024,768,bar_number, Scale,View_graph)

现在的问题是...为了简单起见,让我们假设我们需要创建一个最后两根柱子的屏幕截图。然后,如果该行

int bar_number=iBarShift(NULL,0,Time_bar,true)

不做任何改变,结果将是以下截图


就是说,在截图中没有酒吧(尽管字符串

int bar_number=iBarShift(NULL,0,bar_time,true)

应按时间计算条数)

如果这一行以如下方式呈现

int bar_number=iBarShift(NULL,0,Time_bar,true)+2

你会得到我们想要的屏幕截图。

问题:为什么在这个字符串有以下形式的情况下

int bar_number=iBarShift(NULL,0,Time_bar,true)

截图是在上一行指定的右移2条的情况下拍摄的?

P.S. 为了不给论坛添乱,提前感谢您的答复
附加的文件:
 
Egori4:
对不起......没有办法设置时间(我搞不清楚格式)。我试着将到期时间设置为24小时(OrderOpenTime()+86400),但如果订单晚一两个小时开仓,它也会晚一点关闭......


我想这样试试。

exp=iTime(Symbol(),PERIOD_D1,0)+86340;
其中iTime(Symbol(),PERIOD_D1,0)是当天的开盘时间,86340是23小时59分,单位为秒。
 
Egori4:
那么我还需要检查订单类型吗?(如果提示=0,则为买入,如果提示=1,则为卖出, Ticket_B为买入, Ticket_S为卖出)

如果你的车票存储在Ticket_B和Ticket_S ,为什么还需要一个循环?

只要按票面选择,看看是否有条件改变,

 

专家属性 "中的 "输入参数 "选项卡在哪里?例子。

extern int A=1;
extern int B=2;
int init(){return(0);}
int deinit(){return(0);}
int start(){return(0);}

一切都很好,但只要我加入stdlib.mqh:

#include <stdlib.mqh>
extern int A=1;
extern int B=2;
int init(){return(0);}
int deinit(){return(0);}
int start(){return(0);}

看不到输入参数。