脚本: Pending orders DOWN - 页 2

 
Vladimir Karputov:

输入参数 "仓位交易量 "是为将来设置的:当收集到多个现代化建议时,就会将其纳入赌注。目前,脚本会以最小可能的交易量挂单。

因此,这是一个显而易见的愿望,为什么要等待几项建议,而现在就可以做,以便脚本尽可能灵活......这是一个反问句...

那么我想请您帮忙回答最后一个问题:下跌--从卖出价下跌? 上升--从买入价上升?是什么原因导致订单无法下达?我设置了所有的设置,但没有下订单....。

非常感谢您的帮助!

 
KentR:

因此,这是一个显而易见的愿望,既然可以马上做,为什么还要等待一些建议呢,这样剧本就可以尽可能地灵活...这是一个反问句...

那么我想请您帮忙解决最后一个问题:下跌--从卖出价下跌? 上涨--从买入价上涨?是什么原因导致订单无法下达?所有设置都已设定,但订单没有下达....。

非常感谢您的帮助!

检查终端中的 "Journal(日志)"选项卡,如果有错误的交易操作,那里会有错误信息。

 

检查了...现在看来 第一个字段中的值太大,我需要小数位....。这可能吗?

 
让我再重复一遍:更改第一个单元格的值后,其对价格的影响发生了变化,我现在需要小于 1 的分数值...我认为目前的问题是由于以下原因造成的
 
KentR:

已检查...现在看来第一个字段中的值太大了,我需要小数位....。这可能吗?

脚本与此无关。答案在您的截图上标有 "错误 "图标。一般来说,请在另一个符号上进行交易。

 

先生,您好、

是否可以通过增加手数来修改?

例如,一阶手数为 0.1

二阶手数 0.11

三阶手数 0.12

等等


谢谢

 
LOTS 无法更改,始终都是0.01手。
 
keenans :
LOTS 无法更改,始终都是0.01手。

声明不正确。

没错:音量始终等于最小音量。

 

音量总是等于最小音量。看代码:

//--- pending orders DOWN
   for(int i=0;i<InpDownQuantity;i++)
     {
      double price_ask     = start_price_ask-i*ExtDownStep;
      double price_bid     = start_price_bid-i*ExtDownStep;
      if(InpDownOrders==buy_limit)
        {
         double sl         = (ExtStopLoss==0.0)   ? 0.0 : price_ask - ExtStopLoss;
         double tp         = (ExtTakeProfit==0.0) ? 0.0 : price_ask + ExtTakeProfit;
         m_trade.BuyLimit(m_symbol.LotsMin(),m_symbol.NormalizePrice(price_ask),m_symbol.Name(),
                          m_symbol.NormalizePrice(sl),
                          m_symbol.NormalizePrice(tp));
        }
      else
        {
         double sl         = (ExtStopLoss==0.0)   ? 0.0 : price_bid + ExtStopLoss;
         double tp         = (ExtTakeProfit==0.0) ? 0.0 : price_bid - ExtTakeProfit;
         m_trade.SellStop(m_symbol.LotsMin(),m_symbol.NormalizePrice(price_bid),m_symbol.Name(),
                          m_symbol.NormalizePrice(sl),
                          m_symbol.NormalizePrice(tp));
        }
     }
 

你好,这个脚本真的很棒,是 MQ5 上唯一的一个脚本,但我想在我的武器库中也有同样的脚本,但数量要多一些,比如 1 或 0.5。

感谢您的辛勤劳动,祝您节日快乐。