[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 263 1...256257258259260261262263264265266267268269270...1145 新しいコメント Mykola Demko 2009.10.20 16:20 #2621 Run >> : 正方形や長方形を背景として描かず、枠として描く方法を教えてください。 ありがとうございました。 オブジェクトプロパティのリストで、背景として描画する矩形プロパティをfalseに設定します。 ObjectSet( string name, OBJPROP_BACK, false) ; しかし、オブジェクトはチャートの前に描画されます。 削除済み 2009.10.20 19:15 #2622 編集|削除 無理な質問で申し訳ないのですが...。 インジケーターバッファーはちょっと苦手です...。あるいは、インジケーターそのものがよく分かっていない...。 BrainTrend2StopNインジケーターの参照方法について、可能であればアドバイスをお願いします。 現在のバーのオープニングがインジケータ値より高いか低いかをチェックしたい。 EAから文字列でインジケータにアクセスしています。 iCustom(NULL,0, "BrainTrend2StopN",CountBars, 1,0) または iCustom(NULL,0, "BrainTrend2StopN",CountBars, 0,0) はそれぞれゼロと最初のバッファのために...。 しかし、Expert Advisorはこの文字列に反応しない...。 ありがとうございました。 ファイル: braintrend2stopn_1.mq4 5 kb Alexey Subbotin 2009.10.20 19:38 #2623 Morzh09 >> :iCustom(NULL,0, "BrainTrend2StopN",CountBars,1,0) または iCustom(NULL,0, "BrainTrend2StopN",CountBars,0,0) はそれぞれゼロと最初のバッファのために...。 Expert Advisorはこの文字列に反応しない...。 インジケータに2つの外部パラメータがあることに注意してください。 extern int Simbol =119; extern intBars=500; は、すべてiCustomに記述する必要があります。 iCustom(NULL,0,"BrainTrend2StopN", Simbol, CountBars, 0,0); iCustom(NULL,0,"BrainTrend2StopN", Simbol, CountBars, 1,0); 削除済み 2009.10.20 20:14 #2624 アラスカ ありがとうございました。コードを修正し、両方のパラメータを渡すようにしましたが、残念ながら、インジケータバッファの値でAlertを呼び出すと、ゼロだけが表示されます...。 もし機会があれば、対処法を教えていただけませんか。 ファイル: bt1_1.mq4 10 kb Alexey Subbotin 2009.10.20 20:22 #2625 トライ Alert("Buy signal", " ", DoubleToStr(iCustom(NULL,0,"BrainTrend1StopN", Simbol, CountBars, EnableAlerts, SignalID,1,0),8), " ", DoubleToStr(iCustom(NULL,0,"BrainTrend1StopN", Simbol, CountBars, EnableAlerts, SignalID,0,0),8) ); Kurt 2009.10.21 07:04 #2626 プログラマーさん、よろしくお願いします。1週間ほど格闘していますが、プログラミングの仕方が分からないので、何も動きません。2つのHMAを矢印で交差させるインジケータを書く ことはできますか? ファイル: hma.mq4 4 kb Kurt 2009.10.21 07:15 #2627 なぜかシフトの意味がわからず、矢印をつけたがらない。 #property indicator_chart_window //#property indicator_chart_window #プロパティ indicator_buffers 4 #property indicator_color1 マゼンタ // 12 #プロパティ indicator_color2 Blue // 26 #property indicator_color3 MediumBlue #property indicator_color4 トマト #property indicator_width1 2 #property indicator_width2 2 #property indicator_width3 1 #property indicator_width4 1 //---- インジケータ・パラメータ extern int FastHMA = 12; extern int SlowHMA = 26; extern inttern ExtmethodFastHMA=0; // MODE_SMA extern int ExtmethodSlowHMA=0; // MODE_SMA extern int ExtpriceFastHMA=0; // PRICE_CLOSE extern int ExtpriceSlowHMA=0; // PRICE_CLOSE extern int ExtsdvigFastHMA=0; extern int ExtsdvigSlowHMA=0; extern bool EnableAlert=true; extern string ExtSoundFileName = ""; //----インジケータ・バッファ double PreHMA1[]; double PreHMA2[]; double CrossUp[]; double CrossDown[]; static int bBuy = 0; static int bSell = 0; //+------------------------------------------------------------------+ int pF, pS; //+------------------------------------------------------------------+ //| カスタムインジケータ初期化関数 //+------------------------------------------------------------------+ int init() { //中 SetIndexStyle( 0, DRAW_LINE ) を設定します。 SetIndexStyle( 1, DRAW_LINE ) を設定します。 // シグナル SetIndexStyle( 2, DRAW_ARROW, EMPTY ) を設定します。 SetIndexArrow( 2, 233 ); SetIndexStyle( 3, DRAW_ARROW, EMPTY ) を設定します。 SetIndexArrow( 3, 234 ); //---- 5つのインジケータ・バッファのマッピング SetIndexBuffer(0,PreHMA1)を設定。 SetIndexBuffer(1,PreHMA2)を設定します。 SetIndexBuffer( 2,CrossUp ); SetIndexBuffer( 3,CrossDown ); IndicatorDigits( MarketInfo( Symbol(), MODE_DIGITS ))); //---- DataWindowとインジケータサブウィンドウのラベル名 IndicatorShortName("HMA2("+FastHMA+", "+SlowHMA+")"); SetIndexLabel( 0, "HMA("+FastHMA + "," +SlowHMA +")" + FastHMA ).SetIndexLabel( 0, "HMA("+FastHMA + "," +SlowHMA +")" + FastHMA ); SetIndexLabel( 1, "HMA(" + FastHMA + "," + SlowHMA+")" + SlowHMA ); SetIndexLabel( 2, "買い" ); SetIndexLabel( 3, "Sell" ); pF = MathSqrt(FastHMA)。 pS = MathSqrt(SlowHMA); //---- 初期化完了 return(0)です。 } //+------------------------------------------------------------------+ double WMA(int x, int p) { { { WMA(int x,int p) return(iMA(NULL, 0, p, 0, MODE_SMA, PRICE_CLOSE, x+sdvig)) } //+------------------------------------------------------------------+ //| オシレーターの移動平均 //+------------------------------------------------------------------+ int start() { bool bConditionUp; { bConditionDown; ダブルレンジ double AvgRange; int制限。 int カウンター。 int counted_bars=IndicatorCounted(); //---- 最後にカウントされたバーが再カウントされます。 if(counted_bars>0) counted_bars--; limit=Bars-counted_bars。 //---- HMAの準備 for(int i=0; i<limit;i++){の場合。 PreHMA1[i] = 2*WMA(i, FastHMA/2) - WMA(i, FastHMA)です。 PreHMA2[i] = 2*WMA(i, SlowHMA/2) - WMA(i, SlowHMA)です。 AvgRange = 0; bConditionUp = 0; bConditionDown = 0; for ( counter = i; counter <= i + 9; counter++ ) { 。 AvgRange += MathAbs( High[ counter ] - Low[ counter ] ); } レンジ = AvgRange/10; bConditionUp = (PreHMA1[i+1] >= PreHMA2[i+1] ) && (PreHMA1[i+1] >= PreHMA2[i+1]) (PreHMA1[i+2] <= PreHMA2[i+2] ) &&. (PreHMA1[i] >= PreHMA2[i] ); // 上方向に交差する。 bConditionDown = (PreHMA1[i+1] <= PreHMA2[i+1] ) && 。 (PreHMA1[i+2] >= PreHMA2[i+2] ) && (PreHMA1[i+2] >= PreHMA2[i+2]) (PreHMA1[i] <= PreHMA2[i] ); // 下方向へのクロス if ( bConditionUp ) {///。 CrossUp[i+1] = PreHMA2[i+1]-Range * 0.75; CrossDown[i+1] = EMPTY_VALUE; bConditionDown = false とする。 } if ( bConditionDown ) {///。 CrossDown[i+1] = PreHMA2[i+1]+Range * 0.75; CrossUp[i+1] = EMPTY_VALUE。 bConditionUp = false とする。 } if (!bConditionUp && !bConditionDown){。 CrossDown[i+1] = EMPTY_VALUE; CrossUp[i+1] = EMPTY_VALUE。 } if (bConditionUp && !bBuy==1 && i==0 && EnableAlert){. bBuy = 1; // 買いフラグを設定する bSell = 0; // 売りのフラグをリセットする アラート(シンボル()," ",期間(), "M Achtung BUY "); // ビープ音 if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName ); } if (bConditionDown && !bSell==1 && i==0 && EnableAlert){. bBuy = 0; // 購入フラグを設定する bSell = 1; // 売りフラグをリセットします。 アラート(Symbol()," ",Period(), "M Achtung SELL "); // ビープ音 if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName ); } //コメント("Buy-"+bBuy+" \nSell-"+bSell); } // for //return ("0"); } //購入する // if (bBuy==0 && i < 1 && EnableAlert) {. ///Alert (Symbol()," ",Period(), "M Achtung BUY "); // ビープ音 // アラート("Buy,",bBuy,",i,",EnableAlert); // if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName ); // } // if (bSell==0 && i < 1 && EnableAlert) { {... ///Alert (Symbol()," ",Period(), "M Achtung SELL "); // アラート("Sell-",bSell," ",i," ",EnableAlert)。 // if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName ); // } どなたか、私の間違いを教えていただけませんか? [WARNING CLOSED!] Any newbie どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 初心者の方からの質問 MQL4 MT4 MetaTrader Alexey Subbotin 2009.10.21 09:04 #2628 kurt >> : 私の間違いが何なのか、どなたか教えてください。 まず、コードを読みやすい形にし、ネストレベルを示すタブとSRCボタンを使用します Денис 2009.10.21 13:01 #2629 こんにちは。 チュートリアルから情報機能を理解するために私を助けてくださいhttps://book.mql4.com/ru/build/info 私は1週間理解していない、なぜそれからの信号が表示されないのですか?チュートリアルのExpert Advisorを忠実に再現しており、その情報は内部に含まれています。 チャートにインジケータを追加する必要がありますか?何を使って埋めればいいのでしょうか?サンプルには空のインジケータがあり、好きなもので埋めたいのですが...。Inform()関数のシグナルを表示させるには? Денис 2009.10.21 13:03 #2630 私たち初心者は1週間が期限のようですが、その後、プロに会いに行きます)))) 最近の記事から結論づけると... 1...256257258259260261262263264265266267268269270...1145 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
正方形や長方形を背景として描かず、枠として描く方法を教えてください。
ありがとうございました。
オブジェクトプロパティのリストで、背景として描画する矩形プロパティをfalseに設定します。
ObjectSet( string name, OBJPROP_BACK, false) ;
しかし、オブジェクトはチャートの前に描画されます。
無理な質問で申し訳ないのですが...。
インジケーターバッファーはちょっと苦手です...。あるいは、インジケーターそのものがよく分かっていない...。
BrainTrend2StopNインジケーターの参照方法について、可能であればアドバイスをお願いします。
現在のバーのオープニングがインジケータ値より高いか低いかをチェックしたい。
EAから文字列でインジケータにアクセスしています。
iCustom(NULL,0, "BrainTrend2StopN",CountBars, 1,0)
または
iCustom(NULL,0, "BrainTrend2StopN",CountBars, 0,0)
はそれぞれゼロと最初のバッファのために...。
しかし、Expert Advisorはこの文字列に反応しない...。
ありがとうございました。
iCustom(NULL,0, "BrainTrend2StopN",CountBars,1,0)
または
iCustom(NULL,0, "BrainTrend2StopN",CountBars,0,0)
はそれぞれゼロと最初のバッファのために...。
Expert Advisorはこの文字列に反応しない...。
インジケータに2つの外部パラメータがあることに注意してください。
extern int Simbol =119;
extern intBars=500;
は、すべてiCustomに記述する必要があります。
アラスカ
ありがとうございました。コードを修正し、両方のパラメータを渡すようにしましたが、残念ながら、インジケータバッファの値でAlertを呼び出すと、ゼロだけが表示されます...。
もし機会があれば、対処法を教えていただけませんか。
トライ
なぜかシフトの意味がわからず、矢印をつけたがらない。
#property indicator_chart_window
//#property indicator_chart_window
#プロパティ indicator_buffers 4
#property indicator_color1 マゼンタ // 12
#プロパティ indicator_color2 Blue // 26
#property indicator_color3 MediumBlue
#property indicator_color4 トマト
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 1
#property indicator_width4 1
//---- インジケータ・パラメータ
extern int FastHMA = 12;
extern int SlowHMA = 26;
extern inttern ExtmethodFastHMA=0; // MODE_SMA
extern int ExtmethodSlowHMA=0; // MODE_SMA
extern int ExtpriceFastHMA=0; // PRICE_CLOSE
extern int ExtpriceSlowHMA=0; // PRICE_CLOSE
extern int ExtsdvigFastHMA=0;
extern int ExtsdvigSlowHMA=0;
extern bool EnableAlert=true;
extern string ExtSoundFileName = "";
//----インジケータ・バッファ
double PreHMA1[];
double PreHMA2[];
double CrossUp[];
double CrossDown[];
static int bBuy = 0;
static int bSell = 0;
//+------------------------------------------------------------------+
int pF, pS;
//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int init()
{
//中
SetIndexStyle( 0, DRAW_LINE ) を設定します。
SetIndexStyle( 1, DRAW_LINE ) を設定します。
// シグナル
SetIndexStyle( 2, DRAW_ARROW, EMPTY ) を設定します。
SetIndexArrow( 2, 233 );
SetIndexStyle( 3, DRAW_ARROW, EMPTY ) を設定します。
SetIndexArrow( 3, 234 );
//---- 5つのインジケータ・バッファのマッピング
SetIndexBuffer(0,PreHMA1)を設定。
SetIndexBuffer(1,PreHMA2)を設定します。
SetIndexBuffer( 2,CrossUp );
SetIndexBuffer( 3,CrossDown );
IndicatorDigits( MarketInfo( Symbol(), MODE_DIGITS )));
//---- DataWindowとインジケータサブウィンドウのラベル名
IndicatorShortName("HMA2("+FastHMA+", "+SlowHMA+")");
SetIndexLabel( 0, "HMA("+FastHMA + "," +SlowHMA +")" + FastHMA ).SetIndexLabel( 0, "HMA("+FastHMA + "," +SlowHMA +")" + FastHMA );
SetIndexLabel( 1, "HMA(" + FastHMA + "," + SlowHMA+")" + SlowHMA );
SetIndexLabel( 2, "買い" );
SetIndexLabel( 3, "Sell" );
pF = MathSqrt(FastHMA)。
pS = MathSqrt(SlowHMA);
//---- 初期化完了
return(0)です。
}
//+------------------------------------------------------------------+
double WMA(int x, int p) { { { WMA(int x,int p)
return(iMA(NULL, 0, p, 0, MODE_SMA, PRICE_CLOSE, x+sdvig))
}
//+------------------------------------------------------------------+
//| オシレーターの移動平均
//+------------------------------------------------------------------+
int start()
{
bool bConditionUp;
{ bConditionDown;
ダブルレンジ
double AvgRange;
int制限。
int カウンター。
int counted_bars=IndicatorCounted();
//---- 最後にカウントされたバーが再カウントされます。
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars。
//---- HMAの準備
for(int i=0; i<limit;i++){の場合。
PreHMA1[i] = 2*WMA(i, FastHMA/2) - WMA(i, FastHMA)です。
PreHMA2[i] = 2*WMA(i, SlowHMA/2) - WMA(i, SlowHMA)です。
AvgRange = 0;
bConditionUp = 0;
bConditionDown = 0;
for ( counter = i; counter <= i + 9; counter++ ) { 。
AvgRange += MathAbs( High[ counter ] - Low[ counter ] );
}
レンジ = AvgRange/10;
bConditionUp = (PreHMA1[i+1] >= PreHMA2[i+1] ) && (PreHMA1[i+1] >= PreHMA2[i+1])
(PreHMA1[i+2] <= PreHMA2[i+2] ) &&.
(PreHMA1[i] >= PreHMA2[i] ); // 上方向に交差する。
bConditionDown = (PreHMA1[i+1] <= PreHMA2[i+1] ) && 。
(PreHMA1[i+2] >= PreHMA2[i+2] ) && (PreHMA1[i+2] >= PreHMA2[i+2])
(PreHMA1[i] <= PreHMA2[i] ); // 下方向へのクロス
if ( bConditionUp ) {///。
CrossUp[i+1] = PreHMA2[i+1]-Range * 0.75;
CrossDown[i+1] = EMPTY_VALUE;
bConditionDown = false とする。
}
if ( bConditionDown ) {///。
CrossDown[i+1] = PreHMA2[i+1]+Range * 0.75;
CrossUp[i+1] = EMPTY_VALUE。
bConditionUp = false とする。
}
if (!bConditionUp && !bConditionDown){。
CrossDown[i+1] = EMPTY_VALUE;
CrossUp[i+1] = EMPTY_VALUE。
}
if (bConditionUp && !bBuy==1 && i==0 && EnableAlert){.
bBuy = 1; // 買いフラグを設定する
bSell = 0; // 売りのフラグをリセットする
アラート(シンボル()," ",期間(), "M Achtung BUY "); // ビープ音
if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
}
if (bConditionDown && !bSell==1 && i==0 && EnableAlert){.
bBuy = 0; // 購入フラグを設定する
bSell = 1; // 売りフラグをリセットします。
アラート(Symbol()," ",Period(), "M Achtung SELL "); // ビープ音
if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
}
//コメント("Buy-"+bBuy+" \nSell-"+bSell);
} // for
//return ("0");
}
//購入する
// if (bBuy==0 && i < 1 && EnableAlert) {.
///Alert (Symbol()," ",Period(), "M Achtung BUY "); // ビープ音
// アラート("Buy,",bBuy,",i,",EnableAlert);
// if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
// }
// if (bSell==0 && i < 1 && EnableAlert) { {...
///Alert (Symbol()," ",Period(), "M Achtung SELL ");
// アラート("Sell-",bSell," ",i," ",EnableAlert)。
// if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
// }
どなたか、私の間違いを教えていただけませんか?
私の間違いが何なのか、どなたか教えてください。
まず、コードを読みやすい形にし、ネストレベルを示すタブとSRCボタンを使用します
こんにちは。
チュートリアルから情報機能を理解するために私を助けてくださいhttps://book.mql4.com/ru/build/info 私は1週間理解していない、なぜそれからの信号が表示されないのですか?チュートリアルのExpert Advisorを忠実に再現しており、その情報は内部に含まれています。
チャートにインジケータを追加する必要がありますか?何を使って埋めればいいのでしょうか?サンプルには空のインジケータがあり、好きなもので埋めたいのですが...。Inform()関数のシグナルを表示させるには?
私たち初心者は1週間が期限のようですが、その後、プロに会いに行きます))))
最近の記事から結論づけると...