//+-------------------------------------------------------+//|Параметры функции PROBA.mq4|//+-------------------------------------------------------+#property strictvoidOnStart()
{
Alert(Сумма(2,5));
int Сум=0;
Сумма(2,5,Сум); // Передаем в функцию 2 числа и получаем суммуAlert(Сум);
}
int Сумма(int a, int b)
{
return a+b;
}
void Сумма(int a, int b, int & s)
{
s= a+b;
}
//+------------------------------------------------------------------+bool IsLastVolumeTheLargest(conststring symbol_name, constENUM_TIMEFRAMES timeframe,constint start_pos,constint count)
{
long array[]; // Массив для хранения объёмов//--- если скопировалось меньше, чем нужно, вернём falseif(CopyTickVolume(symbol_name,timeframe,start_pos,count,array)<count) returnfalse;
//--- вернём флаг того, что максимальный объём находится в последней ячейке массива (соответствует индексу start_pos)returnArrayMaximum(array)==count-1;
}
//+------------------------------------------------------------------+
ありがとうございます、でも彼女は
アイカスタムから支援
iCustomはiCustomのための良いソリューションですが、iCustomは常に指標のコード全体を実行し、私はEAで多くの指標のパラメータを必要とする場合(そしてそれはある)、1つの指標の計算の代わりに我々は、現在のティックが欠落するまで大幅にプロセスを遅くすることができます、私は定義済みの変数を忘れて しまった......。
int rates_total=Bars;
定義済みグローバル変数
int prev_calculated=0;
配列の要素数でクラッシュ
申し訳ありませんが、なぜoncalculateが定義済み 変数の値を渡す必要があるのか、それがグローバルで利用可能である場合は理解できません。
一例をご覧ください。
関数のパラメータは、入力(関数に渡すもの)と出力(関数が返すもの)があります。
これらの変数は指標線 全体を計算するのに必要なものですが、1つの値が必要です。すべてがよりシンプルになりました。指標プログラムを分析し、どの計算式が使われているかを判断する。そして、Expert Advisorでこの数式を使用します。
みんな、このアルゴリズムを実装する方法を教えてくれ。
ボリュームを持つ時系列が存在する Volume
Volume[1]が以前のVolume[1]の各バーより 大きいかどうかを比較したいので、外部変数(extern int)で以前のバーのウィンドウ(数)を指定します。
難しいことでなければ、コードサンプルを書く
みんな、このアルゴリズムを実装する方法を教えてくれ。
ボリュームを持つ時系列が存在する Volume
Volume[1]が以前のVolume[1]の各バーより 大きいかどうかを比較したいので、外部変数(extern int)で以前のバーのウィンドウ(数)を指定します。
難しいことでなければ、コードサンプルを書く
効果はあったのでしょうか?以前はどうだったのでしょうか?
エラーなく動作しました、ctrl+hによる自動置換で自分で削除していたようで、気がつきませんでした>_<。とにかく、イルミナティの仕業でしょう。ありがとうございました。
みんな、このアルゴリズムを実装する方法を教えてくれ。
ボリュームを持つ時系列が存在する Volume
Volume[1]が以前のVolume[1]の各バーより 大きいかどうかを比較したいので、外部変数(extern int)で以前のバーのウィンドウ(数)を指定します。
難しいことでなければ、コードサンプルを書く
難しいことではありません。記憶を頼りに膝に書いてみました...(見落としがあるかもしれません)。
こんにちは。ファイルの共有ができないタスク - МТ4 (MQL4) テスターでの手動テスト中に、古い期間(例えばM20)のファイルをМ1に生成する必要があります。そのために、PeriodConverterスクリプトをベースにしたインジケータを書きました。テストモードでは、ファイル(EURUSD20.csv)をHistoryフォルダに直接保存できないため、全端末の共有フォルダである \MetaQuotesTerminalCommon に保存されます。次に、標準のM1チャートで動作するループスクリプトは、ファイルEURUSD20.csvから、フォルダHistoryにあるファイルEURUSD20.hstにデータをコピーします。 同時にテスターのインディケータで開かれると、ファイルEURUSD20.csvはスクリプトで開くことができません(5004 ERR_FILE_CANNOT_OPEN ファイルオープンエラー)。テスターからインジケータを外しても、スクリプトのファイルは問題なく開かれ、コピーされます。ExtHandle=FileOpen(c_symbol+(string)20+".のようにインジケータでファイルを開きます。
ExtHandleR=FileOpen("EURUSD20.csv",FILE_BIN|FILE_READ|FILE_SHARE_READ|FILE_COMMON);
私の間違いをご指摘ください。
こんにちは。ファイルの共有ができないタスク - МТ4 (MQL4) テスターでの手動テスト中に、古い期間(例えばM20)のファイルをМ1に生成する必要があります。そのために、PeriodConverterスクリプトをベースにしたインジケータを書きました。テストモードでは、ファイル(EURUSD20.csv)をHistoryフォルダに直接保存できないため、全端末の共有フォルダである \MetaQuotesTerminalCommon に保存されます。次に、標準のM1チャートで動作するループスクリプトは、ファイルEURUSD20.csvから、フォルダHistoryにあるファイルEURUSD20.hstにデータをコピーします。 同時にテスターのインディケータで開かれると、ファイルEURUSD20.csvはスクリプトで開くことができません(5004 ERR_FILE_CANNOT_OPEN ファイルオープンエラー)。テスターからインジケータを外しても、スクリプトのファイルは問題なく開かれ、コピーされます。ExtHandle=FileOpen(c_symbol+(string)20+".csv",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_READ|FILE_COMMON);
ファイルは以下のようにスクリプトでオープンされます: ExtHandleR=FileOpen("EURUSD20.Csv", "EURUSD20.Csv", "EURUSD20.Csv"; "EURUSD20.Ccv").csv",FILE_BIN|FILE_READ|FILE_SHARE_READ|FILE_COMMON);
私の間違いを ご指摘ください。
指摘されたのでしょうか?
指定したのでしょうか?
理解できない。このオプションは、ファイル - \MetaQuotesTerminal⇄Common の場所を示します。このオプションがないと、テスターで生成されたファイルを取得することができません。このオプションがない場合、ファイルはMQL4™Filesで検索され、テスターからのファイルをそこに置くことはできません。