对MT5的祝愿 - 页 55

 
-Alexey-:

如果我们谈论的是多功能性,最好是能够不仅以增量,而且以手数来改变头寸的数量。也就是说,大约是这样的。

1) 用某个手数开仓:PositionOpen(...,lot,....); /这个函数是不含糊的,不会改变,保持现在的样子/。

2)改变位置量,如增加。

a) PositionIncrease(..., 2, mode_lot_change,....) - 增加2手仓位量;/用于方便改变手数的情况。

b) PositionIncrease(..., 2, mode_multiply_change,....) - 将位置的体积增加2倍;/用于方便改变次数的情况/。


CTrade有一套方法,根据帮助:"带头寸的操作"。它们是:开仓、平仓、改变一个仓位的SL或TP。我们建议完成它。反转头寸是指以比当前头寸更大的交易量执行相反的交易,从而使未结头寸的方向发生逆转。减仓就是减少开仓的数量。增加是相反的。

Я за то чтобы в библиотеку включались универсальные вещи, которые устраивают всех (чтобы потом не пришлось переопределять функционал стандартных классов).

是的,这是一个非常重要的观点。
PositionOpen()是CTrade类的一个通用方法,它不仅可以开仓,还可以增加(减少)现有仓位的交易量或将其逆转。只要用适当的order_type在位置方向上调用它,就可以增加,在相反的方向上调用它,就可以削减,或者在相反的方向上调用一倍的量,就可以翻转。
 
Valmars:
PositionOpen()是CTrade类的这种通用方法,它不仅可以开仓,还可以增加(减少)其数量或逆转它。只需用适当的order_type在添加仓位的方向上调用它,在相反的方向上用所需的量削减仓位,或在相反的方向上用双倍的量来翻转它。

我的意思是同样的事情。也许应该有专门的修剪和翻转功能,但显然不是在 CTrade 中(如果我们谈论的是一个标准库)。

如果问题是关于 "专家 "类的任何一个,我个人不会介意。

 

1.请归还1:500的杠杆(最好是1:200),我已经等了你几个星期的这种礼物了。

2.我还有一个问题:如果我的账户是1:500,测试器中的最大杠杆是1:100,测试器会考虑哪些参数?

我真的非常想要它!

 
Valmars:
PositionOpen()是CTrade类的一个通用方法,它不仅允许你开仓,还允许你增加(减少)现有的头寸规模或扭转它。只要用适当的order_type在加仓的方向上调用它,在相反的方向上修剪所需的量,或在相反的方向上翻倍的量。

让我们看看需要做什么来扭转一个头寸,比如说使其体积增加一倍。

1) 确定是否有一个空缺职位。

2)确定打开位置的方向

3)确定开仓的数量。

4)确定需要多少资金来开立3倍量的相反头寸(或先关闭同一头寸,然后开立双倍头寸)。

5) 确定是否有必要的资金。

6)确定一个地段的最小倍数。

7)确定最接近于必要量的倍数。

8) 再次检查是否有足够的资金。

9) 使用PositionModify将SL和TP从现有的位置上删除。

10) 设定允许的滑移量。

11) 打开相反的位置。

12)确定反转带来的开盘价。

13) 使用PositionModify设置新的SL和TP。


当我在写这篇文章时,我犯了几个错误。


这是一段数万人必须重新写的代码,其中有很多错误。为什么,当你可以在图书馆里做一次时?

这段代码不是每个人都能正确地将其作为派生类的一个新方法。为什么呢,如果开发商能正确地做到这一点?

这是一个不方便的事情。当你可以使用一个现成的函数PositionReverse和一个字符串时,为什么要写一大堆代码?

我的意思是同样的事情。你可能需要编写专门的修剪或翻转功能,但显然不是在 CTrade 中(如果我们在谈论标准库)。

在哪里,以便让普通用户可以使用,并出现在帮助中?为什么不在CTrade中(假设这些方法不会造成问题)?

毕竟,你可以在没有PositionOpen的情况下进行交易。为什么他们在Ctrade中引入这种方法?我认为引入这个包装器是为了方便,因为它考虑到了许多对初级用户来说不明显的东西。

 
-Alexey-:

让我们看看需要做什么来扭转一个头寸,比如说使其体积增加一倍。

1) 确定是否有一个空缺职位。


3)确定开仓的数量。

4)确定需要多少资金来开立3倍量的相反头寸(或先关闭同一头寸,然后开立双倍头寸)。

5) 确定是否有必要的资金。

6)确定一个地段的最小倍数。

7)确定最接近于必要量的倍数。

8) 再次检查是否有足够的资金。

9) 使用PositionModify将SL和TP从现有的位置上删除。

10) 设定允许的滑移量。

11) 打开相反的位置。

12)确定反转带来的开盘价。

13) 使用PositionModify设置新的SL和TP。


在写这篇文章时,我犯了几个错误。


这是一段数万人必须重新写的代码,其中有很多错误。为什么,当你可以在图书馆里做一次时?

这段代码并不是每个人都能以派生类的新方法的形式正确地将其化。为什么呢,如果开发者能正确地做到这一点?

这是一个不方便的事情。当你可以使用一个现成的PositionReverse函数和一条线时,为什么要写一堆代码呢?

以及在哪里,以便让普通用户可以使用,并出现在帮助中?为什么不在STrade中(假设这些方法不会造成问题)?

毕竟,你可以在没有PositionOpen的情况下进行交易。为什么他们在Ctrade中引入这种方法?我认为引入这个包装器是为了方便,因为它考虑到了许多对初级用户来说不明显的东西。

