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

 
を確認しました。他のサウンドイベントも動作しません。
 

CTrade クラスのポジションを開く ためのメソッド(PositionOpen、Buy、Sell)の操作で奇妙な状況が見られます。Expert Advisor は実際にポジションを開きますが(ターミナルで確認できます)、これらのメソッドは false、_LastError=4756(取引要求の送信に失敗しました)を返します。CTrade.ResultRetcode()=10008(注文成立)の間。

最近のアルパリサーバーの運用で何か見落としているのか、バグなのか。

 
blef:

を確認しました。他のサウンドイベントも動作していません。

端末のサウンドは有効になっていますか?

 
はい - 有効です、ROBOFOREXサーバーでも同じことが起こります。
 
MQとROBOFOREXの両方の端末で、すべてのサウンドイベントが動作するようになりました ==>。
 

EAを作成 し、チャート上で実行し、手動でポジションを建てる。

void OnTrade()
  {
//---
   if(OrdersTotal()!=0)
     {
      OrderSelect(OrderGetTicket(0));
      Print("Есть ордера OrdersTotal()=",OrdersTotal()," ",
            EnumToString((ENUM_ORDER_STATE)OrderGetInteger(ORDER_STATE))
            );
     }
   else
     {
      OrderSelect(OrderGetTicket(0));
      Print("Нет ордеров OrdersTotal()=",OrdersTotal()," ",
            EnumToString((ENUM_ORDER_STATE)OrderGetInteger(ORDER_STATE))
            );
     }
  }

チャート上でEAを走らせ、手動でポジションを開き、プリントに入る。

2012.05.02 16:27:10     Template Trades (EURUSD,M15)    Нет ордеров OrdersTotal()=0 ORDER_STATE_STARTED
2012.05.02 16:27:10     Template Trades (EURUSD,M15)    Нет ордеров OrdersTotal()=0 ORDER_STATE_STARTED
2012.05.02 16:27:10     Template Trades (EURUSD,M15)    Нет ордеров OrdersTotal()=0 ORDER_STATE_STARTED

トレーダー」イベントが発生しても注文がないのですが、この「注文なし」タイプは必ず開始されるのはどうしてでしょうか。

このクソゲーはダメだと思う。

 
そして、実行結果を確認するのです
OrderSelect(OrderGetTicket(0));

存在しない注文の状況を聞くことに何の意味があるのでしょうか。また、その場合、第2形態は何を返すのでしょうか?

bool  OrderGetInteger(
   ENUM_ORDER_PROPERTY_INTEGER  property_id, // идентификатор свойства
   long&                long_var          // сюда примем значение свойства
   );
 
Rosh:

そして、実行結果を確認する

存在しない注文の状況を聞くことに何の意味があるのでしょうか。また、この場合、第2形式は何を返すのでしょうか。

やっぱりコード解析の道に進むんですね。

そして、トレーダーイベントがトリガーされ(少なくとも一つは注文を設定する必要があります)、OrdersTotal() が注文がないと言っているので、なぜ注文が あるかどうかを気にしないのでしょうか?

 
Urain:

やっぱりコード解析の道に進むんですね。

また、trades イベントがトリガーされた(少なくとも一つは注文設定によるものでなければならない)にもかかわらず、OrdersTotal() では注文がないと言っているので、注文が あるかどうかを気にしないのはなぜでしょうか?

PositionTotal()が必要なのでは?
 

クラス接続時に表示されたエラーです。

銀は問題なく閉じたが、金はそうはいかなかった。

Если проблема в проскальзывании, то не подскажите как его задавать?
if (myposition.Select(_Symbol))
{
 // закрыть открытую позицию по этому символу
 // величина проскальзывания была установлена ранее 
 mytrade.PositionClose(_Symbol);
}