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

 

インジケーターでは、TF切り替え時にスタティック変数が 初期化されます。

これがあるべき姿なのか?

//+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 0
#property indicator_plots   0
static bool flag=true;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   Print(flag);
   flag=false;
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
  {
   return(rates_total);
  }
Документация по MQL5: Основы языка / Переменные / Статические переменные
Документация по MQL5: Основы языка / Переменные / Статические переменные
  • www.mql5.com
Основы языка / Переменные / Статические переменные - Документация по MQL5
 
Swan:

インジケーターでは、TF切り替え時にスタティック変数が 初期化されます。

こんなんでいいんですか?

はい、「プログラムの 実行」セクションによると、シンボル/タイムフレームが変更されると、インジケータは常に再作成されるからです。

インジケーターのロードとアンロード

インジケーターは次のような場合に読み込まれます。

  • インジケーターをチャートに貼り付けます。
  • 端末の起動(端末が以前に閉じられる前にインジケータがチャートに取り付けられていた場合)
  • テンプレートの読み込み(チャートにインジケータが添付されている場合)
  • プロファイルの変更(インジケータがプロファイルチャートの1つに取り付けられている場合)。
  • チャートのシンボルや期間を変更すること。
  • インジケータがリコンパイルに成功した後、そのインジケータがチャートにアタッチされている場合。
  • インジケータ入力 パラメータの変更。
 

アイドルではなくSD(#693859) で回答を待っている間に、もしかしたらMCの方がここで回答してくれるかもしれませんね。

インジケータでのSendFTP 送信は可能になるのでしょうか?

代替案もありますが、こちらの方が簡単でしょう。

 
Karlson:

アイドルではなくSD(#693859) で回答を待っている間に、もしかしたらMCの方がここで回答してくれるかもしれませんね。

インジケータでのSendFTP送信は可能になるのでしょうか?

それはありえないことです。SendFTP関数は、インジケーターのランタイム(チャートとの全ての操作に1つ、実際はインターフェース関数)を不定期に抑制することができます。これまでにも何度も言ってきたことです。
Документация по MQL5: Общие функции / SendFTP
Документация по MQL5: Общие функции / SendFTP
  • www.mql5.com
Общие функции / SendFTP - Документация по MQL5
 
ご返信ありがとうございました。
 
有料でマーケットに置かれた(まだ誰も買っていない)インディケータを有料部分から削除して、無料部分に公開することは可能でしょうか(可能だとしたら、方法がわかりませんでした)?
 
CPositionInfo クラスについて質問です。MT5では、1つの商品に対して1つのポジションしか建てることができず、それはすべての取引/ポジションを取った合計となります。このクラスは、(1)この1つの最終ポジションだけの特性を見つけることができるか、(2)この最終ポジションを構成する個々の取引/ポジションの特性を見つけることができるか。2の答えがNOなら、個々の取引・ポジションの特性はどのようにしたらわかるのか、教えてください。
 
paladin800:
CPositionInfo クラスについて質問です。MT5では、1つの商品に対して1つのポジションしか建てることができず、それはすべての取引/ポジションを取った合計となります。このクラスは、(1)この1つの最終ポジションだけの特性を見つけることができるか、(2)この最終ポジションを構成する個々の取引/ポジションの特性を見つけることができるか。2の答えがノーなら、個々のトレード/ポジションのプロパティを見つける方法を教えてください。
これは、トレードの履歴を分析することで実現できます。
 
tol64:
これは、取引履歴を分析することで実現できる。
CDealInfoについても考えて みました。Expert Advisor を作成する際の標準ライブラリの取引クラスの使用方法、セクション 1.5 を読みましたが、履歴で、すでに決済された取引とまだ市場にある(現在のポジションを構成する)取引を区別する方法がよく分かりません。それとも、このクラスはその性質上、未決済の取引にしか使えないのでしょうか?
 
paladin800:
CDealInfoについても考えて みました。エキスパートアドバイザーを作成する際の標準ライブラリのトレードクラスの使用方法、セクション1.5を読みましたが、すでに決済されたトレードとまだ市場にあるトレード(および現在のポジションから成るもの)を履歴で区別する方法がよくわかりません。それとも、このクラスはその性質上、まだクローズしていない取引にしか使えないのでしょうか?
未公開の案件はありません。取引が成立すると、すぐに履歴に入ります。ポジションオープンの時間を決めて、その時間から履歴を取得し、このポジションを作った案件だけで作業する必要があります。このテーマについて、多くの事例を紹介する記事を近日中に掲載する予定です。