翻译的困难 :) - 页 4

 
Alexey Volchanskiy:

不客气。但我写道,我是一只懒惰的猫咪))。

这就是我没有每次都揪着魔鬼不放的原因,而是把订单数据保留在课堂上。

纯粹是一个问题:想必你想审查的是立场,而不是权证? М...我本来可以用不同的方式来做,但直播是这样的

我的模板中有40个这样的功能,用于各种场合。我把它们分别用于订单,也分别用于职位。它们的工作速度非常快;我们使用我们在EA中需要的那些,此外,我们可以在几分钟内扩展或修改EA的算法。这就是为什么我在一个文件中使用这些功能,不需要另外连接任何东西。

是的,我想审查仓位,如果可能的话,也想审查订单,那就太好了)

阿列克谢,如果你在夜行后有时间和愿望,请写出来,我会看看它应该是什么样子,我会按类推重写一切。

谢谢!

//==================

P.S. 在写的时候,你给了一个答案)

(c) 为什么你要在插入code!!!! 后放上各种狗屎?

这是为了知道什么功能,像评论一样,有很多的功能。

谢谢你的回答,我将继续挖掘))))。

 
Alexey Volchanskiy:

不客气。但我写道,我是一只懒惰的猫咪))。

这就是我没有每次都揪着魔鬼不放的原因,而是把订单数据放在班上。

纯粹是一个问题:想必你想审查的是立场,而不是权证?М...我本来可以用不同的方式来做,但现场直播是这样的

愚蠢的网站又崩溃了,我去reddit看看,那里都很清楚。

****************** 愚蠢的网站 !!!!!!!!!!!!!!

为什么你要在输入code!!!!,然后再放狗屎?

不,阿列克谢,这不完全正确。PositionSelect(Symbol())将选择同一位置。这对撒网来说很好。

这里也有一块没有配对的括号,这里的人都明白

    for(i = 0; i < PositionsTotal(); i++)
     {
      if(PositionGetTicket(i) > 0 && PositionGetString(POSITION_SYMBOL) == Symbol() && PositionGetInteger(POSITION_MAGIC) == magic)
       {
        if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY || PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL)
         {
 
Vitaly Muzichenko:

是的,想看一下位置,如果你能,也想看一下订单,那就太好了)


对于待处理的订单,这几乎是一样的

    for(i = 0; i < Orders Total(); i++)
     {
      if(OrderGetTicket(i) > 0 && Order GetString(POSITION_SYMBOL) == Symbol() && Order GetInteger(POSITION_MAGIC) == magic)
       {
        if(Order GetInteger(POSITION_TYPE) == POSITION_TYPE_BUY_STOP || Order GetInteger(POSITION_TYPE) == POSITION_TYPE_SELL_STOP) // или другие типы
         {
 
Alexey Viktorov:

对待决订单 来说,这几乎是一样的

衷心感谢五位作家)的所有帮助!
 
Vitaly Muzichenko:

阿列克谢,有一个问题要问你。

翻译以程序化风格编写的项目有多长和多难?为什么是程序性的?- 以前是这样做的,一个模板适用于所有场合,在里面写上3-5行条件,任何猫头鹰都可以在半小时内准备好,并进行所有调试。

下一步。

是否可以重写位置开放函数,以与quad中相同的方式应用它,只是多年来习惯了它们的名称和用法,不需要插入任何库中。

好吧,还有一个用于打开和创建图形的条件块。

更多的图形,在五个上写了一次,所以有一些东西通过.OPA时间和价格的选择第一点和第二点完成。在第四个中,ObjectSetInteger(0,nm,OBJPROP_TIME1, t1)和ObjectSetInteger(0,nm,OBJPROP_TIME2, t2),但在第五个中,这样的结构不起作用(

提前感谢您的回答

我昨天又重写了一个项目,它是一个相当大的专家顾问。我的客户已经优化了几个星期,它的代码很重,有很多参数。我曾鼓励他用对冲的方式切换到5,我说他可以在云端优化。今天他写道,他正在以这样的速度尿裤子,他花了几个小时就把所有的东西都优化了,而以前他要花几个星期。很明显,云中通常有几千个自由人。

现在对于你的问题,我已经获得了一些经验,有了一些答案。

让他们保持程序化风格,没有人强迫你使用OOP。

2.这里有一篇关于MQL4和5的函数的好文章。那里有一张桌子。https://www.mql5.com/ru/articles/81。

这里有一个关于结合使用4和5交易功能 的库。我没有试过,但很有趣。https://www.mql5.com/ru/code/16006

Переход с MQL4 на MQL5
Переход с MQL4 на MQL5
  • 2010.05.11
  • Sergey Pavlov
  • www.mql5.com
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
 

关于交易、自动交易系统和测试交易策略的论坛

翻译困难 :)

Vitaly Muzichenko, 2016.08.15 21:00

我同意 )

阿列克谢,那么作为一个游戏)请把这个功能翻译成5。

//===============================================================================================
//------------------------------- Возвращает количество позиций --------------------------------+
//===============================================================================================
int NumberOfPositions(string symb="0", int type=-1, int mg=-1) {
 int kp=0;
  if(symb=="0") { symb=Symbol();}
  for(int i=0; i<OrdersTotal(); i++) {
   if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
    if((OrderSymbol()==symb||symb=="")&&(type<0||OrderType()==type)&&(mg<0||OrderMagicNumber()==mg)) {
     if(OrderType()==OP_BUY || OrderType()==OP_SELL) {
      kp++;
 }}}}
  return(kp);
 }

