エラー、バグ、質問 - ページ 1311

 
Ivan Vagin:

ウェブサイトは開くが、画像が表示されない。

また、添付ファイルを開こうとすると

問題が続く。

残念ながら、古いデバイスは、当社のウェブサーバーで使用されている安全な接続に対応していません。

以下のオプションを推奨します。

  1. 可能であれば、Androidの バージョンをアップデートしてください。
  2. 別のブラウザを使用する(例:Chrome)。
  3. デバイスのアップデート
 
Alexandr Bryzgalov:

ペアのみ。

以下はそのコードです(古いスタイル)。

ご指摘ありがとうございます!しかし、スクリプト自体は重なった注文を閉じるためにあるのです。

端末機能そのものによる実現に興味があります!

ファイル:
 
murad:

残念ながら、古い機種では、当社のウェブサーバーで使用されている安全な接続をサポートしていません。

以下のオプションを推奨します。

  1. 可能であれば、Androidのバージョンをアップデートしてください。
  2. 別のブラウザを使用する(例:Chrome)
  3. デバイスのアップデート

広告も見れない。

 
Trace Trades on the Chart」オプションを有効にした場合、トレースは自動的にチャートに表示されるのですか、それとも追加の操作を行う必要がありますか?ターミナル MetaTrader 5 build 1135。
 

取引所取引のあるブローカーを1社確保しました。

私のExpert Advisorは、標準のライブラリを 使用しています。

実行すると、Expert Advisorのログにコマンドが発生したことが表示されます。

         trade.PositionOpen(_Symbol,// инструмент
                            ORDER_TYPE_BUY,// 
                            inLot,// количество лотов для торговли
                            ask,// последняя цена  ask
                            0.0,// Stop Loss
                            0.0,// Take Profit 
                            " ");                                             // без комментариев  

しかし、端末のログには何も残っていない。図書館で調べたりしています。こんなの見つけた。

   if(!FillingCheck(symbol))
      return(false);

ここでクラッシュしてしまうのです。

さらに検索して、これにたどり着きました。

         //--- wrong filling policy, set error code
         m_result.retcode=TRADE_RETCODE_INVALID_FILL;
         return(false);

戻ってきたら、こんなものがありました。

//--- get possible filling policy types by symbol
   uint filling=(uint)SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);

0を返します。

このブローカーのサポートスタッフに電話をかけてみた。

と言われました。

"Expert Advisor "で為替執行を設定する場合は、タイプチェックを無効にしてください。

どうしたらいいんだろう。証券会社の取引でどんな誤差があるのか、証券会社に聞いてみるべきですね。

 
Alexey Klenov:

取引所取引のあるブローカーを1社確保しました。

私のExpert Advisorは標準ライブラリを 使用しています。

実行すると、Expert Advisorのログにコマンドが発生したことが表示されます。

しかし、端末のログには何も残っていない。図書館で調べたりしています。こんなの見つけた。

ここでクラッシュしてしまうのです。

さらに検索して、これにたどり着きました。

戻ってきたら、こんなものがありました。

0を返します。

このブローカーのサポートスタッフに電話をかけてみた。

と言われました。

"Expert Advisor "で為替執行を設定する場合は、タイプチェックを無効にしてください。

どうしたらいいんだろう。証券会社の取引でどんな誤差があるのか、証券会社に聞いてみようかな。

Trade.PositionOpen()の代わりにOrderSend()を使ってみてください。
 
Михаил:
Trade.PositionOpen()の代わりにOrderSend()を使ってみてください。
         MqlTradeRequest req;
         req.action=TRADE_ACTION_DEAL;       // Тип выполняемого действия
         req.symbol=_Symbol;                 // Имя торгового инструмента
         req.volume=inLot;                   //Запрашиваемый объем сделки в лотах
         req.type=ORDER_TYPE_BUY;            //Тип ордера
         //req.type_filling=ORDER_FILLING_FOK; // Тип ордера по исполнению
         //+------------------------------------------------------------------+
         //|                                                                  |
         //+------------------------------------------------------------------+
         MqlTradeResult rez;

         OrderSend(req,rez);

