どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 876 1...869870871872873874875876877878879880881882883...1178 新しいコメント 削除済み 2015.04.06 06:35 #8751 artmedia70: 配列の大きさは0である。ArrayResize() を忘れずに、あるいは配列に適切なサイズを設定してください。 ありがとうございます。私は別の方法で、インジケータでArrayMaximum() を見つけ、iCustomを通してExpert Advisorにその値を渡しました :) Mepkypuu 2015.04.06 09:44 #8752 こんにちは。私は、外部DLLからの 呼び出しを使用するスクリプトを持っています。毎日決まった時間に稼働させる必要があるのですが? mario 2015.04.06 13:22 #8753 こんにちは。写真はイメージです。まずボリュームを表示させ、マネーフロー指標(10)を一番上に表示させます。別のインジケータを 作り、もう一度Volumeを取り、Volumeでmouwingを再計算し、最初のウィンドウのように25%、50%、75%でやってみたのです。私のやり方でやってみたのですが、うまくいきませんでした。もし、この件で問題があった方がいらっしゃいましたら、ご意見をお聞かせください。感謝#property indicator_separate_window #property indicator_buffers 2 #property indicator_minimum 0 #property indicator_width1 2 #property indicator_width2 2 #property indicator_color1 DodgerBlue #property indicator_color2 Yellow extern int MAPeriod = 30; double volum[],ma[]; //+------------------------------------------------------------------+ int init(){ int bars_count=WindowBarsPerChart(),volh; int bar=WindowFirstVisibleBar(); volh = Volume[iHighest(Symbol(),0,MODE_VOLUME,bar,0)]; SetIndexBuffer(0,volum); SetIndexBuffer(1,ma); SetIndexStyle(0,DRAW_HISTOGRAM); SetIndexStyle(1,DRAW_LINE); SetLevelValue (0, volh*1.05); SetLevelValue (1, ((volh*1.05)/100)*75.0); SetLevelValue (2, ((volh*1.05)/100)*50.0); SetLevelValue (3, ((volh*1.05)/100)*25.0); return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ /*int start(){ int limit; limit = Bars-IndicatorCounted()-1; for(int i=limit;i>=0;i--){ volum[i] = NormalizeDouble(Volume[i],0); ma[i] = NormalizeDouble(iMAOnArray(volum,0,MAPeriod,0,MODE_SMA,i),0); } return(0); }*/ 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[]) { int i=rates_total-prev_calculated-1; if(i<0) i=0; while(i>=0){ if(i<rates_total-1) volum[i] = NormalizeDouble(Volume[i],0); ma[i] = NormalizeDouble(iMAOnArray(volum,0,MAPeriod,0,MODE_SMA,i),0); i--; } return(rates_total); } владимир 2015.04.06 15:35 #8754 tara: マイナス2小節のことである。そして、限界値の平均値。私をバカにしたいのでしょう。俺なら「くたばれ」と言うね、わかるだろ?) ベラルーシという国がないことをまだ知らない小学2年生、中学1年生が、1年生とコチェツァのところにやってきました。そして、どんな質問に対しても、ただ「勉強しなさい」と送ったり、諭したりするのです。ドアの上にある、どの支店にいるのかをよく読む必要があります。まだアルファベットを覚えたばかりなので、あまり興奮しないでください、どうせ理解できませんから。 владимир 2015.04.06 15:48 #8755 そして、evilliveと artmedia70に 大感謝です。お待たせしました。きっと、私だけの意見ではないはずです。このスレッドに来る人はみんな助けを求めていて、ほとんどあなたから助けを得ているのです。ありがとうございました。 askyra_ya.ru 2015.04.06 16:56 #8756 こんにちは、プロフェッショナルの皆様、久しぶりのご連絡ですポイントは、2つのmuwksが交差するExpert Advisorがあり、誰も注文を開くことに悩まされないということです。void Trade(){ double ma_fast=ma(Period_,Shift_,Method_MA_,Apply_to_,0), ma_slow=ma(Period__,Shift__,Method_MA__,Apply_to__,0) となります。if(sumBO==0 && ma_fast>ma_slow && (!Use_Distance || (Use_Distance && ND(ma_fast-ma_slow)>Distance*Pnt))。{if(sumSO>0 && !ClosePos(OP_SELL)) return;if(MO(OP_BUY,GetLot(),GetComment())==-1) return;if(!ModifyByTicket(T))リターン。NumbUp=0、NumbDn=0。}さもなくばなどなど...。すなわち、距離が交差した場合、オーダーをオープンする最後に交差した時刻を求めるコードが必要です ...そして、現在から履歴の時間まで、一定期間内の注文を検索し、見つからなければ注文を開始します。この目的のためにトレーサーインジケータのコードを調査したところ、すべてクリアしているようです。しかし、私はそれが最も右のものであるように曲線交差の後の最初のバーをタイミングを合わせる方法がわからない。フォルテのオペレーターが必要だと感じているが、形にすることができない Any rookie question, so владимир 2015.04.06 17:18 #8757 evillive:これではいけない。3つのバッファすべてについてiCustomを呼び出し、それぞれの値をそれ自身の変数に書き込み、そしてこれらの値で好きなことをします。ボリンジャーストリップについては、ヘルプの例によると、2本目のバーについては、選択を解除する必要はないようです。 ありがとうございます。 しかし、文盲のため、いつもマニュアルに目を通しているのですが、次のように掘り出しました:カスタムインディケータは、作者のアルゴリズムに従って書かれたプログラムである。そして、チュートリアルでは、iCustomは指定されたカスタムインジケータの 値を返すと書かれています。 しかし、私はカスタム(つまり私の理解では、私が開発した)インディケータを使用していません。 移動平均、ボリンジャーバンド、ストキャスティックオシレーターの標準的な指標を、私が指定したパラメータで取得する必要があるのですが、どうすればいいですか?もちろん、私は「直感」で、最初に見つけたものを適用しています。 しかし、あなたの提案したバリエーションは、私には適さないように思えます。 バッファや配列やループを使わないで解決する方法はないのでしょうか?その中で私は海に沈む玉石のように、一気に沈んでしまうのです。 Vitalie Postolache 2015.04.06 17:27 #8758 sannin:こんにちは、プロフェッショナルの皆様、久しぶりのご連絡ですポイントは、2つのmuwksが交差するExpert Advisorがあり、誰も注文を開くことに悩まされないということです。void Trade(){ double ma_fast=ma(Period_,Shift_,Method_MA_,Apply_to_,0), ma_slow=ma(Period__,Shift__,Method_MA__,Apply_to__,0) となります。if(sumBO==0 && ma_fast>ma_slow && (!Use_Distance || (Use_Distance && ND(ma_fast-ma_slow)>Distance*Pnt))。{if(sumSO>0 && !ClosePos(OP_SELL)) return;if(MO(OP_BUY,GetLot(),GetComment())==-1) return;if(!ModifyByTicket(T))リターン。NumbUp=0、NumbDn=0。}さもなくばなどなど...。つまり、距離が交差する場合、オーダーを開く最後に交差した時刻を求めるコードが必要です ...そして、現在から履歴の時間まで、一定期間内の注文を検索し、見つからなければ注文を開始します。この目的のためにトレーサーインジケータのコードを調査したところ、すべてクリアしているようです。しかし、私はそれが最も右のものであるように曲線交差の後の最初のバーをタイミングを合わせる方法がわからない。フォルテのオペレーターが必要だと感じているが、形にすることができないこのExpert Advisorは交差点で動作するものではありません。基準は次の通りです:速いМАが遅いМАよりXピップス高く、オープンポジションが ない場合、マーケットでそれを開きます。クロスを見つけるには、クロスの前の「高速/低速MA」とクロスの後の「高速/低速MA」の2つの値を常に取り、いわば入れ替わるタイミングを見つける必要があります。言い換えればif(FastMA_2<SlowMA_2 && FastMA_1>SlowMA_1) - 1小節目と2小節目の間で速いМАが遅いМАを下から上へと横切った。無限ループの場合、ゼロバーからクロスの検出までX+1バーとなり、Xバーの時間、つまりクロス後の直近のバーが必要です。 Vitalie Postolache 2015.04.06 17:34 #8759 rapid_minus:ありがとうございます。 しかし、文盲のため、いつも教科書を掘り起こすことになるのだが、これが掘り出したもので、カスタムインディケーターとは、作者のアルゴリズムに従って書かれたプログラム...なのだ。そして、チュートリアルでは、iCustomは指定されたカスタムインジケータの 値を返すと書かれています。しかし、私はカスタム(つまり私の理解では、私が開発した)インディケータを使用していません。 移動平均、ボリンジャーバンド、ストキャスティックオシレーターの標準的な指標を、私が指定したパラメータで取得する必要があるのですが、どうすればいいですか?もちろん、私は「直感」で、最初に見つけたものを適用しています。 しかし、あなたの提案したバリエーションは、私には適さないように思えます。バッファや配列やループを使わないで解決する方法はないのでしょうか?その中で私は海に沈む玉石のように、一気に沈んでしまうのです。 そうですね、ボリンジャーバンドを使う場合はiCustomを呼び出す必要はなく、iBandsは各インジケーターのラインごとに呼び出す必要がありますね。インジケータを呼び出さない(「バッファ、配列、ループを使用しない」)別の方法は、エキスパートアドバイザーにこのインジケータの計算アルゴリズムを実装し、必要なときに目的の値を読み取ることです(例えば、ボトムラインのみなど、目的の値のみを読み取ることも可能です)。しかし、完全にループや配列のないすべて同じでは動作しません。 mario 2015.04.06 17:39 #8760 sannin:こんにちは、プロフェッショナルの皆様、久しぶりのご連絡ですポイントは、2つのmuwksが交差するExpert Advisorがあり、誰も注文を開くことに悩まされないということです。void Trade(){ double ma_fast=ma(Period_,Shift_,Method_MA_,Apply_to_,0), ma_slow=ma(Period__,Shift__,Method_MA__,Apply_to__,0) となります。if(sumBO==0 && ma_fast>ma_slow && (!Use_Distance || (Use_Distance && ND(ma_fast-ma_slow)>Distance*Pnt))。{if(sumSO>0 && !ClosePos(OP_SELL)) return;if(MO(OP_BUY,GetLot(),GetComment())==-1) return;if(!ModifyByTicket(T))リターン。NumbUp=0、NumbDn=0。}さもなくばなどなど...。つまり、距離が交差する場合、オーダーを開く最後に交差した時刻を求めるコードが必要です ...そして、現在から履歴の時間まで、一定期間内の注文を検索し、見つからなければ注文を開始します。この目的のためにトレーサーインジケータのコードを調査したところ、すべてクリアしているようです。しかし、私はそれが最も右のものであるように曲線交差の後の最初のバーをタイミングを合わせる方法がわからない。フォルテのオペレーターが必要だと感じているが、形にすることができない ここでは、2つのミューを越えてから小節を計測する例を示しました。datetime TimeStart = 0; //+------------------------------------------------------------------+ int init(){return(0);} int deinit(){return(0);} //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { int f; bool cu1 = false; bool cu2 = false; double ma_1 = iMA(NULL,0,31,0,MODE_SMA,PRICE_OPEN,0); double ma1 = iMA(NULL,0,11,0,MODE_SMA,PRICE_OPEN,0); double ma_2 = iMA(NULL,0,31,0,MODE_SMA,PRICE_OPEN,1); double ma2 = iMA(NULL,0,11,0,MODE_SMA,PRICE_OPEN,1); if(ma2<ma_2 && ma1>ma_1) TimeStart=Time[0]; if(ma2>ma_2 && ma1<ma_1) TimeStart=Time[0]; if(ma1>ma_1) cu1=true; if(ma1<ma_1) cu2=true; if(cu1==true || cu2==true) int b1=iBarShift(Symbol(), PERIOD_H1, TimeStart); int b2=iBarShift(Symbol(), PERIOD_H1, TimeCurrent()); for(int j=b2;j<=b1;j++){ f=b1-b2; } return(0); } 1...869870871872873874875876877878879880881882883...1178 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
配列の大きさは0である。ArrayResize() を忘れずに、あるいは配列に適切なサイズを設定してください。
こんにちは。
写真はイメージです。
まずボリュームを表示させ、マネーフロー指標(10)を一番上に表示させます。
別のインジケータを 作り、もう一度Volumeを取り、Volumeでmouwingを再計算し、最初のウィンドウのように25%、50%、75%でやってみたのです。
私のやり方でやってみたのですが、うまくいきませんでした。
もし、この件で問題があった方がいらっしゃいましたら、ご意見をお聞かせください。
感謝
#property indicator_separate_window #property indicator_buffers 2 #property indicator_minimum 0 #property indicator_width1 2 #property indicator_width2 2 #property indicator_color1 DodgerBlue #property indicator_color2 Yellow extern int MAPeriod = 30; double volum[],ma[]; //+------------------------------------------------------------------+ int init(){ int bars_count=WindowBarsPerChart(),volh; int bar=WindowFirstVisibleBar(); volh = Volume[iHighest(Symbol(),0,MODE_VOLUME,bar,0)]; SetIndexBuffer(0,volum); SetIndexBuffer(1,ma); SetIndexStyle(0,DRAW_HISTOGRAM); SetIndexStyle(1,DRAW_LINE); SetLevelValue (0, volh*1.05); SetLevelValue (1, ((volh*1.05)/100)*75.0); SetLevelValue (2, ((volh*1.05)/100)*50.0); SetLevelValue (3, ((volh*1.05)/100)*25.0); return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ /*int start(){ int limit; limit = Bars-IndicatorCounted()-1; for(int i=limit;i>=0;i--){ volum[i] = NormalizeDouble(Volume[i],0); ma[i] = NormalizeDouble(iMAOnArray(volum,0,MAPeriod,0,MODE_SMA,i),0); } return(0); }*/ 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[]) { int i=rates_total-prev_calculated-1; if(i<0) i=0; while(i>=0){ if(i<rates_total-1) volum[i] = NormalizeDouble(Volume[i],0); ma[i] = NormalizeDouble(iMAOnArray(volum,0,MAPeriod,0,MODE_SMA,i),0); i--; } return(rates_total); }
マイナス2小節のことである。そして、限界値の平均値。私をバカにしたいのでしょう。俺なら「くたばれ」と言うね、わかるだろ?)
そして、evilliveと artmedia70に 大感謝です。お待たせしました。きっと、私だけの意見ではないはずです。このスレッドに来る人はみんな助けを求めていて、ほとんどあなたから助けを得ているのです。ありがとうございました。
こんにちは、プロフェッショナルの皆様、久しぶりのご連絡です
ポイントは、2つのmuwksが交差するExpert Advisorがあり、誰も注文を開くことに悩まされないということです。
void Trade()
{ double ma_fast=ma(Period_,Shift_,Method_MA_,Apply_to_,0), ma_slow=ma(Period__,Shift__,Method_MA__,Apply_to__,0) となります。
if(sumBO==0 && ma_fast>ma_slow && (!Use_Distance || (Use_Distance && ND(ma_fast-ma_slow)>Distance*Pnt))。
{
if(sumSO>0 && !ClosePos(OP_SELL)) return;
if(MO(OP_BUY,GetLot(),GetComment())==-1) return;
if(!ModifyByTicket(T))リターン。
NumbUp=0、NumbDn=0。
}
さもなくば
などなど...。
すなわち、距離が交差した場合、オーダーをオープンする
最後に交差した時刻を求めるコードが必要です ...
そして、現在から履歴の時間まで、一定期間内の注文を検索し、見つからなければ注文を開始します。
この目的のためにトレーサーインジケータのコードを調査したところ、すべてクリアしているようです。
しかし、私はそれが最も右のものであるように曲線交差の後の最初のバーをタイミングを合わせる方法がわからない。
フォルテのオペレーターが必要だと感じているが、形にすることができない
これではいけない。3つのバッファすべてについてiCustomを呼び出し、それぞれの値をそれ自身の変数に書き込み、そしてこれらの値で好きなことをします。
ボリンジャーストリップについては、ヘルプの例によると、2本目のバーについては、選択を解除する必要はないようです。
ありがとうございます。
しかし、文盲のため、いつもマニュアルに目を通しているのですが、次のように掘り出しました:カスタムインディケータは、作者のアルゴリズムに従って書かれたプログラムである。そして、チュートリアルでは、iCustomは指定されたカスタムインジケータの 値を返すと書かれています。
しかし、私はカスタム(つまり私の理解では、私が開発した)インディケータを使用していません。
移動平均、ボリンジャーバンド、ストキャスティックオシレーターの標準的な指標を、私が指定したパラメータで取得する必要があるのですが、どうすればいいですか?もちろん、私は「直感」で、最初に見つけたものを適用しています。 しかし、あなたの提案したバリエーションは、私には適さないように思えます。
バッファや配列やループを使わないで解決する方法はないのでしょうか?その中で私は海に沈む玉石のように、一気に沈んでしまうのです。
こんにちは、プロフェッショナルの皆様、久しぶりのご連絡です
ポイントは、2つのmuwksが交差するExpert Advisorがあり、誰も注文を開くことに悩まされないということです。
void Trade()
{ double ma_fast=ma(Period_,Shift_,Method_MA_,Apply_to_,0), ma_slow=ma(Period__,Shift__,Method_MA__,Apply_to__,0) となります。
if(sumBO==0 && ma_fast>ma_slow && (!Use_Distance || (Use_Distance && ND(ma_fast-ma_slow)>Distance*Pnt))。
{
if(sumSO>0 && !ClosePos(OP_SELL)) return;
if(MO(OP_BUY,GetLot(),GetComment())==-1) return;
if(!ModifyByTicket(T))リターン。
NumbUp=0、NumbDn=0。
}
さもなくば
などなど...。
つまり、距離が交差する場合、オーダーを開く
最後に交差した時刻を求めるコードが必要です ...
そして、現在から履歴の時間まで、一定期間内の注文を検索し、見つからなければ注文を開始します。
この目的のためにトレーサーインジケータのコードを調査したところ、すべてクリアしているようです。
しかし、私はそれが最も右のものであるように曲線交差の後の最初のバーをタイミングを合わせる方法がわからない。
フォルテのオペレーターが必要だと感じているが、形にすることができない
このExpert Advisorは交差点で動作するものではありません。基準は次の通りです:速いМАが遅いМАよりXピップス高く、オープンポジションが ない場合、マーケットでそれを開きます。
クロスを見つけるには、クロスの前の「高速/低速MA」とクロスの後の「高速/低速MA」の2つの値を常に取り、いわば入れ替わるタイミングを見つける必要があります。言い換えれば
if(FastMA_2<SlowMA_2 && FastMA_1>SlowMA_1) - 1小節目と2小節目の間で速いМАが遅いМАを下から上へと横切った。
無限ループの場合、ゼロバーからクロスの検出までX+1バーとなり、Xバーの時間、つまりクロス後の直近のバーが必要です。
ありがとうございます。
しかし、文盲のため、いつも教科書を掘り起こすことになるのだが、これが掘り出したもので、カスタムインディケーターとは、作者のアルゴリズムに従って書かれたプログラム...なのだ。そして、チュートリアルでは、iCustomは指定されたカスタムインジケータの 値を返すと書かれています。
しかし、私はカスタム(つまり私の理解では、私が開発した)インディケータを使用していません。
移動平均、ボリンジャーバンド、ストキャスティックオシレーターの標準的な指標を、私が指定したパラメータで取得する必要があるのですが、どうすればいいですか?もちろん、私は「直感」で、最初に見つけたものを適用しています。 しかし、あなたの提案したバリエーションは、私には適さないように思えます。
バッファや配列やループを使わないで解決する方法はないのでしょうか?その中で私は海に沈む玉石のように、一気に沈んでしまうのです。
こんにちは、プロフェッショナルの皆様、久しぶりのご連絡です
ポイントは、2つのmuwksが交差するExpert Advisorがあり、誰も注文を開くことに悩まされないということです。
void Trade()
{ double ma_fast=ma(Period_,Shift_,Method_MA_,Apply_to_,0), ma_slow=ma(Period__,Shift__,Method_MA__,Apply_to__,0) となります。
if(sumBO==0 && ma_fast>ma_slow && (!Use_Distance || (Use_Distance && ND(ma_fast-ma_slow)>Distance*Pnt))。
{
if(sumSO>0 && !ClosePos(OP_SELL)) return;
if(MO(OP_BUY,GetLot(),GetComment())==-1) return;
if(!ModifyByTicket(T))リターン。
NumbUp=0、NumbDn=0。
}
さもなくば
などなど...。
つまり、距離が交差する場合、オーダーを開く
最後に交差した時刻を求めるコードが必要です ...
そして、現在から履歴の時間まで、一定期間内の注文を検索し、見つからなければ注文を開始します。
この目的のためにトレーサーインジケータのコードを調査したところ、すべてクリアしているようです。
しかし、私はそれが最も右のものであるように曲線交差の後の最初のバーをタイミングを合わせる方法がわからない。
フォルテのオペレーターが必要だと感じているが、形にすることができない