你说的很对,为了用PositionOpen(...)开仓,你还应该指定成交量、开仓价、SL和TP,并检查所有这些参数是否足够,你应该事先得到这些参数并检查它们是否有效,如果你不想在开仓时出现错误?
这对翻身来说也是一样的。好吧,你指定 "为这样那样的符号反转一个位置",这就是全部,你让它反转了100个4位数的点
更高或更低。你可能不会为此感到高兴。
但让我们逐一审查你的论点。
1) 确定是否有一个空缺职位。

我认为在决定扭转立场之前,还是要做这件事。

2)确定开放位置的方向

我认为如果你决定翻转,这也是必须的。在任何情况下,一旦选择了职位,这都是基本的。

3)确定开仓的数量。

与第2点类似。

4)确定你需要多少钱来开出3倍交易量的相反头寸(或先关闭相同的,然后开出双倍的)。

在发送请求之前,请检查资金是否充足。

5) 确定是否有必要的资金。

将与第4点合并。

6) 确定地段的最小倍数

当然了。

7)确定最接近必要倍数的体积。

你在开辟职位,对吗?因此,你已经有了这个功能。你所要做的就是调用这个函数。

8) 再次检查是否有足够的资金。

标准方法。

9) 使用PositionModify将SL和TP从现有的位置上删除。

你不需要它。

10) 设定一个允许的滑移量。

当然。较小的是更准确的输入,但更多的重新报价。

11) 打开一个相反的位置。

这就是我们应用PositionOpen的地方。

12)确定反转带来的开盘价。

这也是相当初级的。我们只需要重新选择位置。

13) 使用PositionModify设置新的SL和TP。

如果你没有立即计算和设定,你可以现在就做。

如果你在某处犯了错误或忘记了什么,开发人员已经照顾到了这一点,首先使用OrderCheck(m_request,m_check_result)函数检查请求参数的有效性,如果出现错误,请求将不会被发送到服务器,并在日志中列出相应的信息。

但你怎么想让标准方法为你决定一切:偏差、价格、数量和止损?

 
你希望标准方法如何处理一切:偏差、反转价格、成交量和止损?<br / translate="no">。
带偏差的标准方法做得完全一样(对我来说是决定性的)--它是默认在类里面指定的。也就是说,它是一个可选的参数,而且在PositionOpen中没有出现。如果有必要,它将使用一个特殊的方法STrade.deviation....,但--在必要时,而不是总是指定。这很方便。这也适用于CTrade中默认设置的其他一些参数。

当然,滚动价格是由策略或用户设定的。然而,在价格被改变后,必须进行检查,因为有滑点和价差。这就是为什么提前计算的止损或利润(并在函数中指定)可能会变成不同。我提到价格只是因为这一点,也就是说,如果在滚动功能中指定了止损和利润的新值(如果-那么就不需要检查和设置)。这个算法很简单--由滚动功能自动解决--没有我的参与。这很方便。

如果存在一个开放的职位,而提案就是这种情况,那么就会出现可以不经检查就进行的行动。比如说。

- 在调用有关函数时,你不必指定买入或卖出,因为程序可以自动检测出反转、空头和增加的交易方向。没有什么可以检查的错误。这里我们有:在函数调用中减去一个参数(没有买/卖)。它是否方便?是的,标准方法为我解决了这个问题。

- 仓位的数量是已知的,这意味着根据用户的要求,枢轴或减少/扩大功能可以计算出与已经知道的数量有关的指定模式(以手为单位,或以增量为单位)的必要交易量,使用最小手数的最近倍数。这些是典型的动作,它们可以被编程一次。它们主要是我所谈论的内容。

至于检查正确性--你是对的,看来,你必须自己做。

好吧,你指定了 "为这样那样的字符反转位置",就这样,它被反转了100个4位数的点

这就是PositionOpen中的做法。但是,如果你愿意,你可以指定可选参数,这样就不会发生这种情况。这是当调用:停止和采取(可选的函数参数),分别在调用偏差方法之前。也就是说,CTrade中对这种情况的保护1)是存在的,2)是方便的设计。用户不需要考虑如何创建这整个结构。这就是事情的真相。唯一的问题是,没有差额检查。
 

我不知道是否有人提到过,但我希望MetaEditor能够折叠某些部分的代码。例如,如果从括号到括号,为,函数,等等。

换句话说,正如它在编程环境中实现的那样,比如Visual Studio。因为有时你会厌倦在整个屏幕上滚动寻找什么东西...

这样,你可以只留下那些你正在处理的代码片段,而其他的代码则被折叠起来...

谢谢...:-)

 
St0nE:

我不知道这一点是否已经被提及,但我希望MetaEditor能够折叠某些部分的代码。

被说了。你可以在这里给它一个加号https://www.mql5.com/ru/forum/2931
 
谢谢你...办理了入住手续...:-)
 

我看着MetaQuotes软件与国际商业时报签署长期合作协议 的话题,想起了我很久以来想建议的事情。

1.在 "新闻 "标签的内容菜单中增加一个 "标记为已读 "项目,可以同时应用于几个选定的新闻项目(现在你必须单独打开每个新闻项目)。这将允许跳过 "不感兴趣 "的新闻并跟踪新的新闻。

2 像MetaEditor那样在一个标签中显示新的未读新闻的数量:书签

这可能不是主要的任务,但它会给你的工作增加便利...

原因: