記事"MQL5でのインディケーター の呼び方"についてのディスカッション - ページ 2 12 新しいコメント jordiqqq 2013.01.09 18:30 #11 私にはファイルをコンパイルすることができません。何が起こっているのか見当がつきません。ありがとう、ジョルディ iJSmile 2015.03.07 00:26 #12 大きな仕事をありがとう! gr101 2015.10.15 21:29 #13 ありがとう!以下は、私が遊びながらまとめた簡単な例です。もし間違っていたら修正しますので、ご指摘ください。私が奇妙に思うのは、値がチャート上の単純な移動平均と一致しないようです。################### スクリプトではint period = 21; // 21バーの移動平均 int sampleSize = 100;//This is thenumber of bars of data you want to fetch int handle = iCustom(Symbol(),0, "ExamplesCustom Moving Average", 期間、// 期間 0, // オフセット MODE_SMA、// 計算方法 PRICE_CLOSE // 終値で計算 );void OnTick(){// これは移動平均がコピーされる配列です。 // // この配列の最初の項目(0 番目の項目)は、最新のものです。 // 最後の項目は、配列の最後の項目です; ArraySetAsSeries(movingAverageValues, true); if (CopyBuffer(handle,0,0,sampleSize,movingAverageValues) <0){Print("CopyBufferMA1 error =",GetLastError());} double currentMovingAverage = movingAverageValues[0];double earliestMovingAverage = movingAverageValues[ArraySize(movingAverageValues) - 1];################################# EAでは(注:OnInitとOnTick)int OnInit(){int period = 21; // 21バーの移動平均int sampleSize = 100; //これは、 取得したいデータのバー数 です。int handle = iCustom(Symbol(),0, "ExamplesCustom Moving Average", period, //期間 0, // オフセット MODE_SMA, // 計算方法 PRICE_CLOSE // 終値で計算 );}OnTick(){// これは移動平均がコピーされる配列です。 // // この配列の最初の項目(位置 0 の項目)は、最新のものです // 最後の項目は、配列の最後の項目です ArraySize() - 1 double movingAverageValues[]; ArraySetAsSeries(movingAverageValues, true); if (CopyBuffer(handle,0,0,sampleSize,movingAverageValues) <0){Print("CopyBufferMA1 error =",GetLastError());} double currentMovingAverage = movingAverageValues[0];double earliestMovingAverage = movingAverageValues[ArraySize(movingAverageValues) - 1];} Discussion of article "How MetaTrader 5へのアップグレードを損なわずに行うためのヘルプ EA ERROR: "Failed prices Emory Cardozo 2018.01.30 19:23 #14 素晴らしい記事 Alex FXPIP 2023.07.23 22:00 #15 そうだね...このようなハンドルを毎回コード化するよりも、自分でインジケーターを考案してロボットのコードに組み込んだ方が簡単だね...退屈 12 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
私にはファイルをコンパイルすることができません。
何が起こっているのか見当がつきません。
ありがとう、
ジョルディ
ありがとう!
以下は、私が遊びながらまとめた簡単な例です。
もし間違っていたら修正しますので、ご指摘ください。
私が奇妙に思うのは、値がチャート上の単純な移動平均と一致しないようです。
################### スクリプトでは
int period = 21; // 21バーの移動平均
int sampleSize = 100;//This is thenumber of bars of data you want to fetch
int handle = iCustom(Symbol(),0, "ExamplesCustom Moving Average",
期間、// 期間
0, // オフセット
MODE_SMA、// 計算方法
PRICE_CLOSE // 終値で計算
);
void OnTick()
{
// これは移動平均がコピーされる配列です。
//
// この配列の最初の項目(0 番目の項目)は、最新のものです。
// 最後の項目は、配列の最後の項目です;
ArraySetAsSeries(movingAverageValues, true);
if (CopyBuffer(handle,0,0,sampleSize,movingAverageValues) <0){Print("CopyBufferMA1 error =",GetLastError());}
double currentMovingAverage = movingAverageValues[0];
double earliestMovingAverage = movingAverageValues[ArraySize(movingAverageValues) - 1];
################################# EAでは(注:OnInitとOnTick)
int OnInit(){
int period = 21; // 21バーの移動平均
int sampleSize = 100; //これは、
取得したいデータのバー数 です。int handle = iCustom(Symbol(),0, "ExamplesCustom Moving Average",
period, //期間
0, // オフセット
MODE_SMA, // 計算方法
PRICE_CLOSE // 終値で計算
);
}
OnTick()
{
// これは移動平均がコピーされる配列です。
//
// この配列の最初の項目(位置 0 の項目)は、最新のものです
// 最後の項目は、配列の最後の項目です ArraySize() - 1
double movingAverageValues[];
ArraySetAsSeries(movingAverageValues, true);
if (CopyBuffer(handle,0,0,sampleSize,movingAverageValues) <0){Print("CopyBufferMA1 error =",GetLastError());}
double currentMovingAverage = movingAverageValues[0];
double earliestMovingAverage = movingAverageValues[ArraySize(movingAverageValues) - 1];
}
素晴らしい記事