Для создателей индикаторов и экспертов всегда был актуален вопрос написания экономичного кода с точки зрения времени выполнения. Можно подойти к решению этой задачи с разных сторон. Из этой обширной темы в данной статье будет затронут, казалось бы уже решенный вопрос: проверка появления нового бара. Это достаточно популярный способ ограничения...
...
int handle_iMA_Custom; // variable for storing the handle of the iMA indicator //+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
...
//--- create handle of the Custom indicator "Custom Moving Average Levels"
handle_iMA_Custom=iCustom(Symbol(),Period(),"MyInd\\Custom Moving Average Levels",
ma_period,
ma_shift,
ma_method,
100,
-100);
//--- if the handle is not created if(handle_iMA_Custom==INVALID_HANDLE)
{
//--- tell about the failure and output the error code PrintFormat("Failed to create handle of the iMA indicator for the symbol %s/%s, error code %d",
Symbol(),
EnumToString(Period()),
GetLastError());
//--- the indicator is stopped early return(INIT_FAILED);
}
ChartIndicatorAdd(0,0,handle_iMA_Custom);
//---return(INIT_SUCCEEDED);
}
ヴィタリ!ヴィタリ!))
あなたには、どれだけ感謝しているかわからないでしょう
それは大変なことですね。もちろん、何事も今は試行錯誤が必要ですが、それは些細なことです。
幸せがこんなにも身近にあるなんて!))ありがとうございます! どうですか...私はあなたのためにここにいる!私はあなたのためにここにいる!」。
F1は、多くの問題をフォーラムよりも早く解決してくれることが多い。
F1では答えが見つからない。
2本の線がある1つのインジケーターだからです。エンベロープと同じパラメータでMoving Averageを使用し、MAラインを1本だけ描画します。MA値に上側の線のDeviation*Point()を加算し、下側の線のDeviation*Point()を減算するだけです。
F1は、多くの問題をフォーラムよりも早く解決してくれることが多い。
あのね......あのね......あのね......あのね賢い人は、賢い人に送られる...。
広大なFXの世界に引きずり込まれてしまった...。今、私はこのフォーラムにいます。
F1ってボタンですよね?ご指摘ありがとうございます。試してみます。
皆さんごきげんよう!「新しいバー」で30分ほどフォーラムを検索したところ、フォーラムでの検索がそれなりに機能していて悲しくなりました...。
私は興味を持っている場合は、1つのタイムフレームで動作する指標のための新しいバーを見つけるという点で、mql5の最新のビルドは、誰もが今使用するどのようなコードですか?
ZS:TimeframesFlagsで 検索してみました...面倒なソリューションですが、万能です
よろしくお願いします。
https://www.mql5.com/ru/articles/159
まあ、2本の線があるのは1つのインジケーターだからです。エンベロープと同じパラメータでMoving Averageを使用し、MAラインを1本だけ描画します。MA値に上側の線のDeviation*Point()を加算し、下側の線のDeviation*Point()を減算するだけです。
面白い解決策ですね、ありがとうございます
しかし、エンベロープではなく、ボリンジャーバンドであれば、標準偏差の 計算式を追加した方が良いのでしょうか?もちろんそうですが、MQL4には簡単な解決策はないのでしょうか?
I.e. パラメータ
は行番号を設定します。...
Custom Moving Average Levelsという 指標はどうでしょうか?
MQL5コードから2段階に設定可能な移動平均線インジケーターです。
このようなカスタムMoving Average Levels インジケータは、あなたのために働くでしょうか?
MQL5のコードから2段階あるMoving Averageインジケータを設定することができます。
大変お世話になりましたが、MQL5を勉強している最中です。そのため、iCustomを使って、すでに組み込まれている複数の指標行を持つ指標から必要な値を「引き出す」ことを試みているのです。
まだできませんが、簡単なことなんでしょうね。
大変お世話になりましたが、MQL5を勉強している最中です。そして、そのために、iCustomを使って、すでに組み込まれている複数の指標行を持つ指標から必要な値を「引き出す」ことを試みています。
まだできませんが、なんとなく簡単そうな気がします。
iCustomはすべてがとてもシンプルです。早速ですが、Custom Moving Average Levelsの コードには、次のようなものがあります。
このインジケーターの作成例です("terminal data directory "にあります)。
まず、iCustom: Symbol, Period, Path, probably Parameters を通して、インジケータハンドルを作成します(OnInit()で一度だけハンドルを作成する必要があることに注意してください)。iCustomなら、とても簡単です。早速ですが、Custom Moving Average Levelsの コードには、次のようなものがあります。
このインジケーターの作成例です("terminal data directory "にあります)。
iCustom: Symbol, Period, Path, maybe Parametersを通して、まずインジケーターのハンドルを作成します(OnInit()でハンドルは1回だけ作成されることを覚えておいてください)。正直、何もわからない。Close[2]、Close[1]でインジケーターのトップラインの値が必要なのですが、これだけです。
インジケーターのコードに「入り込む」ことなく、あらゆるインジケーターからこれらの値を取得するにはどうすればよいのでしょうか。