コーディングのヘルプ - ページ 188 1...181182183184185186187188189190191192193194195...786 新しいコメント manone 2013.11.04 11:31 #1871 こんにちは、MLADENまたは誰か。 mt4 プラットフォームにはデフォルトのインジケータがいくつかありますが、(いくつかはカスタムインジケータの 部分で繰り返されていますが)、コードは正確には同じではないと思います、これらのデフォルトインジケータのコードを取得または参照する方法、私に知らせてくれてありがとう。 Mladen Rakic 2013.11.04 11:33 #1872 kenwa: こんにちは、mladenまたは誰でも、私はmt4プラットフォームは、いくつかのデフォルトの指標(一部はカスタム指標の部分で繰り返されているが、)、私はコードが正確に同じではないと思います、どのように取得またはそれらのデフォルトの指標のコードを参照してください、私に知らせるためにたくさんありがとうございます。 はできません。 これらはビルトインインジケーターです(ターミナルから直接実行されます)。 manone 2013.11.04 11:47 #1873 これらの組み込みの指標は、関数のカスタム指標 セッションのものよりも優れているようだ、本当にそれらのコードを知る方法はありません? Mladen Rakic 2013.11.04 12:03 #1874 ある方から、1つのファイルから複数のタイムフレームを使用する方法(組み込み関数を呼び出すことができない場合)を尋ねられました。 以下は、簡単な例とその説明です。 _____________________________ 添付のインジケータは3つのインジケータが1つになったようなもので、コードの中にいつ何が行われるのかのコメントがあります。私はこれが、単一ファイルの正しいマルチタイムフレームインジケータをどのように作ることができるか(とりわけ、ターゲットタイムフレームの何本のバーが変更されたかを仮定せずに、常に正しいバー数を 計算する)を明らかにするために、何人かの人々の助けになることを願っています。 このシンプルな単一ファイルのマルチタイムフレームインジケータは、マルチタイムフレームインジケータのテンプレートとして簡単に使用することができます。 ファイル: simple_mtf.mq4 4 kb manone 2013.11.04 18:16 #1875 こんにちは、mladenです。 iStochasticOnArrayを行うことが可能か、またどのように行うかご存知ですか? それを行うためのテンプレートや公式があれば教えてください。 Mladen Rakic 2013.11.04 23:13 #1876 kenwa: iStochasticOnArrayを実行することは可能ですか、どのように実行しますか? ケンワ 組み込みの機能というのはないんです。これらの投稿で、それを行うための関数がどのように書かれ、どのように使用されるかを見ることができます :https://www.mql5.com/en/forum/177239/page34 manone 2013.11.05 00:59 #1877 mladenさん、こんにちは。 ちょっと深い話ですが 例えば、double iStoch(double priceR, double priceH, double priceL, int period, int slowing, int i, int instanceNo=0) は double の中の double ですか? この方法は mq4 の中の indexbuffer の占有を減らすことができるでしょうか? というのは、ちょっと不思議な機能 です。 stoch = iStoch(rsi,rsi,rsi,StoPeriod,StoSlowing,i); という関数があります。 Coding help コーディングの方法は? どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - metrus 2013.11.05 02:46 #1878 mladen: 私はそれが他のwavファイルを受け入れない理由がわからない。 コード内で変更した場合は、それを受け入れる必要があります。 5回繰り返すには、それをループに配置する必要がありますが、それはいくつかの問題を引き起こす可能性があります(サウンドファイルが長すぎる場合)。 以下は、私が使用したコードです(私はループを行う方法を知っているために、コーディングについてほとんど知りません)。 //+----------------------------------------------------------------- #property copyright "https://www.forex-tsd.com" #property link "https://www.forex-tsd.com" #property indicator_chart_window (インジケータ・チャート・ウィンドウ) //----------------------------------------------------------------- extern int alertsForNotOlderThan = 300; extern int alertsForMagicNumber = 0; extern string alertsForSymbol = ""; extern bool alertsOn = true; extern bool alertsSound = true; extern bool alertsMessage = true; extern bool alertsSound = true; extern bool alertsNotification = false; extern bool alertsEmail = false; //------------------------------------------------------- // //------------------------------------------------------- // // // // // int tickets[]; bool alerted[]; 文字列 symbols[]; int types[]; int times[]; int init() { return(0); }. int deinit() { return(0); }. int start() { // // // オーダーのデータを収集する // // for (int i=OrdersTotal()-1; i>=0; i--) { if (!OrderSelect(i,SELECT_BY_POS)) continue; if (alertsForSymbol != "" && alertsForSymbol!=OrderSymbol()) continue; if (alertsForMagicNumber != 0 && alertsForMagicNumber!=OrderMagicNumber()) continue; if (alertsForMagicNumber != 0 && alertsForMagicNumber!=OrderMagicNumber()) continue; if (alertsForNotOlderThan<(TimeCurrent()-OrderOpenTime()))継続。 // // // // // for (int k=ArraySize(tickets); k>0; k--) if (OrderTicket()==tickets[k-1])ブレーク。 if (k==0) { int size = ArraySize(tickets)+1; ArrayResize(tickets,size); tickets = OrderTicket(); ArrayResize(alerted,size); alerted = false; ArrayResize(symbols,size); symbols = OrderSymbol(); ArrayResize(types ,size); types = OrderType(); ArrayResize(times ,size); times = OrderOpenTime()。 } } // // // 注文にアラートが必要かどうかチェックする。 // // for (i=ArraySize(tickets)-1; i>=0; i--) { 文字列タイプ = ""; if (!アラート) { alerted = true; スイッチ (タイプ) { case OP_BUY : type = "買い"; break; case OP_SELL : type = "売り"; break; case OP_BUYSTOP : type = "買いストップ"; break; case OP_BUYLIMIT : type = "買い指値"; break; case OP_SELLSTOP : type = "売りのストップ"; break; case OP_SELLLIMIT : type = "売り指値"; break; } doAlert(type+" open at :「シンボル)。 } } return(0); } //------------------------------------------------------- // //------------------------------------------------------- // // // // // void doAlert(string doWhat) { 文字列メッセージ。 message = doWhat; if (alertsMessage) アラート(メッセージ); if (alertsEmail) SendMail(StringConcatenate(Symbol()," order alerts "),message).もし (alertsNotification) SendNotification("注文の警告")を送信します。 if (alertsNotification)SendNotification("注文のアラート "+メッセージ); if (alertsSound) PlaySound("hallelujah.wav")。 } というようにしましたが、トリガーされたときに通常のアラートが鳴るだけです。 もし、PlaySoundを変更できないのであれば、1秒ごとに短い通常のアラートを10回再生するループでコーディングすることは可能でしょうか?- 少なくとも、それはちょうど1つの通常のアラート音よりも私を目覚めさせるために多くのことを行うだろう... ...。 ありがとうございます。 Coding help コーディングの方法は? マルチタイムフレーム・インディケーター William Snyder 2013.11.05 03:04 #1879 person77: 以下は、私が使用したコードです(私はループを行う方法を知るために、コーディングについてほとんど知りません)。//+----------------------------------------------------------------- #property copyright "https://www.forex-tsd.com" #property リンク "https://www.forex-tsd.com" #property indicator_chart_window(インジケーターチャートウィンドウ //----------------------------------------------------------------- extern int alertsForNotOlderThan = 300; extern int alertsForMagicNumber = 0; extern string alertsForSymbol = ""; extern bool alertsOn = true; extern bool alertsSound = true; extern bool alertsMessage = true; extern bool alertsSound = true; extern bool alertsNotification = false; extern bool alertsEmail = false; //------------------------------------------------------- // //------------------------------------------------------- // // // // // int tickets[]; bool alerted[]; 文字列 symbols[]; int types[]; int times[]; int init() { return(0); }. int deinit() { return(0); }. int start() { // // // オーダーのデータを収集する // // for (int i=OrdersTotal()-1; i>=0; i--) { if (!OrderSelect(i,SELECT_BY_POS)) continue; if (alertsForSymbol != "" && alertsForSymbol!=OrderSymbol()) continue; if (alertsForMagicNumber != 0 && alertsForMagicNumber!=OrderMagicNumber()) continue; if (alertsForMagicNumber != 0 && alertsForMagicNumber!=OrderMagicNumber()) continue; if (alertsForNotOlderThan<(TimeCurrent()-OrderOpenTime()))継続。 // // // // // for (int k=ArraySize(tickets); k>0; k--) if (OrderTicket()==tickets[k-1])ブレーク。 if (k==0) { int size = ArraySize(tickets)+1; ArrayResize(tickets,size); tickets = OrderTicket(); ArrayResize(alerted,size); alerted = false; ArrayResize(symbols,size); symbols = OrderSymbol(); ArrayResize(types ,size); types = OrderType(); ArrayResize(times ,size); times = OrderOpenTime()。 } } // // // 注文にアラートが必要かどうかチェックする。 // // for (i=ArraySize(tickets)-1; i>=0; i--) { 文字列タイプ = ""; if (!アラート) { alerted = true; スイッチ (タイプ) { case OP_BUY : type = "買い"; break; case OP_SELL : type = "売り"; break; case OP_BUYSTOP : type = "買いストップ"; break; case OP_BUYLIMIT : type = "買い指値"; break; case OP_SELLSTOP : type = "売りのストップ"; break; case OP_SELLLIMIT : type = "売り指値"; break; } doAlert(type+" open at :「シンボル)。 } } return(0); } //------------------------------------------------------- // //------------------------------------------------------- // // // // // void doAlert(string doWhat) { 文字列メッセージ。 message = doWhat; if (alertsMessage) アラート(メッセージ); if (alertsEmail) SendMail(StringConcatenate(Symbol()," order alerts "),message).もし (alertsNotification) SendNotification("注文の警告")を送信します。 if (alertsNotification) SendNotification("注文のアラート "+メッセージ); if (alertsSound) PlaySound("hallelujah.wav")。 } というようにしましたが、トリガーされたときに通常のアラートが鳴るだけです。 もし、PlaySoundを変更できないのであれば、1秒ごとに短い通常のアラートを10回再生するループでコーディングすることは可能でしょうか?- 少なくとも、1回の通常のアラート音よりも、私を目覚めさせるために多くのことを行うだろう... ...。 ありがとうございました。 人77 そのために使用されるものは、開いているチャートに 移動し、ツール/オプション/イベントに移動し、アラートで単にあなたが望むものにwav.を変更しますが、しばらくこれをやっていないので、これがまだ動作するかどうかわからない、あなたが使用しているwavファイルがサウンドフォルダにあることを確認してください。 ファイル: alert.png 99 kb metrus 2013.11.05 10:28 #1880 mrtools - ありがとうございます。 1...181182183184185186187188189190191192193194195...786 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは、MLADENまたは誰か。
mt4 プラットフォームにはデフォルトのインジケータがいくつかありますが、(いくつかはカスタムインジケータの 部分で繰り返されていますが)、コードは正確には同じではないと思います、これらのデフォルトインジケータのコードを取得または参照する方法、私に知らせてくれてありがとう。
こんにちは、mladenまたは誰でも、私はmt4プラットフォームは、いくつかのデフォルトの指標(一部はカスタム指標の部分で繰り返されているが、)、私はコードが正確に同じではないと思います、どのように取得またはそれらのデフォルトの指標のコードを参照してください、私に知らせるためにたくさんありがとうございます。
はできません。
これらはビルトインインジケーターです(ターミナルから直接実行されます)。
これらの組み込みの指標は、関数のカスタム指標 セッションのものよりも優れているようだ、本当にそれらのコードを知る方法はありません?
ある方から、1つのファイルから複数のタイムフレームを使用する方法(組み込み関数を呼び出すことができない場合)を尋ねられました。
以下は、簡単な例とその説明です。
_____________________________
添付のインジケータは3つのインジケータが1つになったようなもので、コードの中にいつ何が行われるのかのコメントがあります。私はこれが、単一ファイルの正しいマルチタイムフレームインジケータをどのように作ることができるか(とりわけ、ターゲットタイムフレームの何本のバーが変更されたかを仮定せずに、常に正しいバー数を 計算する)を明らかにするために、何人かの人々の助けになることを願っています。
このシンプルな単一ファイルのマルチタイムフレームインジケータは、マルチタイムフレームインジケータのテンプレートとして簡単に使用することができます。
こんにちは、mladenです。
iStochasticOnArrayを行うことが可能か、またどのように行うかご存知ですか? それを行うためのテンプレートや公式があれば教えてください。
iStochasticOnArrayを実行することは可能ですか、どのように実行しますか?
ケンワ
組み込みの機能というのはないんです。これらの投稿で、それを行うための関数がどのように書かれ、どのように使用されるかを見ることができます :https://www.mql5.com/en/forum/177239/page34
mladenさん、こんにちは。
ちょっと深い話ですが
例えば、double iStoch(double priceR, double priceH, double priceL, int period, int slowing, int i, int instanceNo=0) は double の中の double ですか? この方法は mq4 の中の indexbuffer の占有を減らすことができるでしょうか?
というのは、ちょっと不思議な機能 です。
stoch = iStoch(rsi,rsi,rsi,StoPeriod,StoSlowing,i);
という関数があります。
私はそれが他のwavファイルを受け入れない理由がわからない。
コード内で変更した場合は、それを受け入れる必要があります。
5回繰り返すには、それをループに配置する必要がありますが、それはいくつかの問題を引き起こす可能性があります(サウンドファイルが長すぎる場合)。以下は、私が使用したコードです(私はループを行う方法を知っているために、コーディングについてほとんど知りません)。
//+-----------------------------------------------------------------
#property copyright "https://www.forex-tsd.com"
#property link "https://www.forex-tsd.com"
#property indicator_chart_window (インジケータ・チャート・ウィンドウ)
//-----------------------------------------------------------------
extern int alertsForNotOlderThan = 300;
extern int alertsForMagicNumber = 0;
extern string alertsForSymbol = "";
extern bool alertsOn = true;
extern bool alertsSound = true;
extern bool alertsMessage = true; extern bool alertsSound = true;
extern bool alertsNotification = false;
extern bool alertsEmail = false;
//-------------------------------------------------------
//
//-------------------------------------------------------
//
//
//
//
//
int tickets[];
bool alerted[];
文字列 symbols[];
int types[];
int times[];
int init() { return(0); }.
int deinit() { return(0); }.
int start()
{
//
//
// オーダーのデータを収集する
//
//
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS)) continue;
if (alertsForSymbol != "" && alertsForSymbol!=OrderSymbol()) continue;
if (alertsForMagicNumber != 0 && alertsForMagicNumber!=OrderMagicNumber()) continue; if (alertsForMagicNumber != 0 && alertsForMagicNumber!=OrderMagicNumber()) continue;
if (alertsForNotOlderThan<(TimeCurrent()-OrderOpenTime()))継続。
//
//
//
//
//
for (int k=ArraySize(tickets); k>0; k--)
if (OrderTicket()==tickets[k-1])ブレーク。
if (k==0)
{
int size = ArraySize(tickets)+1;
ArrayResize(tickets,size); tickets = OrderTicket();
ArrayResize(alerted,size); alerted = false;
ArrayResize(symbols,size); symbols = OrderSymbol();
ArrayResize(types ,size); types = OrderType();
ArrayResize(times ,size); times = OrderOpenTime()。
}
}
//
//
// 注文にアラートが必要かどうかチェックする。
//
//
for (i=ArraySize(tickets)-1; i>=0; i--)
{
文字列タイプ = "";
if (!アラート)
{
alerted = true;
スイッチ (タイプ)
{
case OP_BUY : type = "買い"; break;
case OP_SELL : type = "売り"; break;
case OP_BUYSTOP : type = "買いストップ"; break;
case OP_BUYLIMIT : type = "買い指値"; break;
case OP_SELLSTOP : type = "売りのストップ"; break;
case OP_SELLLIMIT : type = "売り指値"; break;
}
doAlert(type+" open at :「シンボル)。
}
}
return(0);
}
//-------------------------------------------------------
//
//-------------------------------------------------------
//
//
//
//
//
void doAlert(string doWhat)
{
文字列メッセージ。
message = doWhat;
if (alertsMessage) アラート(メッセージ);
if (alertsEmail) SendMail(StringConcatenate(Symbol()," order alerts "),message).もし (alertsNotification) SendNotification("注文の警告")を送信します。
if (alertsNotification)SendNotification("注文のアラート "+メッセージ);
if (alertsSound) PlaySound("hallelujah.wav")。
}
というようにしましたが、トリガーされたときに通常のアラートが鳴るだけです。
もし、PlaySoundを変更できないのであれば、1秒ごとに短い通常のアラートを10回再生するループでコーディングすることは可能でしょうか?- 少なくとも、それはちょうど1つの通常のアラート音よりも私を目覚めさせるために多くのことを行うだろう... ...。
ありがとうございます。
以下は、私が使用したコードです(私はループを行う方法を知るために、コーディングについてほとんど知りません)。
//+-----------------------------------------------------------------
#property copyright "https://www.forex-tsd.com"
#property リンク "https://www.forex-tsd.com"
#property indicator_chart_window(インジケーターチャートウィンドウ
//-----------------------------------------------------------------
extern int alertsForNotOlderThan = 300;
extern int alertsForMagicNumber = 0;
extern string alertsForSymbol = "";
extern bool alertsOn = true;
extern bool alertsSound = true;
extern bool alertsMessage = true; extern bool alertsSound = true;
extern bool alertsNotification = false;
extern bool alertsEmail = false;
//-------------------------------------------------------
//
//-------------------------------------------------------
//
//
//
//
//
int tickets[];
bool alerted[];
文字列 symbols[];
int types[];
int times[];
int init() { return(0); }.
int deinit() { return(0); }.
int start()
{
//
//
// オーダーのデータを収集する
//
//
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS)) continue;
if (alertsForSymbol != "" && alertsForSymbol!=OrderSymbol()) continue;
if (alertsForMagicNumber != 0 && alertsForMagicNumber!=OrderMagicNumber()) continue; if (alertsForMagicNumber != 0 && alertsForMagicNumber!=OrderMagicNumber()) continue;
if (alertsForNotOlderThan<(TimeCurrent()-OrderOpenTime()))継続。
//
//
//
//
//
for (int k=ArraySize(tickets); k>0; k--)
if (OrderTicket()==tickets[k-1])ブレーク。
if (k==0)
{
int size = ArraySize(tickets)+1;
ArrayResize(tickets,size); tickets = OrderTicket();
ArrayResize(alerted,size); alerted = false;
ArrayResize(symbols,size); symbols = OrderSymbol();
ArrayResize(types ,size); types = OrderType();
ArrayResize(times ,size); times = OrderOpenTime()。
}
}
//
//
// 注文にアラートが必要かどうかチェックする。
//
//
for (i=ArraySize(tickets)-1; i>=0; i--)
{
文字列タイプ = "";
if (!アラート)
{
alerted = true;
スイッチ (タイプ)
{
case OP_BUY : type = "買い"; break;
case OP_SELL : type = "売り"; break;
case OP_BUYSTOP : type = "買いストップ"; break;
case OP_BUYLIMIT : type = "買い指値"; break;
case OP_SELLSTOP : type = "売りのストップ"; break;
case OP_SELLLIMIT : type = "売り指値"; break;
}
doAlert(type+" open at :「シンボル)。
}
}
return(0);
}
//-------------------------------------------------------
//
//-------------------------------------------------------
//
//
//
//
//
void doAlert(string doWhat)
{
文字列メッセージ。
message = doWhat;
if (alertsMessage) アラート(メッセージ);
if (alertsEmail) SendMail(StringConcatenate(Symbol()," order alerts "),message).もし (alertsNotification) SendNotification("注文の警告")を送信します。
if (alertsNotification) SendNotification("注文のアラート "+メッセージ);
if (alertsSound) PlaySound("hallelujah.wav")。
}
というようにしましたが、トリガーされたときに通常のアラートが鳴るだけです。
もし、PlaySoundを変更できないのであれば、1秒ごとに短い通常のアラートを10回再生するループでコーディングすることは可能でしょうか?- 少なくとも、1回の通常のアラート音よりも、私を目覚めさせるために多くのことを行うだろう... ...。
ありがとうございました。人77
そのために使用されるものは、開いているチャートに 移動し、ツール/オプション/イベントに移動し、アラートで単にあなたが望むものにwav.を変更しますが、しばらくこれをやっていないので、これがまだ動作するかどうかわからない、あなたが使用しているwavファイルがサウンドフォルダにあることを確認してください。
mrtools - ありがとうございます。