[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 371

 
avatara >> :

>> そして、プラットフォームのリビジョンは?

- >> ビルド225

 
Vinin >> :

インジケーターランプは捨てたほうがいいかもしれませんね。ファーザー・クリスマスに聞くのもいい。大晦日です。


さて、どうしたものでしょう!磁気嵐とか、気圧とか...。何も変わっていないのに、突然、端末がフリーズしてしまった。
 
Fosfalugel писал(а)>>

さて、どうしたものでしょう!磁気嵐とか、気圧とか...。何も変わっていないのに、突然、端末がフリーズした。

そのためには、せめてインジケーターのコードだけでも見ておく必要があります。そうでない場合もありますが。

 
Fosfalugel >> :
1つのインジケータで作業していましたが、すべて順調でした。その後、タイムフレームを切り替えたときにターミナルがハングアップし始め、windupを再インストールしましたが、まだハングアップしています。なぜ(((((((((( ;゚Д゚))))))))))))))


コードを教えてください。そこで何が不具合を起こしているのかを見てみましょう。
 

こんにちは。

差し支えなければ、よろしくお願いします。

シグナルで注文を出すのではなく、BUYSTOP SELLSTOPを保留注文するEAが必要です。

そして、オーダーのトリガーがかかると、うまくいかなかったpredstavlennyを削除するのです。

このコードはプロが書いたものではありませんから、見直していただきたいと思います。

このコードを見直して、なぜそうする必要があるのかを説明してもらいたい(料理の仕方がわからないんです。)

コードそのものです。

extern double lots=0.01;
extern double slippage=3;
extern int TP=5000;
extern int SL=5000;
extern int OrdersCount=1;  // Количество сделок, открываемых одновременно
extern int TrailingStop=0; // Коридор для стоп-лосса
extern int CCIPeriod=12;
extern bool AllowOpenBuy=true;
extern bool AllowOpenSell=true;

//extern int SL=1000;
int current, previous;

int ticket=0;

int BuyTickets[999];
int SellTickets[999];


int init()
{double Up, Dn;

      Up=iCustom(NULL,0, IndicatorName,0, Offset);
      Dn=iCustom(NULL,0, IndicatorName,1, Offset);
      if ( Up!=0) previous=1;
      if ( Dn!=0) previous=-1;

}

int start()
  {   
      double Up, Dn, cup, cdn, cci;
      Up=iCustom(NULL,0, IndicatorName,0, Offset);
      Dn=iCustom(NULL,0, IndicatorName,1, Offset);

      cup=iCustom(NULL,0, IndicatorName,0,0);
      cdn=iCustom(NULL,0, IndicatorName,1,0);
      
      
      //if (NewBar()==false) return (-1);
      //return (0);/*
      
      //cci=iCCI(NULL,0,CCIPeriod,MODE_CLOSE,0);
      
      if ( Up!=0) current=1;
      if ( Dn!=0) current=-1;
      
      TrailingStopControl();  // Выставление стоповых уровней
      
      if ( current!= previous){
      if ( current==1)
            {
                  OpenBuyOrders();
            }
      
      if ( current==-1)
            {
                  OpenSellOrders();
            }           
            previous= current;
            }
            
   return(0);
  }
  
void  TrailingStopControl()
{
  for(int cnt=0; cnt< OrdersCount; cnt++)
   {
         if (!OrderSelect( BuyTickets[ cnt], SELECT_BY_TICKET)) return(1);
      if(OrderSymbol()==Symbol())
      {
      if(OrderType()==OP_BUY)
         {
         if( TrailingStop>0
         && Bid-OrderOpenPrice()>Point* TrailingStop
         && OrderStopLoss()<Bid-Point* TrailingStop)
            {
            OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point* TrailingStop,OrderTakeProfit(),0);
            return(0);
            }
         }
      if(OrderType()==OP_SELL)
         {
         if( TrailingStop>0
         && OrderOpenPrice()-Ask>Point* TrailingStop
         && (OrderStopLoss()>Ask+Point* TrailingStop || OrderStopLoss()==0))
            {
            OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point* TrailingStop,OrderTakeProfit(),0);
            return(0);
            }
         }
      }

         if (!OrderSelect( SellTickets[ cnt], SELECT_BY_TICKET)) return(1);
   if(OrderSymbol()==Symbol())
      {
      if(OrderType()==OP_BUY)
         {
         if( TrailingStop>0
         && Bid-OrderOpenPrice()>Point* TrailingStop
         && OrderStopLoss()<Bid-Point* TrailingStop)
            {
            OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point* TrailingStop,OrderTakeProfit(),0);
            return(0);
            }
         }
      if(OrderType()==OP_SELL)
         {
         if( TrailingStop>0
         && OrderOpenPrice()-Ask>Point* TrailingStop
         && (OrderStopLoss()>Ask+Point* TrailingStop || OrderStopLoss()==0))
            {
            OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point* TrailingStop,OrderTakeProfit(),0);
            return(0);
            }
         }
      }
             
   }


}

bool NewBar()
  {
   static datetime dt=0;
   if (Time[0]!= dt)
     {
      dt=Time[0];
      return(true);
     }
   return(false);
  }
  
  
  void OpenBuyOrders()
  {
    for (int i=0; i< OrdersCount; i++)  
      OrderClose( SellTickets[ i], lots,Ask, slippage,Red);


   if (! AllowOpenBuy) return(1);
    for ( i=0; i< OrdersCount; i++)  
      BuyTickets[ i]=OrderSend(Symbol(),OP_BUY, lots,Ask, slippage,Ask-Point* SL,Ask+Point* TP,"",0,0,Green);

  }


  void OpenSellOrders()
  {
    for (int i=0; i< OrdersCount; i++)  
      OrderClose( BuyTickets[ i], lots,Bid, slippage,Red);

   if (! AllowOpenSell) return(1);
    for ( i=0; i< OrdersCount; i++)  
      SellTickets[ i]=OrderSend(Symbol(),OP_SELL, lots,Bid, slippage,Bid+Point* SL,Bid-Point* TP,"",0,0,Green);
  }
 
新年明けましておめでとうございます、同志の皆さん !
CrunchからXMAインジケータを入手http://https://www.mql5.com/en/code/9123
ということをやってみた。
xxma = iCustom(NULL,15, "Xma",100,7,1,0,1,0);
0を返します。
どうしたんですか?砲塔はあるべき場所にある。
 
spm130275 писал(а)>>
新年明けましておめでとうございます、同志の皆さん !
私はCrunchhttp://https://www.mql5.com/en/code/9123 のXMAインジケータを持っています。
ということをやってみた。
xxma = iCustom(NULL,15, "Xma",100,7,1,0,1,0);
0を返します。
どうしたんですか?インディこそ、あるべき姿なのです。

xxma = iCustom(NULL,15, "Xma",100,7,1,0,1, 0,0);

 

ありがとうございました。

 

アドバイスをお願いします。

仮に最適化の 結果が出たとします。

Profit Trades (% of total)の基準で、フライとカツを分けることは可能ですか?

 

重要なニュースの事前取引をEAで禁止したいのですが、手動ではなく、自動で(ニュースサイトを参照せずに)取引したいのですが。

- ニュースリリースの 可能性を多かれ少なかれ知らせてくれるサインは何でしょうか?(スプレッドの大幅な拡大、短期間での価格変動が激しい)、...他に何かありますか?