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

 
costy_:

底部的鱼鳍...:-)

也是一个基本的趋势))

如果欧元下跌,多头下跌,则持平


:-)
 
costy_:
掉期价差是否已被纳入考虑范围?
是的,这就对了。这是因为价差的关系。没有掉期,头寸是短的。因此,专家顾问应该更有弹性,使利润胜过损失。谢谢你,我会试试的。
 
costy_:
关于事实,在为...

Yeah...."详尽的 "答案。每个事件都必须有一个原因。专业人士,遇到一些故障时知道该注意什么。通过算法看了好几次,但我找不到原因 这就是为什么我向专业人士寻求建议--可能是什么原因?
 

我正试图开一个这样的挂单。

//+---------Функция расчета лота---------------------------------------+
double GetLot(int Risk)
{
double Free=AccountFreeMargin()。
double One_Lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED)。
double Min_Lot=MarketInfo(Symbol(),MODE_MINLOT)。
double Max_Lot=MarketInfo(Symbol(),MODE_MAXLOT)。
double Step=MarketInfo(Symbol(),MODE_LOTSTEP)。
double Lot=MathFloor(Free*Risk/100/One_Lot/Step)*Step。
如果(Lot<Min_Lot)Lot=Min_Lot。
如果(Lot>Max_Lot)Lot=Max_Lot。
如果(Lot*One_Lot>Free)返回(0.0)。
return(Lot)。
}

//+----------Функция открытия ордера-----------------------------------+
int NewOrder(int Cmd,double Lot)
{
双TP=0;//takeprofit
double SL=0;//止损
双重PR=0;//价格
while(!IsTradeAllowed())Sleep(100)。
如果(TakeProfit<MarketInfo(Symbol(),MODE_STOPLEVEL))
TakeProfit=MarketInfo(Symbol(),MODE_STOPLEVEL)。
如果(StopLoss<MarketInfo(Symbol(),MODE_STOPLEVEL))
StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL)。
如果(Cmd==OP_BUYSTOP)
{
PR=NormalizeDouble(Ask,Digits)。
如果(TakeProfit>0)TP=NormalizeDouble(Ask+TakeProfit*Point,Digits)。
如果(StopLoss>0)SL=NormalizeDouble(Bid-StopLoss*Point,Digits)。
}
如果(Cmd==OP_SELLSTOP)
{
PR=NormalizeDouble(Bid,Digits)。
如果(TakeProfit>0)TP=NormalizeDouble(Bid-TakeProfit*Point,Digits)。
如果(StopLoss>0)SL=NormalizeDouble(Ask+StopLoss*Point,Digits)。
}
tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,"",0,0,CLR_NONE) 。
if(tic<0)Print("Error opening order:",GetLastError()); Print("Cmd-",Cmd, "Lot=",Lot, "PR=",PR, "SL=",SL, "TP=",TP) 。
return(tic)。
}

当我检查时,我得到一个消息。

2011.12.06 23:36:50 2010.01.06 16:19 Big Dog 1.01 EURUSD,M15:OrderSend函数 的手数无效

2011.12.06 23:36:50 2010.01.06 16:19 大狗1.01 EURUSD,M15: OrderSend error 4051

2011.12.06 23:36:51 2010.01.07 17:20 大狗1.01 EURUSD,M15: 错误的订单打开:405

2011.12.06 23:36:51 2010.01.07 17:20 大狗 1.01 EURUSD,M15: Cmd-5Lot=0PR=1.4316SL=1.4419TP=1.4216

很明显,这与地段的计算有关,但我不明白是什么)))。 请告知

 
LOA:

Yep...."详尽的 "答案。每个事件都必须有一个原因。专业人士在遇到一些故障时,知道应该注意什么。我把算法看了好几遍,但找不到原因。 这就是为什么我向专业人士请教--可能是什么原因?

