MT5への願い - ページ 42

 
Lizar:
ブロックをハイライトし、shift+tabキーを押す必要があります。
ありがとうございました)
 

セクションのチュートリアルに追加します。

MQL5リファレンスガイド / テクニカル指標 / iMAの具体的な例を説明の後に記載しています。

適用価格

[適用される価格価格定数ENUM_APPLIED_PRICEまたは他のインジケータのハンドルのいずれかを指定します。

また、indicator_separate_windowにカスタムインディケータを 描き、同じウィンドウにこのインディケータの移動平均を描く必要がある場合、iMA()はそれを行うことができるのでしょうか?iMA() はiMAOnArray()の結果を達成できる のではないかという漠然とした疑念があるのですが、どうすればいいのか見当がつきません、たぶん間違っているのでしょう

ZS: MT5に多くを望んでいるのかもしれませんが、MT4にはiMAOnArray()という組み込み関数がありませんでした。平均を計算するユーザー関数を書くのは難しくありませんが、配列を扱う標準関数が欲しいですね。

 
IgorM:

セクションのチュートリアルに追加します。

MQL5リファレンスガイド / テクニカル指標 / iMAの具体的な例を説明の後に記載しています。

また、indicator_separate_windowにカスタムインディケータを描き、同じウィンドウにこのインディケータの移動平均を描く必要がある場合、iMA()はそれを行うことができるのでしょうか?iMA() はiMAOnArray()を実現できる のではないかと漠然と考えているが、その方法はわからない、もしかしたら私が間違っているのかもしれない


このリンクをクリックすると、「価格定数」のセクションに移動し、下に例が表示されます。

ENUM_APPLIED_PRICE 列挙型で設定された価格データを使用するテクニカル指標の場合、入力価格系列として 任意の指標(内蔵端末またはユーザーによる書き込み )のハンドルを 指定することが可能です。この場合、インジケーターゼロバッファーの値が計算に使用されます。これにより、ある指標の値の上に、別の指標の値を容易に構築することができます。 カスタムインジケータのハンドルは、iCustom() 関数を呼び出すことで作成されます。

#propertyindicator_separate_window
#propertyindicator_buffers 2
#propertyindicator_plots 2
//--- 入力パラメータ
inputint RSIperiod=14;//RSI計算のための期間
inputint Smooth=8;// RSI スムージング期間
inputENUM_MA_METHOD meth=MODE_SMMA;//平滑化手法
//---- RSIをプロットする
#propertyindicator_label1"RSI"
#propertyindicator_type1DRAW_LINE
#propertyindicator_color1レッド
#property indicator_style1STYLE_SOLID
#propertyindicator_width1 1
//---- RSI_Smoothed のプロット
#property indicator_label2"RSI_Smoothed"
#property indicator_type2DRAW_LINE
#プロパティ indicator_color2ネイビー
#property indicator_style2STYLE_SOLID
#property indicator_width2 1
//--- インジケータ・バッファ
double RSIBuffer[];//ここにRSIの値を格納 する.
double RSI_SmoothedBuffer[];// 平滑化されたRSI 値がここに格納される.
int RSIhandle;// RSIインジケータ・ハンドル
//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
voidOnInit()
{
//--- インジケータ・バッファのマッピング
SetIndexBuffer(0,RSIBuffer,INDICATOR_DATA)を設定
SetIndexBuffer(1,RSI_SmoothedBuffer,INDICATOR_DATA)を設定。
IndicatorSetString(INDICATOR_SHORTNAME,"iRSI");
IndicatorSetInteger(INDICATOR_DIGITS,2) です。
//---
RSIhandle=iRSI(NULL,0,RSIperiod,PRICE_CLOSE)。
//---
}
//+------------------------------------------------------------------+
//|カスタムインジケータ繰り返し機能|
//+------------------------------------------------------------------+
intOnCalculate(constint rates_total,
constint prev_calculated,
constint begin,
constdouble&price[]
)

{
//--- 直前のエラーの値をゼロに戻す
ResetLastError()。
//--- RSIインジケータのデータをRSIBuffer[]配列に取得する。
int copied=CopyBuffer(RSIhandle,0,0,rates_total,RSIBuffer)。
if(copied<=0)
{
Print("RSIインジケータの値のコピーに失敗しました。 Error = ",
GetLastError(),", copied = ",copied)。
return(0) です。
}
//--- RSIの指標値による平均の指標を作成する
int RSI_MA_handle=iMA(NULL,0,Smooth,0,meth,RSIhandle);
copied=CopyBuffer(RSI_MA_handle,0,0,rates_total,RSI_SmoothedBuffer);
if(copied<=0)
{
Print("Failed to copy RSI smoothed indicator. Error = ",
GetLastError(),",copied =",copied)。
return(0) です。
}
//--- 次の呼び出しのために prev_calculated の値を返す
return(rates_total);
}


一段落していないだけでしょう。

 

標準のトレーリングストップを多用しています。この点について、いくつかお願いがあります。

1) Columnsメニューに「Trailing Stop Level」を選択するオプションを追加する。これは、私が理解している限りでは、難しいことではありません。