2015.05.20 23:01:55.387 トレード '*****': 失敗した為替買い 0.10 EURUSD at market [Unsupported filling mode] (サポートされていない充填モード)

コメント付きのtype_fillingでも結果は同じです。

 
Alexey Klenov:

2015.05.20 23:01:55.387 トレード '*****': 失敗した為替買い 0.10 EURUSD at market [Unsupported filling mode] (サポートされていない充填モード)

MqlTradeRequest request = {0};
  MqlTradeResult  result  = {0};
   
//--- Fill structure
  request.magic = 987654321;
  request.symbol = _Symbol;
  request.volume = inLot; 
  request.type_filling = ORDER_FILLING_IOC; //Взять то, что можно взять :)
  request.type_time = ORDER_TIME_DAY;
  request.action = TRADE_ACTION_DEAL;

 request.type = ORDER_TYPE_BUY;            //Тип ордера 

  request.comment = "Рыночный ордер...";
 
Михаил:
結果は同じ
 
Alexey Klenov:
結果は同じ

ブローカーにファック!

セック、小切手を投げるから結果を載せてくれ...。

//+------------------------------------------------------------------+
//| Expert Check Market Parametrs function                           |
//+------------------------------------------------------------------+
bool CheckMarketParam( const string a_symbol )
{
//--- Check for full mode
  long trade_mode = long( SymbolInfoInteger( a_symbol, SYMBOL_TRADE_MODE ) );
  
  if ( ( SYMBOL_TRADE_MODE_FULL & trade_mode ) != SYMBOL_TRADE_MODE_FULL )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает полную торговлю!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
//--- Check trade execution mode
  long market_info = long ( SymbolInfoInteger( a_symbol, SYMBOL_TRADE_EXEMODE ) );
    
  if ( market_info != SYMBOL_TRADE_EXECUTION_EXCHANGE )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает TRADE EXECUTION EXCHANGE режим!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
//--- Check orders mode
  int order_mode = int( SymbolInfoInteger( a_symbol, SYMBOL_ORDER_MODE ) );
  
  if ( ( SYMBOL_ORDER_MARKET & order_mode )!= SYMBOL_ORDER_MARKET )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает Market Execution режим установки ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  
  if ( ( SYMBOL_ORDER_LIMIT & order_mode )!= SYMBOL_ORDER_LIMIT )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает Limit режим установки ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  
  if ( ( SYMBOL_ORDER_STOP_LIMIT & order_mode ) != SYMBOL_ORDER_STOP_LIMIT )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает Stop Limit режим установки ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  
  if ( ( SYMBOL_ORDER_STOP & order_mode )!= SYMBOL_ORDER_STOP )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает Stop режим установки ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  
  if ( ( SYMBOL_ORDER_SL & order_mode) != SYMBOL_ORDER_SL )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает Stop Loss режим установки ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  
  if ( ( SYMBOL_ORDER_TP & order_mode) != SYMBOL_ORDER_TP )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает Take Profit режим установки ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
//---Filing mode
  int filling_mode = int( SymbolInfoInteger( a_symbol, SYMBOL_FILLING_MODE ) );
  
  if ( ( SYMBOL_FILLING_IOC & filling_mode ) != SYMBOL_FILLING_IOC )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает filling IOC режим исполнения ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  
  if ( ( SYMBOL_FILLING_FOK & filling_mode ) != SYMBOL_FILLING_FOK )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает filling IOC режим исполнения ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }      
//---Ckeck expiration
  int symbol_exp_type = int( SymbolInfoInteger( a_symbol, SYMBOL_EXPIRATION_MODE ) );
  
  if ( ( symbol_exp_type & SYMBOL_EXPIRATION_DAY ) != SYMBOL_EXPIRATION_DAY )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает экспирацию DAY!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  return( true );
}