コーディングのヘルプ - ページ 389 1...382383384385386387388389390391392393394395396...786 新しいコメント Triip 2014.11.06 14:15 #3881 triip: 私は素敵なスキャルピングシステムとテンプレートを見つけたのですが、このシステムをインストールした後、動作がとても遅くなりました。多分、誰かがそれを見て、その原因が何であるかを検出することができます。 テンプレートとインジケータです。 1m_alf_scalp.zip キャンドルカラーインジケータ(IT_Candles)が問題であるように見えます。MT4が遅くなるのは、このコードの何が問題なのか、誰か理解していますか? //+------------------------------------------------------------------+//| IT_Candles.mq4 //+------------------------------------------------------------------+ #property indicator_chart_window #include #property indicator_buffers 2 extern color UpColor = LimeGreen; extern color DnColor = Red; extern int Width = 5; extern double alpha = 0.09; double ev=EMPTY_VALUE,Trend,Trigger,ALF; double Up[]; double Dn[]; int init() { IndicatorBuffers(2); SetIndexStyle(0,DRAW_HISTOGRAM,0,Width,UpColor); SetIndexBuffer(0,Up); SetIndexStyle(1,DRAW_HISTOGRAM,0,Width,DnColor); SetIndexBuffer(1,Dn); return(0); } int deinit() { return(0); } int start() { int counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); //---- check for possible errors if(counted_bars>0) counted_bars--; //---- last counted bar will be recounted int limit = Bars-counted_bars; for (int i=limit;i>=0;i--) { Up = ev; Dn = ev; Trend = iCustom(NULL,0,"Instant_Trendline",alpha,0,i); Trigger = iCustom(NULL,0,"Instant_Trendline",alpha,1,i); ALF = iCustom(NULL,0,"ALF",0,i+1); if (Trigger > Trend && Close > Open && Close > ALF) { Up = MathMax(Open,Close); Dn = MathMin(Open,Close); } if (Trigger < Trend && Close < Open && Close < ALF) { Dn = MathMax(Open,Close); Up = MathMin(Open,Close); } } } Coding help トレンド指標 Trend indicators Mladen Rakic 2014.11.06 14:44 #3882 triip: キャンドルカラーのインジケーター(IT_Candles)が問題なようです。MT4が遅くなるのは、このコードのどこが問題なのか、誰か理解しているのでしょうか?//+------------------------------------------------------------------+//| IT_Candles.mq4 //+------------------------------------------------------------------+ #property indicator_chart_window #include #property indicator_buffers 2 extern color UpColor = LimeGreen; extern color DnColor = Red; extern int Width = 5; extern double alpha = 0.09; double ev=EMPTY_VALUE,Trend,Trigger,ALF; double Up[]; double Dn[]; int init() { IndicatorBuffers(2); SetIndexStyle(0,DRAW_HISTOGRAM,0,Width,UpColor); SetIndexBuffer(0,Up); SetIndexStyle(1,DRAW_HISTOGRAM,0,Width,DnColor); SetIndexBuffer(1,Dn); return(0); } int deinit() { return(0); } int start() { int counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); //---- check for possible errors if(counted_bars>0) counted_bars--; //---- last counted bar will be recounted int limit = Bars-counted_bars; for (int i=limit;i>=0;i--) { Up = ev; Dn = ev; Trend = iCustom(NULL,0,"Instant_Trendline",alpha,0,i); Trigger = iCustom(NULL,0,"Instant_Trendline",alpha,1,i); ALF = iCustom(NULL,0,"ALF",0,i+1); if (Trigger > Trend && Close > Open && Close > ALF) { Up = MathMax(Open,Close); Dn = MathMin(Open,Close); } if (Trigger < Trend && Close < Open && Close < ALF) { Dn = MathMax(Open,Close); Up = MathMin(Open,Close); } } } triip indicatorsフォルダに "Instant_Trendline "と "ALF "インジケータがあるかどうか確認して ください(どちらもこのインジケータが正しく動作するために必要です)。もし無い場合は、zipアーカイブからex4ファイルを解凍すれば、インジケータは問題なく動作します(もし無い場合は、非常に遅くなります)。 ファイル: it.gif 75 kb Triip 2014.11.06 14:49 #3883 mladen: triip "Instant_Trendline "と "ALF "インディケータがインディケータフォルダにあるかどうか確認してください(両方ともそのインディケータが正しく動作するのに必要です)。もし無い場合は、zipアーカイブからex4ファイルを解凍すれば、インジケータは問題なく動作します(もし無い場合は、非常に遅くなります)。 はい、他のインディケータもチャートに置いていますが、IT_Candlesを追加するとすぐにMT4が遅くなり、特にタイムフレームを切り替えるのが遅くなります...。 Mladen Rakic 2014.11.06 14:53 #3884 triip: はい、他のインディケータもチャートに載せましたが、IT_Candlesを追加するとすぐにMT4の動作が遅くなり、特にタイムフレームの切り替えが遅くなります...。 トリプ これらはチャート上に存在する必要はありません。しかし、indicatorsフォルダに(正確な名前を使って)存在する必要があります。一番簡単な確認 方法は、ターミナルのexpertsタブに行き、そこに何らかのエラーがあるかどうかを見ることです(写真のようなものです)。 ファイル: error_2.gif 98 kb Triip 2014.11.06 15:58 #3885 mladen: triip それらはチャート上にある必要はありません。しかし、それらはindicatorsフォルダに(それらの正確な名前を使用して)存在する必要があります。一番簡単な確認方法は、ターミナルのエキスパートタブに行き、そこに何らかのエラーがあるかどうかを見ることです(写真のようなもの)。 エラーはありません。 しかし、私は、ALF.ex4があまり遅くならないのに、ALF-MTF.ex4が完全に遅くなることに気づきました。私はindicatorsフォルダの中にサブフォルダを持っていて、そこにそれらの言及されたすべてのindicatorsを保存しています。多分、私はクリーンなMT4を再インストールする必要があります。 ファイル: errors.png 27 kb Mladen Rakic 2014.11.06 16:07 #3886 triip: エラーはありません。しかし、ALF.ex4はあまり遅くならないのに、ALF-MTF.ex4は完全に遅くなっていることに気づきました。私はindicatorsフォルダの中にサブフォルダを持っていて、そこにそれらの言及されたすべてのindicatorsを格納しています。多分、私はクリーンなMT4を再インストールする必要があります。 サブフォルダからメインのindicatorsフォルダに移動して、それから試してみてください。 Triip 2014.11.06 16:14 #3887 mladen: サブフォルダからメインのインジケータフォルダに移動して、試してみてください。 Much better, works like a charm ありがとうございます、mladen!!!! Mladen Rakic 2014.11.06 18:31 #3888 sunshineh: こんにちは。チャートのバーの上にテキストオブジェクトを書き込む際に、いつも問題が発生します。 例えば ObjectCreate ("Xh", OBJ_TEXT,0,Time[0],High[0]+1*pips2dbl); ObjectSetText("Xh","1",10,"Tahoma",Orange); ObjectCreate ("X", OBJ_TEXT,0,Time[0],Low[0]-1*pips2dbl); ObjectSetText("Xl","1",10,"Tahoma",Orange); バーの下にあるテキストオブジェクトは、フォントオブジェクトがテキストの「頭」に固定されているため、問題なく動作しています。 しかし、バーの上にテキストを書きたい場合、フォントサイズ10のテキストがバーの中に書き込まれてしまうので、pipsが分からなくなります。 私は "H1"、 "D1" または "W1 "などの大きな時間枠で私のテキストを書くときにも問題がある、そこに私はあまりにも、高または低値に私のフォント-距離を変更する必要があるためです。 テキストを90度回転させることができるのは知っていますが、そんなことはしたくありません。 では、その解決策をご存知でしょうか? まず、1*pips2dblの代わりにATRを使ってみてください(そうすれば、異なる時間枠やシンボルに対して自動的に調整されます)。 また、高値の上に表示されているテキストオブジェクトのアンカーポイント(OBJPROP_ANCHOR)をANCHOR_LOWERに調整してみてください。 Mladen Rakic 2014.11.06 20:21 #3889 madopter: 調整可能な部分は、ロットサイズと、そのロットが適用される口座残高です。例えば、A = 0.01, B = $5000 や、A = 1.00, B = $10000 といったパラメータが考えられます。 この場合、比較に使用できるパラメータ 値を複数用意する必要があります。 extern double accountBalanceA = 5000; のようにパラメータを定義し、パラメータなしで同じことを行ったコードでそれらのパラメータを比較に使用することができます。 jbozman 2014.11.07 08:24 #3890 mladen: jbozmanmacdインジケータは変更の必要はありません(99.99%で1本か2本のバーを計算します)。 hiloのインジケータは非常に複雑な方法で値を探します。そのタスクをもっとシンプルな方法で行う他のインジケータを使用する方が良いです(そんなに複雑にする必要はありません)。 mladenさん、こんにちは。前日、前週、前月を一度に表示し、シンプルな線分を描き、チャートを混乱させない高値・安値を検索しましたが、見つかりませんでした。 他のものを探してみてくださいということでしたが、本当に探しましたが見つかりませんでした。mql4フォーラムにもリクエストを投稿しました。まだ返事はありません。 簡単に言うと、このインジケーターを改造するために誰か(あなた)にお金を払ってもいいと思っています。 これは前日ごとにプロットするので、「日数」を追加して欲しいです。EUR/USDとGBP/USDでは、私のチャート履歴は1996年以上までさかのぼるので、これらの行であまりにも多くのメモリを消費してしまうのです。 もし、あなたが雇われていないなら(もしかしたら他の人が雇うかも?)、この現在のものにNumber of Daysを追加するだけでは面倒なのでしょうか?他を探すか、改造してくれる人を探すまで使い続けることができます。もし、時間のかかる要望でしたら、完全に理解していますので、何から何までよろしくお願いします。 jbozman ファイル: hilo_v1.0c_1.mq4 8 kb 1...382383384385386387388389390391392393394395396...786 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
私は素敵なスキャルピングシステムとテンプレートを見つけたのですが、このシステムをインストールした後、動作がとても遅くなりました。多分、誰かがそれを見て、その原因が何であるかを検出することができます。
テンプレートとインジケータです。
1m_alf_scalp.zipキャンドルカラーインジケータ(IT_Candles)が問題であるように見えます。MT4が遅くなるのは、このコードの何が問題なのか、誰か理解していますか?
//+------------------------------------------------------------------+
#property indicator_chart_window
#include
#property indicator_buffers 2
extern color UpColor = LimeGreen;
extern color DnColor = Red;
extern int Width = 5;
extern double alpha = 0.09;
double ev=EMPTY_VALUE,Trend,Trigger,ALF;
double Up[];
double Dn[];
int init()
{
IndicatorBuffers(2);
SetIndexStyle(0,DRAW_HISTOGRAM,0,Width,UpColor);
SetIndexBuffer(0,Up);
SetIndexStyle(1,DRAW_HISTOGRAM,0,Width,DnColor);
SetIndexBuffer(1,Dn);
return(0);
}
int deinit()
{
return(0);
}
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1); //---- check for possible errors
if(counted_bars>0) counted_bars--; //---- last counted bar will be recounted
int limit = Bars-counted_bars;
for (int i=limit;i>=0;i--)
{
Up = ev;
Dn = ev;
Trend = iCustom(NULL,0,"Instant_Trendline",alpha,0,i);
Trigger = iCustom(NULL,0,"Instant_Trendline",alpha,1,i);
ALF = iCustom(NULL,0,"ALF",0,i+1);
if (Trigger > Trend && Close > Open && Close > ALF)
{
Up = MathMax(Open,Close);
Dn = MathMin(Open,Close);
}
if (Trigger < Trend && Close < Open && Close < ALF)
{
Dn = MathMax(Open,Close);
Up = MathMin(Open,Close);
}
}
}
キャンドルカラーのインジケーター(IT_Candles)が問題なようです。MT4が遅くなるのは、このコードのどこが問題なのか、誰か理解しているのでしょうか?
//+------------------------------------------------------------------+
#property indicator_chart_window
#include
#property indicator_buffers 2
extern color UpColor = LimeGreen;
extern color DnColor = Red;
extern int Width = 5;
extern double alpha = 0.09;
double ev=EMPTY_VALUE,Trend,Trigger,ALF;
double Up[];
double Dn[];
int init()
{
IndicatorBuffers(2);
SetIndexStyle(0,DRAW_HISTOGRAM,0,Width,UpColor);
SetIndexBuffer(0,Up);
SetIndexStyle(1,DRAW_HISTOGRAM,0,Width,DnColor);
SetIndexBuffer(1,Dn);
return(0);
}
int deinit()
{
return(0);
}
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1); //---- check for possible errors
if(counted_bars>0) counted_bars--; //---- last counted bar will be recounted
int limit = Bars-counted_bars;
for (int i=limit;i>=0;i--)
{
Up = ev;
Dn = ev;
Trend = iCustom(NULL,0,"Instant_Trendline",alpha,0,i);
Trigger = iCustom(NULL,0,"Instant_Trendline",alpha,1,i);
ALF = iCustom(NULL,0,"ALF",0,i+1);
if (Trigger > Trend && Close > Open && Close > ALF)
{
Up = MathMax(Open,Close);
Dn = MathMin(Open,Close);
}
if (Trigger < Trend && Close < Open && Close < ALF)
{
Dn = MathMax(Open,Close);
Up = MathMin(Open,Close);
}
}
}
triip
indicatorsフォルダに "Instant_Trendline "と "ALF "インジケータがあるかどうか確認して ください(どちらもこのインジケータが正しく動作するために必要です)。もし無い場合は、zipアーカイブからex4ファイルを解凍すれば、インジケータは問題なく動作します(もし無い場合は、非常に遅くなります)。
triip "Instant_Trendline "と "ALF "インディケータがインディケータフォルダにあるかどうか確認してください(両方ともそのインディケータが正しく動作するのに必要です)。もし無い場合は、zipアーカイブからex4ファイルを解凍すれば、インジケータは問題なく動作します(もし無い場合は、非常に遅くなります)。
はい、他のインディケータもチャートに置いていますが、IT_Candlesを追加するとすぐにMT4が遅くなり、特にタイムフレームを切り替えるのが遅くなります...。
はい、他のインディケータもチャートに載せましたが、IT_Candlesを追加するとすぐにMT4の動作が遅くなり、特にタイムフレームの切り替えが遅くなります...。
トリプ
これらはチャート上に存在する必要はありません。しかし、indicatorsフォルダに(正確な名前を使って)存在する必要があります。一番簡単な確認 方法は、ターミナルのexpertsタブに行き、そこに何らかのエラーがあるかどうかを見ることです(写真のようなものです)。
triip それらはチャート上にある必要はありません。しかし、それらはindicatorsフォルダに(それらの正確な名前を使用して)存在する必要があります。一番簡単な確認方法は、ターミナルのエキスパートタブに行き、そこに何らかのエラーがあるかどうかを見ることです(写真のようなもの)。
エラーはありません。
しかし、私は、ALF.ex4があまり遅くならないのに、ALF-MTF.ex4が完全に遅くなることに気づきました。私はindicatorsフォルダの中にサブフォルダを持っていて、そこにそれらの言及されたすべてのindicatorsを保存しています。多分、私はクリーンなMT4を再インストールする必要があります。
エラーはありません。
しかし、ALF.ex4はあまり遅くならないのに、ALF-MTF.ex4は完全に遅くなっていることに気づきました。私はindicatorsフォルダの中にサブフォルダを持っていて、そこにそれらの言及されたすべてのindicatorsを格納しています。多分、私はクリーンなMT4を再インストールする必要があります。
サブフォルダからメインのindicatorsフォルダに移動して、それから試してみてください。
サブフォルダからメインのインジケータフォルダに移動して、試してみてください。
Much better, works like a charm
ありがとうございます、mladen!!!!
こんにちは。
チャートのバーの上にテキストオブジェクトを書き込む際に、いつも問題が発生します。
例えば
ObjectCreate ("Xh", OBJ_TEXT,0,Time[0],High[0]+1*pips2dbl);
ObjectSetText("Xh","1",10,"Tahoma",Orange);
ObjectCreate ("X", OBJ_TEXT,0,Time[0],Low[0]-1*pips2dbl);
ObjectSetText("Xl","1",10,"Tahoma",Orange);
バーの下にあるテキストオブジェクトは、フォントオブジェクトがテキストの「頭」に固定されているため、問題なく動作しています。
しかし、バーの上にテキストを書きたい場合、フォントサイズ10のテキストがバーの中に書き込まれてしまうので、pipsが分からなくなります。
私は "H1"、 "D1" または "W1 "などの大きな時間枠で私のテキストを書くときにも問題がある、そこに私はあまりにも、高または低値に私のフォント-距離を変更する必要があるためです。
テキストを90度回転させることができるのは知っていますが、そんなことはしたくありません。
では、その解決策をご存知でしょうか?まず、1*pips2dblの代わりにATRを使ってみてください(そうすれば、異なる時間枠やシンボルに対して自動的に調整されます)。
また、高値の上に表示されているテキストオブジェクトのアンカーポイント(OBJPROP_ANCHOR)をANCHOR_LOWERに調整してみてください。
調整可能な部分は、ロットサイズと、そのロットが適用される口座残高です。例えば、A = 0.01, B = $5000 や、A = 1.00, B = $10000 といったパラメータが考えられます。
この場合、比較に使用できるパラメータ 値を複数用意する必要があります。
extern double accountBalanceA = 5000; のようにパラメータを定義し、パラメータなしで同じことを行ったコードでそれらのパラメータを比較に使用することができます。
jbozman
macdインジケータは変更の必要はありません(99.99%で1本か2本のバーを計算します)。
hiloのインジケータは非常に複雑な方法で値を探します。そのタスクをもっとシンプルな方法で行う他のインジケータを使用する方が良いです(そんなに複雑にする必要はありません)。mladenさん、こんにちは。前日、前週、前月を一度に表示し、シンプルな線分を描き、チャートを混乱させない高値・安値を検索しましたが、見つかりませんでした。
他のものを探してみてくださいということでしたが、本当に探しましたが見つかりませんでした。mql4フォーラムにもリクエストを投稿しました。まだ返事はありません。
簡単に言うと、このインジケーターを改造するために誰か(あなた)にお金を払ってもいいと思っています。
これは前日ごとにプロットするので、「日数」を追加して欲しいです。EUR/USDとGBP/USDでは、私のチャート履歴は1996年以上までさかのぼるので、これらの行であまりにも多くのメモリを消費してしまうのです。
もし、あなたが雇われていないなら(もしかしたら他の人が雇うかも?)、この現在のものにNumber of Daysを追加するだけでは面倒なのでしょうか?他を探すか、改造してくれる人を探すまで使い続けることができます。もし、時間のかかる要望でしたら、完全に理解していますので、何から何までよろしくお願いします。
jbozman