如何在四个方面使用它--你知道的。

谢谢你!


我对翻译有一点不同的看法。在VS中没有 "替换"。只是添加了一个单行。MT5-Hedge的上述函数的工作代码

// https://www.mql5.com/ru/code/16006
#include <MT4Orders.mqh>

//===============================================================================================
//------------------------------- Возвращает количество позиций --------------------------------+
//===============================================================================================
int NumberOfPositions(string symb="0", int type=-1, int mg=-1) {
 int kp=0;
  if(symb=="0") { symb=Symbol();}
  for(int i=0; i<OrdersTotal(); i++) {
   if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
    if((OrderSymbol()==symb||symb=="")&&(type<0||OrderType()==type)&&(mg<0||OrderMagicNumber()==mg)) {
     if(OrderType()==OP_BUY || OrderType()==OP_SELL) {
      kp++;
 }}}}
  return(kp);
 }

代码立即变得跨平台。

同样,在MT5测试器中运行别人的MT4专家顾问--举例来说

 
fxsaber:

我对翻译的看法略有不同。在VS中没有 "替换"。只是添加了一个单行。MT5-Hedge中提到的函数的工作代码

该代码立即成为跨平台。

同样,在MT5测试器中运行别人的MT4专家顾问--举例来说

酷!我昨天用了CTrade的翻译速度,还没有看库。但我一定会看一看。
 
Alexey Volchanskiy:
酷!我昨天用了CTrade的翻译速度,还没有看库。但我一定会看一看。

我的MT4Orders.mqh对我不起作用--它与我已经使用的标准库有 冲突。可能只应该在干净的情况下。

'::' - unexpected token Trade.mqh       126     22
'::' - unexpected token Trade.mqh       1477    14
'MqlTradeResult' - identifier already used      Trade.mqh       1477    55
see previous declaration of '           0       0
'&' - semicolon expected        Trade.mqh       1477    70
'if' - expressions are not allowed on a global scope    Trade.mqh       1483    4
'else' - expressions are not allowed on a global scope  Trade.mqh       1485    4
'if' - expressions are not allowed on a global scope    Trade.mqh       1488    4
'else' - expressions are not allowed on a global scope  Trade.mqh       1493    4
'return' - expressions are not allowed on a global scope        Trade.mqh       1499    4
')' - expressions are not allowed on a global scope     Trade.mqh       1500    3
declaration of 'action' hides global declaration in file 'Trade.mqh' at line 1480       DealInfo.mqh    244     55

**

 
Alexey Volchanskiy:

我的MT4Orders.mqh对我不起作用--它与我已经使用的标准库有 冲突。可能只应该在干净的情况下。

**

#include <MT4Orders.mqh> // если есть #include <Trade/Trade.mqh>, вставить эту строчку ПОСЛЕ
 

问题--我如何知道MQL5中的头寸佣金?

我在MQL4中是这样做的

double oProfit = OrderProfit() + OrderSwap() + OrderCommission(); // MQL4

MQL5中没有佣金。

double oProfit = PositionGetDouble(POSITION_PROFIT) + PositionGetDouble(POSITION_SWAP);

我查看了订单属性,也没有佣金。我应该怎么做?