2. eVOLution-dvoid.1.3 (1).mq5 indicator should be completely rewrite for MQL5 this indicator takes data from files that are in the folder\Filesevolution-dvoid-Assigned BP.csv. MQL5.csv形式を使用していますが、この形式はフォーラムでサポートされていないため、txt形式で貼り付けます。ダウンロード後、指定のフォルダに入れ、拡張子をcsvに変更してください。私たちのインジケータは、このファイルを使って動作するはずです。
#property indicator_separate_window #property indicator_buffers1 #property indicator_plots1 //---- plot MA #property indicator_label1 "MA" #property indicator_type1 DRAW_LINE #property indicator_color1 clrRed #property indicator_style1 STYLE_SOLID #property indicator_width1 1 //--- input parameters bool AsSeries=true; int period=15; inputENUM_TIMEFRAMES TimeFrame=PERIOD_CURRENT;//Период графика ENUM_MA_METHOD smootMode=MODE_EMA; ENUM_APPLIED_PRICE price=PRICE_CLOSE; int shift=0; //--- indicator buffers double MABuffer[]; int ma_handle; int to_copy; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ intOnInit() { //--- indicator buffers mapping SetIndexBuffer(0,MABuffer,INDICATOR_DATA); Print("Параметр AsSeries = ",AsSeries); Print("Индикаторный буфер после SetIndexBuffer() является таймсерией = ", ArrayGetAsSeries(MABuffer)); //--- set short indicator name IndicatorSetString(INDICATOR_SHORTNAME,"MA("+period+")"+AsSeries); //--- set AsSeries (depends on input parameter) ArraySetAsSeries(MABuffer,AsSeries); Print("Индикаторный буфер после ArraySetAsSeries(MABuffer,true); является таймсерией = ", ArrayGetAsSeries(MABuffer)); //--- ma_handle=iMA(Symbol(),TimeFrame,period,shift,smootMode,price); EventSetTimer(1); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ intOnCalculate(constint rates_total, constint prev_calculated, constdatetime &time[], constdouble &open[], constdouble &high[], constdouble &low[], constdouble &close[], constlong &tick_volume[], constlong &volume[], constint &spread[]) { //--- check if all data calculated if(BarsCalculated(ma_handle)<rates_total) return(0); //--- we can copy not all data //int to_copy; if(prev_calculated>rates_total || prev_calculated<=0) to_copy=rates_total; else { to_copy=rates_total-prev_calculated; //--- last value is always copied to_copy++; } //--- try to copy
//--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Timer function | //+------------------------------------------------------------------+ voidOnTimer() { //--- CopyBuffer(ma_handle,0,0,to_copy,MABuffer); Print("Таймер"); } //+------------------------------------------------------------------+
ローソク足上のティックボリュームを分配する方法、ローソク足には幅があり、時には大きな幅があります
詳しいことはよくわからないが、これでうまくいくと思う
1分足のローソク足がHL=100ポイントのレンジで、ティックボリューム単位がある程度あると仮定します。
それぞれがランダムな順序で多方向に動くという説をとれば、例えば5分足のローソク足で、価格の分布に
HL_0bar/antic volume HL_1bar/antic volume HL2bar/antic volume etc.
つまり、私たちはすでに「ローソク足値/反動量」という単位で運用しているのです。実際、この線は、他の類似の指標との関係で、この指標の値を縦に反映することになります。そして、m5チャートで使用することができます。
15分足のローソク足で構成される「15分足ローソク足」でも同様に
現在の定義が当初望んでいたものと全く違うことは明らかですが、今、ドキュメントを見てみると、ティックチャートの履歴がどこにもないので、最小のローソクは1分になっています。
Good afternoon.私はアラート付きの標準的なRSIが必要です。このようなアイデアを、快適に追尾できる信号機に実装することは可能でしょうか。今までのところ、RSIに結びついたくだらないものか、ローソク足が閉じたら(そして電車が出発したら...)アラートを出すものに出会っています。
メッセージ付きのビープ音は、イベントが発生したペアを示すものでなければなりません。
シグナルは、選択した時間枠のローソク足が形成されている間に、それぞれトップまたはボトムレベルをクロスしたときに一度だけ、上または下にクロスしたときだけ、そしてローソクが閉じたときではなく、クロスした瞬間にやってくるのです。
もう一段階、その交差の瞬間にワンタイム信号もあるのが望ましい。
例
5M時間足でEUR/USDが 下落し、RSI30を超えた時点(ローソク足の80秒目など)でアラートが発生し、「EUR/USDペアはある時間に買いシグナル予備軍です」というメッセージが表示されます。
キャンドルRSIの形成の残りの時間で次のレベル(例えば20)に触れた場合は、アラートが鳴り、ペアeVorドルの特定の時間に購入するための第二の信号があることをメッセージに出ます。
好ましくは、メッセージは、信号が予備的なものであるか、すでに特定のものである(すなわち、繰り返される)ことを何らかの形で示すべきである。
書き換えるには、取り込む指標もすべてmql5以下である必要があります。
B 返信が遅くなりましたが、本当に助けてください。私は記事を書いているのですが、モデレーターから添付ファイルのコードをすべてmql5用に書き換えるように言われています。そのうちの2つだけを書き換える必要があります。 残りのコードは他のファイルにも複製されます。
まさに掲載が遅れて いるので、先延ばしにしないでいただけるとありがたいです。その代わり、私の論考をお知らせすることをお約束します。いつもありがとうございます。
1.そこで、必要なこと。TDSEQUENTA_by_nikelodeon.mq5 というインジケータに、1が買い、-1が売りのシグナル送信を担当する別のバッファを追加しましたが、ここでエラーは出ないはずだと思います。しかし、もう一つバッファを追加する必要があり、青または赤のポイントが形成されたとき、つまり信号そのものは、それぞれの信号の緑のドットの数をこのバッファに書き込むことになる。すでに7番のバッファを追加しているので、あとは書き込みの整理をするだけです。
2. eVOLution-dvoid.1.3 (1).mq5 indicator should be completely rewrite for MQL5 this indicator takes data from files that are in the folder\Filesevolution-dvoid-Assigned BP.csv. MQL5.csv形式を使用していますが、この形式はフォーラムでサポートされていないため、txt形式で貼り付けます。ダウンロード後、指定のフォルダに入れ、拡張子をcsvに変更してください。私たちのインジケータは、このファイルを使って動作するはずです。
BuyVOLDOWNNOPDOWN.mq5のインジケータは、eVOLution-dvoid.1.3 (1).mq5の例で他のインジケータがどのように呼び出されているかをMQL5で書き直さなければならず、そこで呼び出されているのである。
Cluster_Xファミリーのファイルについては、MT5用のダウンロードを試みてから、添付の方法を検討したいと思います。しかし、今一番大事なことは、上記の指標で問題を解決することです。ありがとうございました!!!
記事のテーマをお聞かせください。
Yurij Izyumov さん、こんにちは。フォーラムを歩き回ってこの質問をしたのですが、明確な答えは得られませんでした。この問題については、ぜひとも実用化を目指してほしい。そして、質問は以下の通り...。
CodyBase https://www.mql5.com/ru/docs/series/copybuffer のインジケーターがあります。
問題は、インジケータの入力パラメータでタイムフレームを変更すると、新しいティックが出現するまでのインジケータ計算の遅延が発生し、商品によっては数時間かかる場合があることです。
このギャップを実装する可能性はあるのでしょうか?ありがとうございました。
Yurij Izyumov さん、こんにちは。フォーラムを歩き回ってこの質問をしたのですが、明確な答えは得られませんでした。この問題については、ぜひとも実用化を目指してほしい。そして、質問は以下の通り...。
CodyBase https://www.mql5.com/ru/docs/series/copybuffer のインジケーターがあります。
問題は、インジケータの入力パラメータでタイムフレームを変更すると、新しいティックが出現するまでのインジケータ計算の遅延が発生し、商品によっては数時間かかる場合があることです。
このギャップを実装する可能性はあるのでしょうか?ありがとうございました。
こんにちは。それは、これらの指標に矢印を作ることは可能ですか? フォルダ内の取引のテンプレートとスクリーンショットは、そのようにインドを追加するには、申し訳ありません。
デコンパイルは禁止ですアーカイブを削除しました
更新ボタンを押すことで、強制的にOnCalculate()を呼び出すことができます。また、すべての計算をOnTimer()またはOnBookEvent()で行うことも可能です。
OnTimer()で実装してみたが、何も出てこない。残念ながらonTimer()イベントではインジケータの計算が行われず、遅延が保存されています、多分うるさい発言で私が何か間違ったことをしたのでしょう、訂正をお願いします。ありがとうございます。
//| TestCopyBuffer3.mq5 |
//| Copyright 2009, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2009, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots 1
//---- plot MA
#property indicator_label1 "MA"
#property indicator_type1 DRAW_LINE
#property indicator_color1 clrRed
#property indicator_style1 STYLE_SOLID
#property indicator_width1 1
//--- input parameters
bool AsSeries=true;
int period=15;
input ENUM_TIMEFRAMES TimeFrame=PERIOD_CURRENT; //Период графика
ENUM_MA_METHOD smootMode=MODE_EMA;
ENUM_APPLIED_PRICE price=PRICE_CLOSE;
int shift=0;
//--- indicator buffers
double MABuffer[];
int ma_handle;
int to_copy;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping
SetIndexBuffer(0,MABuffer,INDICATOR_DATA);
Print("Параметр AsSeries = ",AsSeries);
Print("Индикаторный буфер после SetIndexBuffer() является таймсерией = ",
ArrayGetAsSeries(MABuffer));
//--- set short indicator name
IndicatorSetString(INDICATOR_SHORTNAME,"MA("+period+")"+AsSeries);
//--- set AsSeries (depends on input parameter)
ArraySetAsSeries(MABuffer,AsSeries);
Print("Индикаторный буфер после ArraySetAsSeries(MABuffer,true); является таймсерией = ",
ArrayGetAsSeries(MABuffer));
//---
ma_handle=iMA(Symbol(),TimeFrame,period,shift,smootMode,price);
EventSetTimer(1);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//--- check if all data calculated
if(BarsCalculated(ma_handle)<rates_total) return(0);
//--- we can copy not all data
//int to_copy;
if(prev_calculated>rates_total || prev_calculated<=0) to_copy=rates_total;
else
{
to_copy=rates_total-prev_calculated;
//--- last value is always copied
to_copy++;
}
//--- try to copy
//--- return value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer()
{
//---
CopyBuffer(ma_handle,0,0,to_copy,MABuffer);
Print("Таймер");
}
//+------------------------------------------------------------------+