[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 85

 
OTPOK:

还有一件事--我如何以编程方式改变已开订单的止损?


https://docs.mql4.com/ru/trading/OrderModify
 
FOReignEXchange:


下午好。我想你从来没有给变量赋过值。这是很容易做到的。

价格购买=询问


实际上:PriceBuy=Bid。
 
Roger:

实际上:PriceBuy=Bid。

嗯,这是一个意见问题。而如果实事求是地说,Asc。
 

你好。

请告诉我,计算一串数字的总和的表达式 delta*(2*Lot+Lot*(i-2))*(i-1)/2是否正确

for (int i=1; i<=MaxOrders; i++) {

double Sum=Lot。

Sum+=delta*(2*Lot+Lot*(i-2))*(i-1)/2; }

如果没有错误,如何将 "Sum+"值替换成X=("Sum+"+Y)/Z这样的表达式呢?

源代码。

for (int i=1; i<=MaxOrders; i++)
   {
      if (BUY)
      {
         Price = NormalizeDouble(Ask-delta*i*Point,Digits);
         double Sum=Lot;
         Sum+=delta*(2*Lot+Lot*(i-2))*(i-1)/2;
         DeltaProfitL = (Sum+i*delta*Lot+Lot*R_Lot*R_point+Lot*R_Lot*delta*i)/((2*Lot+Lot*(MaxOrders-1))*MaxOrders/2+Lot+Lot*R_Lot);
         if (takeprofit!=0) TP  = NormalizeDouble(Price + (takeprofit + DeltaProfitL*zero_tp)*Point,Digits); else TP=0;
         if (stoploss!=0)   SL  = NormalizeDouble(Price - stoploss*Point,Digits); else SL=0;     
         OPENORDER ("Buy Limit",Price,SL,TP,i);
      }
   }

提前感谢。

 
nemo811:

你好。

请告诉我,计算一串数字的总和的表达式 delta*(2*Lot+Lot*(i-2))*(i-1)/2是否正确

for (int i=1; i<=MaxOrders; i++)

double Sum=Lot。

Sum+=delta*(2*Lot+Lot*(i-2))*(i-1)/2;

如果没有错误,如何在X=("Sum+"+Y)/Z这样的表达式中替换 "Sum+"值呢?

提前感谢。


这不就可以了吗?

for (int i=1; i<=MaxOrders; i++)

Sum=Sum+delta*(2*Lot+Lot*(i-2))*(i-1)/2;

只是不清楚为什么Sum=Lot;以及它在一般情况下有什么作用。

 
FOReignEXchange:


只是不清楚为什么Sum=Lot;以及一般来说是什么原因。

我在第81页问了一个类似的问题。我已经按照给我的答案做了一切。但到目前为止,还没有任何结果。

Sum=Sum+delta*(2*Lot+Lot*(i-2))*(i-1)/2; - 不适合我的计算。

 
delta*(2*Lot+Lot*(i-2))*(i-1)/2是有关序列的数字公式。我需要对给定序列的所有数字进行求和。
 
nemo811:
delta*(2*Lot+Lot*(i-2))*(i-1)/2是有关序列的数字公式。我需要将给定序列的所有数字相加


所以我写了一个公式。

我知道你需要计算这样的东西

和 =delta*(2*Lot+Lot*(1-2))*(1-1 )/2 +delta*(2*Lot+L ot*(2 -2))*(2-1 )/2 +delta*(2*Lot+L ot*(3-2))*(3-1)/2+ ...等。

这就是Sum=Sum+delta*(2*Lot+Lot*(i-2))*(i-1)/2的公式,你在操作体中为i设置限制。 当操作者完成后,Sum将取得所需的值。重要的是,在操作员开始进行计算之前,Sum等于零。在操作员退出时,Sum将采取所需的值。

 

我不知道订购一个EA 需要多少钱,但我确信我可以让它在两个图表中工作。

啊,一般来说,可以让它对2种不同的货币工作一次(同时在两个图表上),并在每个不同的交易中打开。

例如,我在第一次买入,在第二次卖出?

而在关闭其中一个交易时,开启了与已经开启的交易相反的交易....。

也许有人知道,也许有这样一个专家顾问,只是我想到了一个好主意.....。

 
for (int i=1; i<=MaxOrders; i++)
   {
      if (BUY)
      {
         Price = NormalizeDouble(Ask-delta*i*Point,Digits);
         double Sum=0;
         Sum=Sum+delta*(2*Lot+Lot*(i-2))*(i-1)/2;   ........
      }
}
谢谢你。这是正确的做法吗?