コーディングのヘルプ - ページ 61 1...545556575859606162636465666768...786 新しいコメント macerina 2012.12.05 14:26 #601 mladen: そのインジケータはスムージングに「snake force」(centered TMA)を使用しており、再計算せず、そのままにすることはできません。センタリングTMAの「非リペイント」(エンドポイント)バージョンは単純なLWMAですが、センタリングTMAと同じ結果を期待することはできません。centered TMAについての詳細はこちらをご覧ください :https://www.mql5.com/en/forum/181241 そのコードの変更や改良について : その基本はデコンパイルされたコードです。デコンパイルされたコードを変更する人がいるとは思えません。 Mladenさん、情報ありがとうございました。 dasio 2012.12.09 23:43 #602 こんにちは。 このインジケータをウェブからダウンロードしたのですが、添付すると2レベルの別ウィンドウが表示され、バーが表示されません。 修正する方法を教えてください。 ありがとうございました。 オシレータ.mq4 ファイル: oscillator.mq4 6 kb Mladen Rakic 2012.12.10 07:01 #603 dasioです。 これはただの太陽風インジケーターです。 dasio: こんにちは。このインジケータをウェブからダウンロードしたのですが、添付すると2レベルの別ウィンドウが表示され、バーが表示されません。 修正するのを手伝ってもらえますか? ありがとうございました。 オシレータ.mq4 dasio 2012.12.10 07:42 #604 mladen: dasioさん、それはただの太陽風インジケーターです(誰かが何かを変えようとした)。 ありがとうございます。しかし、私はバックテストを 開始すると、バーが表示されます。どうすればいいのでしょうか? ありがとうございます。 Mladen Rakic 2012.12.10 08:08 #605 ダシオ expertsとjournalタブで、何らかのエラーが書き出されていないか確認してみてください。私のブローカーデータでは動作するので、あなたのブローカーデータで何が起こっているかはわかりません(多分ゼロ除算か それに似た何か)。 dasio: ありがとうございます。しかし、私はバックテストを開始すると、バーが表示されます。どうすればいいのでしょうか? nevar 2012.12.12 10:06 #606 Mladen 。 あなたがコードを書いたり、誰かのコードを見たりするとき、あなたはどのようにコードの品質を評価しますか?あなたがコードを書くとき、あなたはどのようにコードの堅牢性をテストしていますか? Mladen Rakic 2012.12.12 17:47 #607 :) 私の主な基準は次の2つです。 - シンプルさ(コードをシンプルにすることで、開発、拡張、デバッグが容易になります)。- 整頓されていること (コードを山に放り込めば動くと考える人は、一定期間後に自分のコードを見たことがないでしょう)。また、整理されていないコードのデバッグは、それ自体が物語になります) これらの2つが満たされたときだけ、私は第二の一見を取り、その時だけ私はそれを "読む "が、それは品質にアクセスするために何ができるかは非常に長い物語です - 私はプロセスが客観的よりもはるかに主観的であると思います... nevar: Mladen , あなたがコードを書いたり、誰かのコードを見たりするとき、どのようにコードの品質を評価しますか?あなたがコードを書くとき、どのようにコードの堅牢性をテストしていますか? drofwarc 2012.12.16 02:09 #608 drofwarc: こんにちは。iFractalsを呼び出すインジケータを適応させ、代わりに周期調整機能を持つカスタムフラクタルインジケータを呼び出そうとしています。私が適応させようとしているインジケータは、添付されています。"closesrelativejtozpreviousofractal "と呼ばれています。 closesrelativejtozpreviousofractal.mq4(クローズスレラティブジェイトズプレビュートフラクタル)。 このコードは、価格が前回のフラクタル高値を更新した場合は上向き矢印を、その逆の場合は下向き矢印をプロットします。 iCustomで呼び出そうとしているインジケータも添付します。"Fractals - adjustable "という名前です。 フラクタル_-_adjustable.mq4 以下は、私がオリジナルのインジケータを修正して、Fractals - adjustableを呼び出すようにしたものです。このコードでは、高値と安値のフラクタルに点を打つことに成功し、私が望んだように、フラクタル周期を調整することができます。問題は、前の高値と安値のフラクタルレベルのブレークをプロットするための矢印にあります。正しくプロットすることができません。 何か手助けがあれば、とてもありがたいです。 よろしくお願いします。 drofwarc int start() { int counted_bars = IndicatorCounted(); if (counted_bars > 0) counted_bars--; int limit = Bars - counted_bars; for(int i=limit; i>0; i--) { UpFractalsBuffer=iCustom(NULL,0,"Fractal - Adjustable", dist, arrowPosition, 0, i); //-Draw the high fractal if (UpFractalsBuffer!=0) //-If it is available, put in the array of fractals for higher levels HighLevel=iCustom(NULL,0,"Fractal - Adjustable", dist, arrowPosition, 2, i); if(Close>HighLevel) UpArrowBuffer=(Low-(PipBuffer)*Poin); //Arrows DownFractalsBuffer=iCustom(NULL,0,"Fractal - Adjustable", dist, arrowPosition, 1, i); //-Draw the low fractal if(DownFractalsBuffer!=0) //- If it is available put in the array of lower levels LowLevel=iCustom(NULL,0,"Fractal - Adjustable", dist, arrowPosition, 3, i); if(Close<LowLevel) DownArrowBuffer=(High+(PipBuffer)*Poin);//Arrows } return(0); } 最終的にこれを解決しました。問題はバッファの取り違えでした。 drofwarc 2012.12.16 02:35 #609 シグナルとシグナルの間にn本のバーをスキップさせるコード みなさん、こんにちは。 Sleep()を使うか、タイムスタンプを記録して、次のシグナルを出す前にタイムスタンプの後n秒待つことによって、EAをトレードの間に一時停止させることが可能であることは知っています。 しかし、インジケータに同じことをすることは可能でしょうか? 例えば、2本の移動平均の クロスで矢印を表示するインジケータで、クロスの後、別の矢印を表示する前にn本のバーをスキップできるようにしたいです。言い換えれば、n本のバーが経過する前に別のクロスが発生した場合、インジケータはクロスを無視し、矢印をプロットしないようにします。 これを実現するインジケータを広範囲に探しましたが、見つかりませんでした。 どなたか、この機能を持つインジケータを投稿して、私がコードを勉強できるようにしていただけませんか?あるいは、この提案のために動作するコードの例を提供していただければ、私がそれを実装してみることができます。 ありがとうございました。 drofwarc chenairbin 2012.12.16 04:54 #610 が正常に表示されないのですが、どなたか修正する方法を教えてください。 #プロパティ indicator_separate_window #property indicator_buffers 1 インジケータバッファ1 #property indicator_color1 レッド #property indicator_maximum 100 (最大値100) #property indicator_level1 70(レベル1 #property indicator_level2 50 #property indicator_level3 30 #property indicator_minimum 0 //---- 入力パラメータ extern int rsiperiod = 14 ; extern int Shortperiod = 5 ; extern int Middleperiod = 8; extern int Longperiod = 13; extern int mamode = 2 ; //---- バッファ double RSI[]; double ShortRSI[]; double MiddleRSI[]; double LongRSI[]; double SMRSI[]; int period ; //+------------------------------------------------------------------+ //| カスタムインジケータ 初期化関数 //+------------------------------------------------------------------+ int init() { //---- インジケータ IndicatorBuffers(5); SetIndexBuffer(0,SMRSI)。 SetIndexBuffer(1,RSI); //SetIndexBuffer(0,SMRSI)を設定します。 SetIndexBuffer(2,ShortRSI); SetIndexBuffer(2,ShortRSI); SetIndexBuffer(3,MiddleRSI)。 SetIndexBuffer(4,LongRSI)を設定します。 //DataWindowとIndicatorサブウィンドウのラベルの名前 IndicatorShortName("SMRSI("+rsiperiod+", "+Shortperiod+", "+Middleperiod+", "+Longperiod+", "+mamode+")"); SetIndexDrawBegin(0,rsiperiod+Longperiod)を設定します。 period=Shortperiod+Middleperiod+Longperiod。 return(0); } //+------------------------------------------------------------------+ //| カスタムインジケーターイテレーション機能 //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); int i,limit; if(counted_bars<0)リターン(-1); if(counted_bars>0)counted_bars--。 limit = Bars-counted_bars; for( i=limit; i>=0; i--) RSI=iRSI(NULL,0,rsiperiod,0,i); for( i=limit; i>=0; i--) ShortRSI=iMAOnArray(RSI,0,Shortperiod,0,mamode,i)。 for( i=limit; i>=0; i--) MiddleRSI=iMAOnArray(RSI,0,Middleperiod,0,mamode,i)。 for( i=limit; i>=0; i--) LongRSI=iMAOnArray(RSI,0,Longperiod,0,mamode,i)。 for( i=limit; i>=0; i--) { if(period!=0) SMRSI=(Shortperiod/period)*ShortRSI+(Middleperiod/period)*MiddleRSI+(Longperiod/period)*LongRSI;}; }. return(0); } //+------------------------------------------------------------------+ Coding help 戦略を求める人は?たくさん、しかも無料で)。 [警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 1...545556575859606162636465666768...786 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そのインジケータはスムージングに「snake force」(centered TMA)を使用しており、再計算せず、そのままにすることはできません。センタリングTMAの「非リペイント」(エンドポイント)バージョンは単純なLWMAですが、センタリングTMAと同じ結果を期待することはできません。centered TMAについての詳細はこちらをご覧ください :https://www.mql5.com/en/forum/181241 そのコードの変更や改良について : その基本はデコンパイルされたコードです。デコンパイルされたコードを変更する人がいるとは思えません。
Mladenさん、情報ありがとうございました。
こんにちは。
このインジケータをウェブからダウンロードしたのですが、添付すると2レベルの別ウィンドウが表示され、バーが表示されません。
修正する方法を教えてください。
ありがとうございました。
オシレータ.mq4
dasioです。
これはただの太陽風インジケーターです。
こんにちは。
このインジケータをウェブからダウンロードしたのですが、添付すると2レベルの別ウィンドウが表示され、バーが表示されません。
修正するのを手伝ってもらえますか?
ありがとうございました。
オシレータ.mq4dasioさん、それはただの太陽風インジケーターです(誰かが何かを変えようとした)。
ありがとうございます。しかし、私はバックテストを 開始すると、バーが表示されます。どうすればいいのでしょうか?
ありがとうございます。
ダシオ
expertsとjournalタブで、何らかのエラーが書き出されていないか確認してみてください。私のブローカーデータでは動作するので、あなたのブローカーデータで何が起こっているかはわかりません(多分ゼロ除算か それに似た何か)。
ありがとうございます。しかし、私はバックテストを開始すると、バーが表示されます。どうすればいいのでしょうか?
Mladen 。
あなたがコードを書いたり、誰かのコードを見たりするとき、あなたはどのようにコードの品質を評価しますか?あなたがコードを書くとき、あなたはどのようにコードの堅牢性をテストしていますか?
:)
私の主な基準は次の2つです。
これらの2つが満たされたときだけ、私は第二の一見を取り、その時だけ私はそれを "読む "が、それは品質にアクセスするために何ができるかは非常に長い物語です - 私はプロセスが客観的よりもはるかに主観的であると思います...
Mladen , あなたがコードを書いたり、誰かのコードを見たりするとき、どのようにコードの品質を評価しますか?あなたがコードを書くとき、どのようにコードの堅牢性をテストしていますか?
こんにちは。
iFractalsを呼び出すインジケータを適応させ、代わりに周期調整機能を持つカスタムフラクタルインジケータを呼び出そうとしています。私が適応させようとしているインジケータは、添付されています。"closesrelativejtozpreviousofractal "と呼ばれています。
closesrelativejtozpreviousofractal.mq4(クローズスレラティブジェイトズプレビュートフラクタル)。
このコードは、価格が前回のフラクタル高値を更新した場合は上向き矢印を、その逆の場合は下向き矢印をプロットします。
iCustomで呼び出そうとしているインジケータも添付します。"Fractals - adjustable "という名前です。
フラクタル_-_adjustable.mq4
以下は、私がオリジナルのインジケータを修正して、Fractals - adjustableを呼び出すようにしたものです。このコードでは、高値と安値のフラクタルに点を打つことに成功し、私が望んだように、フラクタル周期を調整することができます。問題は、前の高値と安値のフラクタルレベルのブレークをプロットするための矢印にあります。正しくプロットすることができません。
何か手助けがあれば、とてもありがたいです。
よろしくお願いします。
drofwarc
{
int counted_bars = IndicatorCounted();
if (counted_bars > 0) counted_bars--;
int limit = Bars - counted_bars;
for(int i=limit; i>0; i--)
{
UpFractalsBuffer=iCustom(NULL,0,"Fractal - Adjustable", dist, arrowPosition, 0, i); //-Draw the high fractal
if (UpFractalsBuffer!=0) //-If it is available, put in the array of fractals for higher levels
HighLevel=iCustom(NULL,0,"Fractal - Adjustable", dist, arrowPosition, 2, i);
if(Close>HighLevel)
UpArrowBuffer=(Low-(PipBuffer)*Poin); //Arrows
DownFractalsBuffer=iCustom(NULL,0,"Fractal - Adjustable", dist, arrowPosition, 1, i); //-Draw the low fractal
if(DownFractalsBuffer!=0) //- If it is available put in the array of lower levels
LowLevel=iCustom(NULL,0,"Fractal - Adjustable", dist, arrowPosition, 3, i);
if(Close<LowLevel)
DownArrowBuffer=(High+(PipBuffer)*Poin);//Arrows
}
return(0);
}最終的にこれを解決しました。問題はバッファの取り違えでした。
シグナルとシグナルの間にn本のバーをスキップさせるコード
みなさん、こんにちは。
Sleep()を使うか、タイムスタンプを記録して、次のシグナルを出す前にタイムスタンプの後n秒待つことによって、EAをトレードの間に一時停止させることが可能であることは知っています。
しかし、インジケータに同じことをすることは可能でしょうか?
例えば、2本の移動平均の クロスで矢印を表示するインジケータで、クロスの後、別の矢印を表示する前にn本のバーをスキップできるようにしたいです。言い換えれば、n本のバーが経過する前に別のクロスが発生した場合、インジケータはクロスを無視し、矢印をプロットしないようにします。
これを実現するインジケータを広範囲に探しましたが、見つかりませんでした。
どなたか、この機能を持つインジケータを投稿して、私がコードを勉強できるようにしていただけませんか?あるいは、この提案のために動作するコードの例を提供していただければ、私がそれを実装してみることができます。
ありがとうございました。
drofwarc
が正常に表示されないのですが、どなたか修正する方法を教えてください。
#プロパティ indicator_separate_window
#property indicator_buffers 1 インジケータバッファ1
#property indicator_color1 レッド
#property indicator_maximum 100 (最大値100)
#property indicator_level1 70(レベル1
#property indicator_level2 50
#property indicator_level3 30
#property indicator_minimum 0
//---- 入力パラメータ
extern int rsiperiod = 14 ;
extern int Shortperiod = 5 ;
extern int Middleperiod = 8;
extern int Longperiod = 13;
extern int mamode = 2 ;
//---- バッファ
double RSI[];
double ShortRSI[];
double MiddleRSI[];
double LongRSI[];
double SMRSI[];
int period ;
//+------------------------------------------------------------------+
//| カスタムインジケータ 初期化関数
//+------------------------------------------------------------------+
int init()
{
//---- インジケータ
IndicatorBuffers(5);
SetIndexBuffer(0,SMRSI)。
SetIndexBuffer(1,RSI); //SetIndexBuffer(0,SMRSI)を設定します。
SetIndexBuffer(2,ShortRSI); SetIndexBuffer(2,ShortRSI);
SetIndexBuffer(3,MiddleRSI)。
SetIndexBuffer(4,LongRSI)を設定します。
//DataWindowとIndicatorサブウィンドウのラベルの名前
IndicatorShortName("SMRSI("+rsiperiod+", "+Shortperiod+", "+Middleperiod+", "+Longperiod+", "+mamode+")");
SetIndexDrawBegin(0,rsiperiod+Longperiod)を設定します。
period=Shortperiod+Middleperiod+Longperiod。
return(0);
}
//+------------------------------------------------------------------+
//| カスタムインジケーターイテレーション機能
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int i,limit;
if(counted_bars<0)リターン(-1);
if(counted_bars>0)counted_bars--。
limit = Bars-counted_bars;
for( i=limit; i>=0; i--) RSI=iRSI(NULL,0,rsiperiod,0,i);
for( i=limit; i>=0; i--) ShortRSI=iMAOnArray(RSI,0,Shortperiod,0,mamode,i)。
for( i=limit; i>=0; i--) MiddleRSI=iMAOnArray(RSI,0,Middleperiod,0,mamode,i)。
for( i=limit; i>=0; i--) LongRSI=iMAOnArray(RSI,0,Longperiod,0,mamode,i)。
for( i=limit; i>=0; i--) { if(period!=0) SMRSI=(Shortperiod/period)*ShortRSI+(Middleperiod/period)*MiddleRSI+(Longperiod/period)*LongRSI;}; }.
return(0);
}
//+------------------------------------------------------------------+