2) TS 値を位置のプロパティとして 追加し、特定の位置の TS レベルを端末にブロードキャストする/しない を(ユーザの選択で)選択できるようにする。1)よりもはるかに深刻で、TSを完全にサーバー側で実装することで、サーバーの負荷が深刻に増加することは理解しているつもりです。

個人的にポイント②を使いたいものについては。)

- 複数の端末が同じアカウントに接続されている(自宅と職場など、異なるサーバーやプロバイダーを経由しているのが理想的)。

- 片方の端末が手動でポジションをオープンし、TSレベルを設定する。

- 他の端末でTSレベルを設定した場合、クライアント側でトレーリングストップが実装されているため、最初の端末のTSは変更されません。これは、クライアントの希望があれば、変更したいところです。

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5
 
Rosh:

リンクをクリックすると、以下の例で価格定数の セクションに移動します。


あなたは1つの段落を完了しなかっただけです

確かに例はあるのですが、直感的に見つけられないことが多いので、そういう場合に「例」のリンクを作っていただけると、とても便利だと思います、もちろんIMHOですが。
 
Rosh:

リンクをクリックすると、価格定数の セクションに移動し、下に例があります。


あなたは1つの段落を読んでいないだけです

私は段落を終えたが、例では、標準的なテクニカル指標のみを使用し、質問はカスタム指標とiMAOnArray()関数についてです。

-カスタムインジケータのデータの平滑化に移動平均を使えるかどうか確認したい。

- 廃止されたFファンクションへのリンクがあれば、フォーラムで検索する必要がなく、便利だと思います。

MQL4 リファレンス- 廃止された関数

 
xeon:
確かに例はあるのですが、直感的に見つけられないことが多いので、そういう場合に「例」のリンクを作っていただけると、とても便利だと思います、もちろんIMHOですが。
おっしゃるとおり、各ページの 上に「EXAMPLE」のリンクがあれば、ドキュメント全体を検索する必要がなく、非常に良いと思います
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Способы привязки объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Способы привязки объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Способы привязки объектов - Документация по MQL5
 
IgorM:

私は段落を読みましたが、例では、標準的なテクニカル指標のみを使用して、質問はカスタム指標とiMAOnArray(関数についてです。

-カスタムインジケーターのデータの平滑化に移動平均を使えるかどうか確認したい


上記の通りです。

ENUM_APPLIED_PRICE 列挙型で定義される価格データをテクニカル指標の計算に使用する場合、入力価格系列として 任意の指標ハンドル(端末内蔵またはユーザが記述)を指定することができる。

記事も合わせてお読みください。

 

もしコミュニティが興味を持てば、既存のテストと最適化のオプションの修正も検討できるだろう。例えば、ある期間の履歴ではなく、複数の期間のテスト/最適化データを一度に取得する必要があります(Expert Advisorのパフォーマンスの均一 性を評価する場合など)。もちろん、全期間、交代でテスト/最適化を行うことも可能です。しかし、1つの期間が0.5から1時間かかり、10回必要な場合、10回分を一度に(例えば夜間に)実行し、後ですべての結果を得る方がずっと便利です。現在、Expert Advisorの入力パラメータとして「Date From」「Date To」を指定し、テスターの外部タブで最適化期間の合計を指定しています(Dates From/To は最適化パラメータの1つです)。しかし、この場合、各実行の最適化時間は、実際には一般的な最適化期間の時間と等しくなります(テスターのタブで - 刻みは常に動いています - 仮想的に確認しました)。もし、テスターで一般的な大きな周期とその内側の小さな周期の2つを同時に指定することができれば、問題は解決します。

 

チャートに インジケータを 追加するChartIndicatorAdd() 関数があります。チャートからインジケータを削除する機能を作ってほしい。核爆弾と同じで、爆弾は発明されたが、反爆弾は存在しないのだ。

Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - Документация по MQL5