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

 
大家好,请告知是否可以(如果价格上涨,订单保持开放,但如果价格下降了2个点,则关闭订单),请告知如何正确操作。
if (iMomentum(NULL,0,-2,PRICE_HIGH,0)) 
      {
      OrderClose(OrderTicket(),OrderLots(),0,Bid,Violet);
 
artmedia70:

我不明白...为什么你需要在定义交易标准的功能中计算历史上n个条形的平均价差?

如果你要使用英国教科书中的函数,那么在Events()函数中进行更合理。

就是这样,看看SK建议如何跟踪经纪人的StopLevel的变化。是什么阻止了你以完全相同的方式来跟踪传播的变化,如果有的话,就在数组中输入下一个值。那么,在填充阵列时计算其 "医院的平均温度"(c)SK...

我的想法是,在一天的不同时间有不同的点差,有时我的交易系统会在平均点差为12点时成功交易,而在点差为6点时就会亏损,反之亦然,如果我把它调整为点差6,在点差12时就会亏损,也就是说,挂单的水平取决于这个参数,我以后会把我所有的想法贴出来,但现在我必须逐步做一些事情,今天我也第一次面对冻结水平,那么它是什么意思?如果我在市场上开了一个带止盈和止损的订单,它在五位数中的加号是100点,止盈最初是150点,但现在它在加号中。如果我设置了止损和止盈,我就不能止损或止盈,如果价格在该区域附近,我就不能止损或止盈。结果,系统运行正常,我给出了一个反转指令,但终端失败了,价格下跌,没有采取卖出位置,也没有采取买入位置。

你如何对抗它?

 
ex_kalibur:

我的想法是,在一天的不同时间,点差是不同的,可能发生的情况是,在平均点差的情况下,我的交易系统会在点差为12点时成功交易,而在点差为6点时就会亏损。 如果我把点差调整为6点,那么在12点时就会亏损,即这个参数取决于挂单的水平,我以后会公布整个计划,但现在我必须逐步做一些事情,今天我也第一次面临冻结水平。如果我在市场上开了一个带止盈和止损的订单,它在五位数中的加号是100点,止盈最初是150点,但现在它在加号中。如果我设置了止损和止盈,我就不能止损或止盈,如果价格在盈利区附近,我就不能通过市场来关闭它并固定它。结果,系统运行正常,我给出了一个反转指令,但终端失败了,价格下跌,没有采取卖出位置,也没有采取买入位置。

我怎样才能与之斗争呢?

听起来你是在正确的地方...
 
我只做了三天的编程,我不知道如何编写程序的尾随止损部分。

问题是,一切都在运行,但是!它既把止损 移到一边,又把止损移到另一边,我应该添加什么,使它只把止损移到开仓交易的一边呢!?

这里基本上是我的:

if (Ticket> 0)
{
if (Opn_B == true)
{
SL = Ask - TS*Point;
Ticket= OrderModify(Ticket,Price,SL,TP,0);
}
如果(Opn_S == true)
{
SL = Ask + TS*Point;
Ticket= OrderModify(Ticket,Price,SL,TP,0);
}
}
 

ex_kalibur 谢谢你的收件箱,我有时间会给你发邮件。

 
ZahvatkiN:

ex_kalibur 谢谢你的收件箱,我有时间会给你发邮件。

请原谅我?
 

晚上好!

你能告诉我如何从Metatrader 4的图表中导出数据(指标值)到Exel?

我很高兴能得到帮助和提示 :)

 
打印 将帮助你 :)
 

亲爱的 artmedia70,我非常感谢你在这个主题中积极提供帮助, 下面的文字 主要是写给你的,但如果有更多的专业人士,请不要去帮助,结果就像童话故事里一样,越往树林里走,柴火越多,结果绕来绕去,我碰了壁,我真的 需要帮助,我希望这个策略能得到实施,很多初学者能在持续有效的编程中获得经验

问题是这样的。

1.寻找低位和高位变量(寻找每个变量的过程仍然不同)

2.有必要计算最后N个点的平均点差(外部变量N)。

3.假设高-低>比通道宽度的K部分的平均分布(如通道宽度的2/3或最小1/3)。

4.一旦这些条件得到满足,就会有待定的订单。

- 线以上的高点 - 卖出

- 线下低 - 湾

使用网格向双方下订单。

*最接近的卖出订单将是最小的成交量,如果可能的话,会放在高位的水平上。

