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

 
35aleks:
如何在EA中编写代码以了解从x.xx25级开始的反弹。

这完全取决于你如何理解 "水平回弹 "的概念...

价格触及,向一侧交叉,并立即向后交叉。
蜡烛图在水平线的一侧打开,然后价格越过水平线,蜡烛图在它打开的同一侧关闭。
前一根蜡烛在一边开盘,在另一边收盘,而现在的蜡烛在前一根蜡烛的收盘一边开盘,在前一根蜡烛的开盘一边收盘......
И...你可以得到整箱的这种标准...:)

你的问题必须更加具体...

 
kgn45:
马丁格尔类EA需要止损。任何选项都可以在每个订单上设置止损。我真的很需要它,将不胜感激!
你的马提尼密码需要附上吗?还是这是个心灵感应的论坛?
 
kgn45:
马丁格尔类EA需要止损。任何选项都可以在每个订单上设置止损。我将非常感激!

我再说一遍。有很多变体需要计算。而大多数人在这里https://www.mql5.com/ru/code
 
granit77:
更多类似情况。

谢谢你的回答!
 
大家好,问题:有四支蜡烛,你需要找到这些蜡烛组合的最高和最低价格。谢谢你。
 
Maniac:
大家好,这里有一个问题:有四支蜡烛,我需要找到这些蜡烛的最高和最低价格。谢谢你。

https://docs.mql4.com/ru/series/iLowest

https://docs.mql4.com/ru/series/iHighest

如果蜡烛图不在一排,那么MathMax()和MathMin()成对出现。

https://docs.mql4.com/ru/math/MathMax

https://docs.mql4.com/ru/math/MathMin

 
kgn45:

为这两个:。

GoldenProfit_hgs.mq4 (22.16 KB)
1_1.mq4(8.98 KB)

GoldenProfit_hgs.mq4 - 反编译的代码。反编译的代码不允许在论坛上发表。帖子被删除。
 

谢谢大家对这个问题的忽视!我自己想通了。卖出的那一行没有时间设置,返回的值是NULL。

ObjectGet("LOSSELL", 1)!=0

这正是我们所缺少的!!!。

//+------------------------------------------------------------------+
//|  Линия                                                           |
//+------------------------------------------------------------------+
void CheckForClose() {  
   for (int i=0; i<OrdersTotal(); i++) {
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break;
      if (OrderSymbol() != Symbol()) continue;
      //---- check order type 
      if (OrderType() == OP_BUY) {
         if (Bid <= ObjectGet("LOSBAY", 1)) {
            OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
            ObjectDelete("LOSBAY");        
            break;
         }
      } else {
         if (OrderType() == OP_SELL) 
         {
            if (Ask >= ObjectGet("LOSSELL", 1)&&ObjectGet("LOSSELL", 1)!=0)
             {
               OrderClose(OrderTicket(),OrderLots(),Ask,3,White);
               ObjectDelete("LOSSELL");
               break;
            }
         }
      }
   }
   //----
   if (OrderType() == OP_SELL) {
      ObjectCreate("LOSSELL", 1, 0, Time[0], Ask+LS*Point);
      if (ObjectGet("LOSSELL", 1)-Ask > LS*Point) ObjectSet("LOSSELL", 1, Ask+LS*Point);
   } else {
      if (OrderType() == OP_BUY) {
         ObjectCreate("LOSBAY", 1, 0, Time[0], Bid-LB*Point);
         if (Bid-ObjectGet("LOSBAY", 1) > LB*Point) ObjectSet("LOSBAY", 1,  Bid-LB*Point);
      }
   }
   if (OrdersTotal() < 1) {
      ObjectDelete("LOSSELL");
      ObjectDelete("LOSBAY");
   }         
}
 
artmedia70:

你的马提尼密码需要附上吗?还是这是个心灵感应的论坛?

这个EA需要在每个订单上设置一个止损点
附加的文件:
1_2.mq4  9 kb
 
alsu:
因为这些是双数,它们的尾数长度有限,因此精度也有限。 试试这个: NormalizeDouble(0.25+(-0.25),2)
谢谢你!