那么,指标在哪里呢!?(我猜是通过咖啡渣电话。https://www.mql5.comhttps://www.mql5.com/ru/)

好吧,如果你把所有东西都列出来,信就会用完。

继续中断返回看是否有中断,以及中断发生的时间。与打开bar.... 的工作。

"遇到一些问题知道要注意什么",他们不注意却开始调试,也开始调试你的指标,比如通过打印(更有甚者用别人的,于是15页长,50多个调用的函数......)。

Print("дошли до инициализации, сделаем ресайз запишем все 0.0 size="+ArrayRange(buf,0)+" resize= "+ArrayResize(buf,Bars)+"  "+ArrayInitialize(buf,0.0)) ;

 

你好。

我已经创建了一个数组。

double fibo[]={-10.09,-5.854,-4.98,-4.108,-3.236,-2.618,-2.11,-1.618,-1.11,-0.618,-0.382,0,0.118,0.236,0.382,0.5,0.618,0.764,0.882,1,1.382,1.618,2.11,2.618,3.11,3.618,4.236,5.108,5.98,6.854,11.09};

然而,由于某些原因,它的第一个值变成了零(-10.09变成了0)。 我通过这样做找到了摆脱困境的办法。

double fibo[]={,-10.09,-5.854,-4.98,-4.108,-3.236,-2.618,-2.11,-1.618,-1.11,-0.618,-0.382,0,0.118,0.236,0.382,0.5,0.618,0.764,0.882,1,1.382,1.618,2.11,2.618,3.11,3.618,4.236,5.108,5.98,6.854,11.09};

你能告诉我这是怎么回事吗?我非常想了解。

预先感谢你。

 
nemo811:

你好。

我已经创建了一个数组。

然而,由于某些原因,它的第一个值变成了零(-10.09变成了0)。我通过这样做找到了摆脱困境的办法。

你能告诉我这是怎么回事吗?我非常想了解。

预先感谢你。

我没有用索引=0进行归零

double fibo[]={-10.09,-5.854,-4.98,-4.108,-3.236,-2.618,-2.11,-1.618,-1.11,-0.618,-0.382,0,0.118,0.236,0.382,0.5,0.618,0.764,0.882,1,1.382,1.618,2.11,2.618,3.11,3.618,4.236,5.108,5.98,6.854,11.09};
Alert(fibo[0]);

2011.12.06 20:00:47 MA_TF AUDUSD,M30:Alert:-10.09


 

这里是代码中存在问题的部分。

  if (FIBO)
   {
    double fibo[]={-10.09,-5.854,-4.98,-4.108,-3.236,-2.618,-2.11,-1.618,-1.11,-0.618,-0.382,0,0.118,0.236,0.382,0.5,0.618,0.764,0.882,1,1.382,1.618,2.11,2.618,3.11,3.618,4.236,5.108,5.98,6.854,11.09};
    double fiboPoint = 0;
    for(i=1;i<ArraySize(fibo)+1;i++)
     {
      fiboPoint = NormalizeDouble(MinAsia+Asia*fibo[i],Digits);
      double v = 0;
      if (fibo[i]<0) v=(MathAbs(fibo[i])+1)*100;
      else v=fibo[i]*100;
      string kk;
      kk=StringConcatenate (DoubleToStr(fiboPoint,Digits)," / ",DoubleToStr(v,1),"%");
      string k=DoubleToStr (i,0);
      ObjectCreate (nameF+k, OBJ_TREND, 0,0,0,0,0,0,0);
      ObjectSet (nameF+k, OBJPROP_RAY, false);
      ObjectSet (nameF+k, OBJPROP_TIME1, TimeBegAsia);
      ObjectSet (nameF+k, OBJPROP_PRICE1, fiboPoint);
      ObjectSet (nameF+k, OBJPROP_TIME2, FlowTime);
      ObjectSet (nameF+k, OBJPROP_PRICE2, fiboPoint);
      ObjectCreate (nameFT+k, OBJ_TEXT, 0,0,0,0,0,0,0);
      ObjectSet (nameFT+k, OBJPROP_TIME1, TimeBegAsia);
      ObjectSet (nameFT+k, OBJPROP_PRICE1, fiboPoint);
      ObjectSetText (nameFT+k,kk,8,"Arial");
     }
   }

下面是上面描述的问题:从数值-10.09得出的线没有被画出来(它取的是MinAsia 的数值

 
nemo811:

这里是代码中存在问题的部分。

tuz

for(i=0;i<ArraySize(fibo)/**/-/**/1;i++)
 
mamba5:

我正试图开一个这样的挂单。

//+---------Функция расчета лота---------------------------------------+

当我检查时,我得到一个消息。

2011.12.06 23:36:50 2010.01.06 16:19 Big Dog 1.01 EURUSD,M15: OrderSend函数的手数无效

2011.12.06 23:36:50 2010.01.06 16:19 大狗1.01 EURUSD,M15: OrderSend error 4051

2011.12.06 23:36:51 2010.01.07 17:20 大狗1.01 EURUSD,M15: 错误的订单打开:405

2011.12.06 23:36:51 2010.01.07 17:20 大狗 1.01 EURUSD,M15: Cmd-5Lot=0PR=1.4316SL=1.4419TP=1.4216

很明显,这与地段的计算有关,但我不明白是什么)))。 请告知


使用久经考验的功能,为测试者和真正的兜售 者开立订单
原因: