新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 431

 
Artyom Trishkin:

你可以。但要小心。对于一个未结头寸,它返回收盘价。相应地:买入--出价,卖出--要价

o. 我不知道它可以这样使用。

,我以为OrderClosePrice()只能从平仓中获取。

,帮助中并没有提到这一点)
 
igrok333:
o. 我不知道它可以这样使用。

我以为OrderClosePrice()只能从已关闭的交易中提取。

在帮助中没有提到这个问题)

未记录的特征。但也有一些惯例。我现在不记得是哪些人了。你需要问Alexey@Alexey Viktorov- 他最近写了关于他们的文章。

 
Artyom Trishkin:

一个没有记录的可能性。但那里有一些惯例。我现在不记得是哪些人了。问Alexey@Alexey Viktorov- 他最近写了关于他们的文章。

这个代码是怎么回事?

变量不是立即由零启动吗?

 void zakritj_vse_sdelki()
 {
 bool pr;
 for (int i=OrdersTotal()-1; i>=0; i--)       
   {                                        
   if(OrderSelect(i,SELECT_BY_POS)==true)
      {   
         if (OrderType()==OP_BUY)    pr=OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(),MODE_BID), 30 );                              
         if (OrderType()==OP_SELL)   pr=OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(),MODE_ASK), 30 );
         
         if (pr==false) Print("закрытие ордера ", OrderSymbol() ," завершилось с ошибкой #",GetLastError());
         if (pr==true) Print("ордер ", OrderSymbol() , " ЗАКРЫТ");
       }
    }
  } 
 
igrok333:
这个代码是怎么回事?

该变量没有立即初始化为零?

不要依赖默认值。在声明一个局部变量 时,最好关注它的值:bool pr=false。

当然,在一般情况下,没有必要把它设置在那里。检查该函数返回的内容就足够了。

如果(!OrderClose())Print("Bummer")。

 

我如何知道前一根蜡烛的斐波那契扇形价格?MQL5
ObjectGetValueByTime( )不工作,它返回0,然后是高位,然后是低位蜡烛

 

@ArtyomTrishkin

下午好。请帮助我。告诉我我的指标出了什么问题。我不明白为什么它根本就不画任何东西。

https://www.mql5.com/ru/forum/224805#comment_6372281

附加的文件:
indicator.ZIP  21 kb
probability.zip  50 kb
 
Artyom Trishkin:

这是一个没有记录的功能。但也有一些惯例。我现在不记得是哪些人了。我需要问Alexey@Alexey Viktorov- 他最近写了关于他们的文章。

那是很久以前的事了...但还是设法找到了它。雷纳特清楚地解释了为什么它是不可取的。但在我看来,这并不是那么糟糕。当我们在订单结束时收到重新报价时,问题可能会发生。如果我们在请求中设置了卖价或买价,我们可以随时刷新价格并再次尝试。而在指定收盘价OrderClosePrice()的情况下,我们将不得不反复选择订单,以刷新订单数据。

结论:如果你不能,但真的需要,你可以。

Применение функция OrderClosePrice() к открытым ордерам
Применение функция OrderClosePrice() к открытым ордерам
  • 2006.09.11
  • www.mql5.com
Вопрос к разработчикам: Корректно ли использование данной конструкции: OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,CLR_NONE) Проверка...
 

请指教!我从一个CSV文件中读取数据,其中有一列价格,有一个位置分隔符""。(1.22426)通过FileReadString(handle),然后通过StrToDouble函数,一切正常。但有一列也有价格,但它已经被","(1,22426)分隔开来,StrToDouble无法读取它。如果在CSV中没有可能将逗号改为点号,该怎么办?

 
WinProject:

请指教!我从一个CSV文件中读取数据,其中有一列价格,有一个位置分隔符""。(1.22426)通过FileReadString(handle),然后通过StrToDouble函数,一切正常。但是有一列价格已经被", "分开(1,22426),StrToDouble无法读取。如果我不能把CSV中的逗号改为点,我可以做什么?


文件读取字符串


然后你可以把它从逗号改为点。


字符串替换

用给定的字符序列 替换字符串中所有找到的子串。

intStringReplace(
string&str,将进行替换的//模式
const stringfind,// sought substring
const string replacement// 要替换的子串
);

 
Vladislav Andruschenko:

文件读取字符串


然后你可以把逗号改成句号。


字符串替换

用给定的字符序列 替换字符串中所有找到的子串。

intStringReplace(
string&str,// 要替换的字符串
const stringfind,// sought substring
const string replacement// 要替换的子串
);


谢谢你!), 变量Cena=FileReadString(handle); 我插入函数Separator=StringReplace(Sepa,",","."); 它写入错误 "从数字到字符串的隐式转换" -

不想把带有分隔符","(1,22426)的值读成字符串,而且StringReplace也不起作用。还是我做错了?

原因: