[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 549

 
Equilibrium:

非常感谢)),订单关闭工作,没有错误,但标准又不像预期的那样工作((,附上代码和屏幕截图,请帮助。
if (M_2 < S_2 && M_1>=S_1) 
      { 
       if (Total>0)
         {
          Close_Order (Lts,Tip);
         } 
       if (Total==0 тут критерий не сработает, так как переменная Total еще равна предыдущему значению, т.е. 1 и ордер открываться не будет
				 нужно использовать OrdersTotal() или перерассчитывать ее

       
         {                                          
          Open_Order_B (Lts);     
         }                                      
      }
   if (M_2 > S_2 && M_1<=S_1 ) 
      { 
       if (Total>0)
          {
           Close_Order (Lts,Tip); 
          }
       if (Total==0)         то же самое
          {                                          
           Open_Order_S (Lts);                                               
          }


一目了然,我看到的是在关闭订单的功能中,你需要通过票据选择订单OrderSelect(Ticket, SELECT_BY_TICKET),手数指示不是变量Lts,因为它每次都要重新计算,而是使用OrderLots() 还有一点,你一直在0条上工作,分别在一个条上的标准可能会消失,你的订单可能不会在你希望的地方打开。在指标参数中用1替换条形0,用2替换1


 
borilunad:

谁有义务做5,000个?从100个开始,测试你自己,你的经纪人,然后自信地做出决定!这笔钱是你的!

半年来,我一直靠小量的去势来维持正常的生活!一切都是正确的 :)
 
Beowulf:

半年来,小仓库的一切都很好!一切都是公平的,因为它应该是:)
如果一切正常,那就扔进2000美元,再工作6个月。然后你会看到结果。
 
所有的电脑都登录了META TRADER 账户,但只有我的电脑不工作 :-(也许有人能告诉我可以怎么做?也许可以另外安装一些东西。我只是不想重新安装VIN...我甚至卸载了防火墙,我想这是问题所在,我重新安装了20次程序......MarketTrader的工作没有任何问题,我想用Metatrader来工作!
 
kolospav:
所有的电脑都登录了META TRADER账户,但只有我的电脑不工作 :-(也许有人能告诉我可以怎么做?也许可以另外安装一些东西。我只是不想重新安装VIN...我甚至卸载了防火墙,我想这是问题所在,我重新安装了20次程序......我使用MarketTrader没有问题,我想运行Metatrader!
这台电脑位于哪里?例如,在家里MT4连接到服务器很好,但在工作中却不能。
 

下午好!我甚至不知道该怎么写。这是我自己的功能,我忘记了。是的,即使在第5版中也是如此,谁能澄清一下?如何在四肢上实施?

double GetLot(  double Riskk,  ENUM_ORDER_TYPE  action ,  string  symbol ,   double  price ,  double   Lott  ){ 

                     double  volume=1,margin=1; 

                       if(use_percent_of_deposit) return  (Lot) ; MqlTick last_tick;SymbolInfoTick(Symbol(),last_tick);

                                                                                   switch(action)

     {

      case ORDER_TYPE_BUY: price=last_tick.ask ;

      case ORDER_TYPE_SELL: price=last_tick.bid ;

      case ORDER_TYPE_BUY_LIMIT: price=price;

      case ORDER_TYPE_SELL_LIMIT:  price=price;

      case ORDER_TYPE_BUY_STOP:  price=price;

      case ORDER_TYPE_SELL_STOP:  price=price;

      case ORDER_TYPE_BUY_STOP_LIMIT:  price=price;

      case ORDER_TYPE_SELL_STOP_LIMIT:  price=price;}

                     OrderCalcMargin(

         action,           // тип ордера

                  symbol,           // имя символа

                  volume,           // объем

                  price,            // цена открытия

                 margin            // переменная для получения значения маржи

                   ); 

         

         double  Koeffitsyenta=AccountInfoDouble(ACCOUNT_BALANCE)/ margin ;

         Lott= (Koeffitsyenta*Riskk)/100;

         double Shag=1/SymbolInfoDouble(symbol,SYMBOL_VOLUME_STEP); 

          Lott= Lott*Shag; Print( "Lot*Shag  " ,  Lot   );

         Lott=NormalizeDouble(Lot,0); 

          Lott= Lott/Shag;

         double MAX=SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX);

           double MIN=SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN);

          if (Lot>MAX) Lot=MAX;if (Lot<MIN) Lot=MIN;

          return(Lot);

                 

                   }
 

请告知如何在代码中计算自定义指标 的值,不知为何它不起作用。

double osma1=iCustom(NULL, 0, "OsMA",12,26,9, 0,1);

搞不清楚是什么问题

 
用代码显示你在做什么?
 
kwadrad:

请告知如何在代码中计算自定义指标的值,不知为何它不起作用。

double osma1=iCustom(NULL, 0, "OsMA",12,26,9, 0,1);

搞不清楚是什么问题


问题中没有足够的信息。重读它。并 检查一切。
 
Roman.:

问题中没有足够的信息。请重读它。检 查一切。


你需要计算自定义指标 "OsMA "的值。

用代码写作

double osma1=iCustom(NULL, 0,"OsMA",12,26,9,0,1);

它应该返回前一根蜡烛的OsMA值。

但在现实中,它返回一些错误的结果。

缓冲区似乎是 "0",指标代码有三个参数,写的顺序与指标代码相同,但结果是错误的。

问题:你能告诉我错误在哪里吗?