* 下一个订单将在 "高 "+一定数量的点的距离内下达(例如:"高 "+("高"-"低"))。

* 订单总数应设置在一个外部变量中,在这种情况下,每个订单的体积不相等(例如第一个0.1,第二个0.2,第三个0.3等。这里我们假设用算术级数或几何级数增加体积的不同方法,我们将在以后决定,分别将这块做成一个单独的函数)

* StopLoss的表现如下:在外部设置中,我们指定所需的SL,然后在第一个(它是最小的)SL上等于StopLoss(来自设置),每个后续的StopLoss将等于第一个的相同值(对于0,1=60点,对于0,2=40点),即在最小的订单上触发StopLoss时,所有订单将被一次性关闭。

*获利等于(高点-低点)*点+开盘价

*市场关闭条件。

开湾-

如果订单处于盈利状态,"高点 "水平已经改变,变得比之前的值低,"买入价">="高点","止损点 "允许关闭订单,那么所有海湾类型的未结订单都被关闭,从我们工具的最大体积开始。

*根据市场的情况,开放的条件。

如果Bay ==0,同时Bid < Low,同时Ask < High + 平均价差,那么我们以允许的最小成交量开仓,并以最小成交量删除该类型的挂单(如果条件允许)。

如果在交易过程中,一个新的挂单以比第一个挂单更大的价值开仓,并以相同的收盘价收盘,我们以相同的成交量,以相同的收盘价开立一个新的挂单(如果条件允许),如果不可能放置一个挂单,并且在最后一个订单关闭后,价格再次跨越最后一个关闭订单的开仓价,那么

我们以同样的交易量和价格回到市场,并增加滑点。

*在第一个订单(它是具有最小成交量的订单)被关闭后,所有待定的买入订单将被删除,它被认为应该没有更多的未结订单,然后订单被重新计算,网格被重新抛出。

*所有未结订单都被计算为相反的订单类型,并分别抛出一个相反订单类型的网格。

*当第一笔订单(最小成交量)打开时,不允许打开相反的订单。

5. 批量的计算,在设置中允许固定或百分比。

如果所有的订单都有一个固定的数量 - 所有的订单都有一个固定的数量

固定的--在通过止损关闭网格(系列)的情况下,所有订单的总数量不应超过允许的损失%。

分别计算出的交易量的顺序是:最大的交易量是离当前价格最远的,而且是最小的止损,最接近价格的交易量是最小的(

例子系列0.1\0.2\0.3\0.4\0.5看起来是这样的--如果我们有足够的资金和%允许以这种顺序打开

series 0.1\0.1\0.1\0.2\0.3 - 在这种情况下,我们没有足够的钱来购买整个系列的产品。

6.最低存款计算区块

*这里发生的可能的最大损失的计算是基于变量High,Low的值,它被认为是所有的挂单将被打开,并将在止损时关闭,因此,给定的损失应该是存款的一些百分比,关于计算后交易者收到的消息。

"在所选择的风险%的情况下,如果订单被止损平仓,你的损失将是..."。

或 "没有足够的钱来实施一个停止系列,专家顾问不工作"。

7.我只有一个功能:记录事件、信息,我想看到错误,就像在书中一样。

8.可能是最后一个,一些 "按钮 "或特殊功能,当你点击它时(或改变设置),所有与开盘相反类型的挂单(如果市场是买入的,那么所有的都被删除)都被删除,专家工作直到系列关闭。

我想请你根据书中的结构写一个程序,https://book.mql4.com/ru/build/index。

要做到这一点,在这个帖子中,我将附上书中的所有文件,并在每个文件中开始工作,完成后每个单独的文件将被保存,也附在公众面前,完成后的编码程序也将在这个论坛上公布。

我马上警告你,这个想法完全是认知性的,教育性的,并不保证在完成专家的工作后会有收益,它关系到所有花费数天和数小时寻找圣杯的多肉,并想粉碎另一个刺猬的屁股))))。

我个人在完成编程时的目标是学会在这种结构中编码,我的意思是所有的规则:注释、单个函数、外部文件、与库和类似东西的工作。

 

第一阶段是非常重要的,我认为它甚至是最基本的,它是一个正确制定的职权范围,可访问的,使程序员了解需要他做什么。

所以我在等待对我的大纲的评论,让我们写一个正确的ToR,然后我们开始

原因: