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

 
Alexey Navoykov:
コンパイラは勝手にインライン化してくれるので、オーバーロードする必要はないのです。そして、MQLではこの指定子は全くなく、互換性のためだけに追加されたものです(何のために、このようなマクロを自分で宣言できるようにしたのか分かりませんが)。
また、コンパイラがループ内のGetTo() 数の100500回の呼び出しを インライン化し、呼び出しの前にif(何か)があり、この何かが5年に一度でも偽であることを誰が保証できるでしょうか?
ディスアセンブラ・コードに目を通して確認するよりも、インラインで書く方が簡単だと思います。
 
Vladimir Simakov:
もし、GetTo()の呼び出しの前にif(something)があり、このsomethingが5年に一度だけ偽になる場合、コンパイラはループの中で100500回の呼び出しを インライン化すると誰が保証できるでしょうか?
ディスアセンブラのコードを見て確認するより、インラインで書く方が楽だと思います。
失礼ですが、ex4, ex5のコードを分解しているのでしょうか?
 
Artyom Trishkin:
失礼ですが、ex4, ex5のコードを分解しているのでしょうか?

Artyom、モデレーターとして、私は以前に書いた、このことで私を助けてください:

"サイト管理者向け

どこにあるのかわからなかったので、ここに書きます。

プロフィールの販売者の詳細を変更する必要がある。

どうすればいいのでしょうか?

出品者のアカウントにだいぶ前にメッセージを書いたのですが、返信がありません。

他に方法があるのでは?

"

 
Andrey Egorov:

Artyom、モデレーターとして、私は以前に書いた、このことで私を助けてください:

"サイト管理者向け

どこにあるのかわからなかったので、ここに書きます。

プロフィールの販売者の詳細を変更する必要がある。

どうすればいいのでしょうか?

出品者のアカウントにだいぶ前にメッセージを書いたのですが、返信がありません。

他に方法があるのでは?

"

このスレッドに書き込んでください(+運営に要望を通しました)。

Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • 2010.03.08
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
Artyom Trishkin:
失礼ですが、ex4, ex5のコードの分解は行っていますか?
いいえ、そこには根本的な複雑さがあるのでしょうか?
デコンパイルと混同しないように - これらは異なるものです。
 
Vladimir Simakov:
いいえ、そこには根本的な複雑さがあるのでしょうか?
デコンパイルと混同しないように - これらは異なるものです。

具体的な質問をしたのです。具体的な回答があったんですね。

そして「何かと何かを混同している」というのは、あなたの捏造です。心配しないでください - 私は知っているし、私は混乱していない、あなたの他の質問はここで重複しています。

 
Vladimir Simakov:
また、コンパイラがループの中でGetTo() 数を100500回呼び出し、この呼び出しの前にif(something)があり、このsomethingが5年に一度でも偽であれば、誰が保証できるでしょうか?
ディスアセンブラのコードを見て確認するより、インラインで書く方が楽だと思います。

そして、Releaseモードでのインラインで多くの最適化ができたのですね。)

p.s. 先日、アライメントをいじっていたのは、あなたではありませんか?

 

友人たちよ、これがどうしたのか教えてくれないか? 一ヶ月はすべてうまくいっていたのだが、あえて預金をロードしようとしたら、エラーが出た - カルマは黒だ :(

以下は、Expert Advisorからのインジケータの呼び出し です。

//+------------------------------------------------------------------+
//|значение Regressor Номера буферов: 0 - Up, 1 - Center, 2 - Low    |
//+------------------------------------------------------------------+
double Regressorf(int Bufer,int index)
  {
   double MA[1];
   ResetLastError();
   if(CopyBuffer(handle_Regressor,Bufer,index,1,MA)<0)
     {
      Print("handle_Regressor: Bufer=",Bufer," index=",index);
      PrintFormat("Failed to copy data from the handle_Regressor indicator, error code %d",GetLastError());
      return(0.0);
     }
   Print("handle_Regressor: Bufer=",Bufer," index=",index," arr=",MA[0]);
   return MA[0];
  }

7月以降、私の監視下で実際のアカウントで積極的にすべてのテストを行い、エラーはありませんでしたが、今はそれがあります :(

2019.08.15 20:51:11.827 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1)        Failed to copy data from the handle_Regressor indicator, error code 4806
2019.08.15 20:51:58.329 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1)        handle_Regressor: Bufer=1 index=627
2019.08.15 20:51:58.329 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1)        Failed to copy data from the handle_Regressor indicator, error code 4806
2019.08.15 20:52:44.840 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1)        handle_Regressor: Bufer=0 index=627
2019.08.15 20:52:44.840 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1)        Failed to copy data from the handle_Regressor indicator, error code 4806
2019.08.15 20:53:31.350 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1)        handle_Regressor: Bufer=2 index=627
2019.08.15 20:53:31.350 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1)        Failed to copy data from the handle_Regressor indicator, error code 4806
2019.08.15 20:54:17.867 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1)        handle_Regressor: Bufer=1 index=627

それは何でしょう?同時にインジケータ自体も視覚的に動作し、EAを再初期化することで問題が解決しました。

 

こんにちは。

くだらない質問かもしれませんが、何が間違っているのかがわかりません。MQL5を学び始めて、最初の問題が発生しました。注文(買い/売り、どんな注文でも)をすぐに開始するスクリプトは使えません。MQL5リファレンスから レディコードを取り出して実行してみたところ(チャートウィンドウにスクリプトをアタッチ)。うまくいかなかった。コンパイル時には、もちろんエラーは発生しませんでした。チャートに添付することができません。すべてが当たり前なのかもしれませんが、途方に暮れています。

#define  EXPERT_MAGIC 123456   // MagicNumber эксперта
//+------------------------------------------------------------------+
//| Открытие позиции Buy                                             |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- объявление и инициализация запроса и результата
   MqlTradeRequest request={0};
   MqlTradeResult  result={0};
//--- параметры запроса
   request.action   =TRADE_ACTION_DEAL;                     // тип торговой операции
   request.symbol   =Symbol();                              // символ
   request.volume   =0.1;                                   // объем в 0.1 лот
   request.type     =ORDER_TYPE_BUY;                        // тип ордера
   request.price    =SymbolInfoDouble(Symbol(),SYMBOL_ASK); // цена для открытия
   request.deviation=5;                                     // допустимое отклонение от цены
   request.magic    =EXPERT_MAGIC;                          // MagicNumber ордера
//--- отправка запроса
   if(!OrderSend(request,result))
      PrintFormat("OrderSend error %d",GetLastError());     // если отправить запрос не удалось, вывести код ошибки
//--- информация об операции
   PrintFormat("retcode=%u  deal=%I64u  order=%I64u",result.retcode,result.deal,result.order);
  }

何が問題なのか、アドバイスをお願いします。それとも、コードは正しくて、私が不器用なだけなのでしょうか?

 
Kelser05:

こんにちは。

くだらない質問かもしれませんが、何が間違っているのかがわかりません。MQL5を学び始めて、最初の問題が発生しました。注文(買い/売り、どんな注文でも)をすぐに開始するスクリプトは使えません。MQL5リファレンスから レディコードを取り出して実行してみたところ(チャートウィンドウにスクリプトをアタッチ)。うまくいかなかった。コンパイル時には、もちろんエラーは発生しませんでした。チャートに添付することができません。たぶん、すべてクリアしているのだろうが、途方に暮れている。

どうしたのか、教えてください。それとも、コードは正しくて、私が不器用なだけ?


ジャーナルには何と書いてある?