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

 

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

バグ、バグ、質問

tol64, 2013.05.05 19:21

理解できたが、自分の問題は解決していない。まだ解決していませんが、タイムフレーム/シンボルを切り替えるとまれに、週末(ティックが来ない時)に発生します。インジケータ・シリーズは、データウィンドウ・ナビゲータにも チャート上にも表示されないことがありますが、プログラムでデータを取得することができます。こんな感じです。

...

//---

サブウィンドウが表示されず、データウィンドウナビゲータでも 表示されない場合は、バッファが空(empty_value)であることを意味し、チェックすることでOnCalculate()を呼び出して更新できるのではないかと最初に考えました。しかし、メロンが緩衝材に入っているため、うまくいかなかった。

これはバグなのでしょうか?

手動では時間軸を入れ替えるとすぐに直る。もちろん、ユーザーに説明する必要はなく、プログラム的にすっきりと解決したい。このような問題に遭遇された方はいらっしゃいますか?

バグでないなら、インジケータのグラフ系列がサブウィンドウに(データウィンドウにも)表示されないと判断する方法が必要です。プログラム的に取得することも可能であるため、その方法は不明である。次に、サブウィンドウに何もないと判断した後、タイマーでOnCalculate()を呼び、変数prev_calculatedを ゼロにして再計算しています。

ヘルプに以下のように書かれています。

そのためには、通常、現在の関数呼び出しのバーの数を含むrates_total パラメータの値を返せば十分である。OnCalculate()の最後の呼び出し以降に価格データが変更された場合(より深い履歴がポンピングされたか、履歴の空白が埋められました)、入力パラメータprev_calculatedの 値はターミナルによってゼロに設定されます。

注意:OnCalculate 関数が0を返した場合、クライアント端末のDataWindowに インジケータ値は表示されません。

私の場合、すべての計算が実行され(すべてのチェックの後にのみ開始できる)、OnCalculate()がゼロ以外の値を返すので、プログラムでデータを取得することができます。しかし、これはヘルプに書かれていることと矛盾しています。


 
経営陣への質問です。MT5のデモサーバーで、1ロット=10 000(100 000 USDではない)、最小ロット=0.01、ステップ=0.01のものはありますか?セント口座用にEAを最適化したいのですが。ブローカーから見つけたMT5セント口座では、最小ロット=0.1ですが、0.01のものを探しています。
 

標準ライブラリの ソースコードに、以下のような記述がありました。

//+------------------------------------------------------------------+
//| コンストラクター
//+------------------------------------------------------------------+
void CMoneyFixedLot::CMoneyFixedLot(void) : m_lots(0.1)
{

}

これは何でしょう?:)

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
ns_k:

標準ライブラリの ソースコードに、以下のような記述がありました。

//+------------------------------------------------------------------+
//| コンストラクター
//+------------------------------------------------------------------+
void CMoneyFixedLot::CMoneyFixedLot(void) : m_lots(0.1)
{

}

これは何でしょう?:)

どういうことですか?
 
uncleVic:
どういうことですか?
何をするものかは、理解している。むしろ、ドキュメントのどこにこのような構文を使うように書いてあるのか、それは何と呼ばれているのか、という意味です。
 
ns_k:
何をするものかは、理解している。むしろ、ドキュメントのどこにこういう構文を使うように書いてあるのか、という意味なのですが、例えば、以下のようなものです。
なんだ
 
uncleVic:
その場
を見つけました!ありがとうございます。
 

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

バグ、バグ、質問

tol64, 2013.05.06 02:38

...

私の場合、すべての計算が終わっていて(すべてのチェックが終わってからでないとできない)、OnCalculate()が0以外の値を返すので、プログラム的にデータを取得することができます。しかし、これは『ヘルプ』に書かれていることと一致しない。

応募番号:740856

そのため、バッファが満たされ、OnCalculateが ゼロ以外の値を返しても、インジケータ値が表示されないことがあるのは、何か別の理由があるのでしょう。


 
偶然にも発見。オーダーウィンドウの空いているスペースでダブルクリックすると、ティックチャートが非表示になります。これはバグなのでしょうか、それとも機能なのでしょうか?)
 
ns_k:
偶然にも発見。オーダーウィンドウの空いているスペースでダブルクリックすると、ティックチャートが非表示になります。これはバグなのでしょうか、それとも機能なのでしょうか?)
バグです。もちろん、偶然ではなく、この機能を見つけるためのボタンがあったほうがよいでしょう。