任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 609

 
artmedia70:

那里也是如此。自然--一个与另一个并不矛盾。他在计算买入时的止损单。并没有使他们正常化。不检查StopLevel的距离限制。

简而言之,它是一个大杂烩。



我知道了,谢谢你。我真的把价格搞乱了。在下挂单 前应检查StopLevel。停靠点和地段也会被检查出同样的不安全因素。

在这种特殊情况下,根据经纪人的条款,止损平价器=0,而止损和利润被设置得更靠后。至于市场订单的价格,据我所知,它是以最近的市场价格开立的,在这种情况下,止损水平与它无关。对吗?

 
artmedia70:

对于买入,止损和止盈都是从买入价开始计算的--这就是一个。

其次,如果你计算止损单的价格,它们需要被规范化。事实上,SL和TP早些时候被规范化了,这没什么大不了的。然后你在交易订单中使用表达式的非标准化值。

第三,所有的价格必须符合贸易业务的要求和限制。例如,StopLevel的级别可能大于止损单的大小。



我是否正确理解了在交易订单中需要对数值进行规范化处理?
 
告诉我如何,优雅地找到昨天的TIME Lowe。因为我有一些不方便的构造要出来。
 
001:
告诉我如何,优雅地找到昨天的TIME Lowe。因为我有一些不方便的构造要出来。

找到价格通道指标(Doncian channel),把深度为1period的日记...应该是这样
 
YOUNGA:

找到价格通道指标(Doncian通道),在日记上设置一个深度为1period...应该是这样
谢谢,我会试一试的。在我寻找的过程中,还有人有什么选择吗?
 

下午好,请帮我看一下代码。

在这个实施过程中,市场上的买单和卖单被分别平均化了。我怎样才能实现最后打开的订单不受其系列中的一般修改?

extern int t=10;

///////////////////////////////////////////////////////
      int kolOK=0;
//   int i=0;
   int kol1=0;
   int kol2=0;
   double lots1=0;
   double lots2=0;
   double sum0=0;
   double sum=0;
  // double sum1=0;
   /////////////////////////////////////////////////////////////////////
   int Total = OrdersTotal();
   for(int i=Total-1; i>=0; i--)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol()!=Symbol()) continue;
      if (OrderType()==OP_BUY)
      {
       lots1=lots1+OrderLots();
       sum0=sum0+OrderLots()*OrderOpenPrice();
      // sum1=sum1+OrderProfit( )+OrderSwap( )+OrderCommission( )  ; 
       kol1=kol1+1;
      }
      if (OrderType()==OP_SELL)
      {
       lots2=lots2+OrderLots();
       sum=sum+OrderLots()*OrderOpenPrice();
      // sum1=sum1+OrderProfit( )+OrderSwap( )+OrderCommission( )  ;
       kol2=kol2+1;
      }
   }
   ////////////////////////////////////////////////////////////////////////////
   double zeroprice1=0;
   double zeroprice2=0;
   if (lots1!=0) zeroprice1=sum0/lots1;
   if (lots2!=0) zeroprice2=sum/lots2;
   zeroprice1 = (MathRound(zeroprice1*MathPow(10,Digits)))/MathPow(10,Digits);
   zeroprice2 = (MathRound(zeroprice2*MathPow(10,Digits)))/MathPow(10,Digits);

 int res1 = 0;
 int res2 = 0;

 double zeroprice10 = NormalizeDouble(zeroprice1 + t*Point, Digits);
 double zeroprice20 = NormalizeDouble(zeroprice2 - t*Point, Digits);
 if (zeroprice10 !=0 || zeroprice20 !=0) {
   int Total2 = OrdersTotal();
   for(int in=Total2-1; in>=0; in--)
   {
      if (!OrderSelect(in,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol()!=Symbol()) continue;     

           if (OrderType()==OP_BUY) {if (zeroprice10 == NormalizeDouble(OrderTakeProfit(), Digits)) res1=res1+1; else { if (OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),zeroprice10,0,CLR_NONE)) res1 = res1+1;} }

           if (OrderType()==OP_SELL){if (zeroprice20 == NormalizeDouble(OrderTakeProfit(), Digits)) res2=res2+1; else { if (OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),zeroprice20,0,CLR_NONE)) res2 = res2+1;} } 
       }   
   }
 
fmv_for_a_way:


明白了,谢谢。我确实在价格上犯了一个错误。在下挂单之前,我们会检查止损情况。也有一个相同的Lousiness的停止和损失检查。

在这种特殊情况下,经纪人的止损水平=0,而止损和利润的设置要远一些。至于市场订单的价格,我的理解是,它以最近的市场价格开盘,止损水平与它无关。对吗?

不,不是的。阿尔帕里使用双倍差价作为StopLevel。
 
fmv_for_a_way:

我是否正确地理解了你需要对交易订单内的数值进行标准化?
不一定就在里面。但就在发送之前,是的。
 
artmedia70:
里面根本不一定是对的。但就在发货前,是的。


谢谢你。我会寻找一个解决方案。
 
人们,你能告诉我在哪里可以下载MT4 build 625吗?