[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 673

 
artmedia70:
即我需要在init()中添加一个调用来显示指标窗口中的信息? 。


试着在init()中写入

int init()
{
Alert("我找不到你的盒子,我离开这里了,虽然我在init()部分被调用了");
return(0);
}

 
IgorM:


那么,试着在init()中写一下

int init()
{
Alert("我找不到你的盒子,我走了,虽然我在init()部分被调用了")。
return(0);
}

:)你是在抄袭吗?:)
 

请帮助我处理这个问题!如果我有一笔亏损的交易,我需要换手,如果没有--没有。我是这样做的......

//====================================================
// Расчет размера позиции
//====================================================
double CalculateLots(){
   double Res=dLots;
   bool bProfit=true;
   int PrevTime=-1;
   double tmpLots;
   for (int i=0;i<OrdersHistoryTotal();i++){
      if (!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue;
      if (OrderSymbol()!=Symbol())                    continue;
      if (OrderMagicNumber()!=MAGIC)                  continue;
      if (OrderCloseTime()<PrevTime)                  continue;
      PrevTime=OrderCloseTime();
      if (OrderProfit()>0) bProfit=true; else bProfit=false;
      tmpLots=OrderLots();
   }
   double Lots_Step=MarketInfo(Symbol(), MODE_LOTSTEP);
   if (!bProfit) Res=tmpLots+Lots_Step;
   return(Res);
}

如果我想改变这个地段,就必须改变它,但我不能。问题是,当我改变手数时,我已经有一个挂单(与其他手数)。我需要删除这些订单,并改变其中的手数(到一个新的手数),但参数保持不变 !


 


亲爱的程序员们。
请回答以下问题。

你能告诉我为什么字符串中的数据不能正确输入数组?

extern string Sessions_begin="15:31;14:11";
extern string Sessions_end="22:32;18:12"; 

int mas_time_begin[10][2], mas_time_end[10][2];  //первый - № сессии,
            // второй время[][1]-первый элемень время(часы), [][2]-минуты.

//
str_len_begin=StringLen(Sessions_begin)

Print("Длина str_len_begin="+str_len_begin);
  for (n=1,i=0; i<=str_len_begin; i+=6,n++)
  {
   mas_time_begin[n][1]=StrToInteger(StringSubstr(Sessions_begin,i,2));
   mas_time_begin[n][2]=StrToInteger(StringSubstr(Sessions_begin,i+3,2));
   mas_time_end[n][1]=StrToInteger(StringSubstr(Sessions_end,i,2));
   mas_time_end[n][2]=StrToInteger(StringSubstr(Sessions_end,i+3,2));
  Print("n= "+n);
  Print("i= "+i);

  Print("Начало сессии "+n+" в(вывод через Print) "+StringSubstr(Sessions_begin,i,2)+":"+StringSubstr(Sessions_begin,i+3,2)); 
  Print("Конец сессии "+n+" в (вывод через Print) "+StringSubstr(Sessions_end,i,2)+":"+StringSubstr(Sessions_end,i+3,2));
  Print("Начало сессии "+n+" в(вывод через Массив) "+mas_time_begin[n][1]+":"+mas_time_begin[n][2]);
  Print("Конец сессии "+n+" в(вывод через Массив) "+mas_time_end[n][1]+":"+mas_time_end[n][2]);
  }

这是我现在得到的东西。

http://savepic.ru/1410881.gif

 

Господа, не подскажете ли? Есть проблема в сортировке ордеров при включении или (наложении) отремонтированного советника на имеющиеся уже, выставленные отложки. Я тут пытался соорудить коды для поиска, распознавания и переприсвоения имеющихся номеров ордеров, чтоб советник воспринимал их как свои, но результат какой-то неопределённый. Советник при включении начинает лупить некоторые отложки в тоже место с теми же параметрами.....Может у кого есть коды или мысли по этой теме, для многих ордеров?

感谢那些回应的人。

 
Hedin:


尊敬的程序员, ,请回答以下问题:


你能告诉我为什么字符串中的数据不能正确地输入数组中吗?

这就是我现在得到的东西。

http://savepic.ru/1410881.gif

第二维的数组大小设置 不正确。

int mas_time_begin[10][2], mas_time_end[10][2];  //первый - № сессии,

数组元素以0开始,你在这些条目中

mas_time_begin[n][2]=StrToInteger(StringSubstr(Sessions_begin,i+3,2));
mas_time_end[n][2]=StrToInteger(StringSubstr(Sessions_end,i+3,2));
想把数据写到单元格3(0,1,2),尽管第二维度被设置为2(只能使用指数0,1)。

解决方案:要么在第二维度上放大数组

int mas_time_begin[10][3], mas_time_end[10][3];  //первый - № сессии,

或在写值时重写索引

mas_time_begin[n][0]=StrToInteger(StringSubstr(Sessions_begin,i,2));
mas_time_begin[n][1]=StrToInteger(StringSubstr(Sessions_begin,i+3,2));
mas_time_end[n][0]=StrToInteger(StringSubstr(Sessions_end,i,2));
mas_time_end[n][1]=StrToInteger(StringSubstr(Sessions_end,i+3,2));
 
rosomah:

先生们,你们能提供建议吗?当我启用或(叠加)修复的EA在已下的挂单上时,我遇到了一个订单排序的问题。我曾试图建立代码来搜索和重新分配可用的订单号,以便EA将其识别为自己的订单号,但结果是不确定的。当我启用它时,EA开始在同一个地方放置一些挂单,参数相同..... - 对于许多订单,谁有任何代码或关于这个主题的建议?谢谢你的反馈。



这取决于EA如何定义 "owl - alien",如果它使用神奇的数字,那么你对已经下好的挂单没有办法,因为这个参数对已经下好的订单不能改变。如果它把票存储在
全局变量 中,让我们假设,那么就已经很容易了,已经有的票可以 "添加到基地"。因此,这是现阶段对你的主要问题。它是如何确定的?
 
ToLik_SRGV:

这取决于EA如何定义 "owl - alien"。如果它是由神奇的数字设置的,那么与已经下达的挂单没有关系,因为对于已经下达的订单,这个参数不能被改变。

是的,如果有一个由不同挂单组成的网格,由于一些挂单被触发,一些被移动,等等而形成的漏洞。它们需要被识别、重新编号并由一个 "新 "的专家顾问填补。当然,我们可以手动操作,但...那为什么还要去找MTS呢?对于一个订单,我们至少可以从N.Morzhov那里得到它。

int poisk;

如果(poisk==0)

{ int k;

for(k=0; k<OrderTotal();k++)

{ 如果(OrderSelect(k,SELECT_BY_POS,MODE_TRADES)==false)break;

如果(OrderSymbol()!=Symbol()||OrderMagicNumber()!=Magic)cjntinue

ticket_buy1=OrderTicket()。

poisk=1; }}}

但如何处理一组订单?

 
谁知道mql5教程计划什么时候出来?
 
Abzasc:
谁知道mql5教程计划什么时候出来?

https://www.mql5.com/ru/forum/491