マルチカレンシーアドバイザーに関する質問 - ページ 7 1234567891011121314 新しいコメント Rid 2007.09.09 13:14 #61 よし!これから調べてみます。しかし、テスターはそのEAがどのような機器に取り付けられているのかを知りません。 Rid 2007.09.09 13:45 #62 datetimeiTime( 文字列 symbol, int timeframe, int shift) 対応するチャート(シンボル、タイムフレーム)から開かれたバーの時間値を返します。エラーの場合、この関数は0を返します。エラーの詳細については、GetLastError()を呼び出してください。現在のチャートでは、各バーのオープン時間に関する情報は、定義済みの配列Time[]に配置されています。パラメータ: symbol - 測定器のシンボル名。NULLは現在のシンボルを意味する。 timeframe - 期間。チャートの期間のいずれかを指定することができます。0は、現在のチャートの期間を意味する。 shift - タイムフレーム値のインデックス(現在のバーから指定された期間分、相対的にシフトする)。 --------------------------------------------------------------------------------------------------------------------- 私が理解する限りでは、まず、例えば、次のように設定します。 static int prevtimeEURUSD = 0; を作成し、それを必要なペアのコードに挿入します。 double TTTTTT=iTime("EURUSD",60,0); if(TTTTTT == prevtimeEURUSD) return(0); prevtimeEURUSD = TTTTTT rsi 2007.09.09 16:33 #63 rid: ... 私が理解している限りでは、例えば最初に設定する必要があります。 static int prevtimeEURUSD = 0; で、それを必要なペアのコードに挿入します。 double TTTTTT=iTime("EURUSD",60,0); if(TTTTTT == prevtimeEURUSD) return(0); prevtimeEURUSD = TTTTTT はい、ProtoType(ロッシュ)でその方法をご覧ください。リンクを挿入しようとしたが、何かうまくいかなかった(CodeBaseで検索してください)。isNewBar()関数は、このために2次元の配列を持っています。 Rid 2007.09.09 17:20 #64 ありがとうございました。この専門家がいる。これから見てみますね。 [Deleted] 2007.09.11 12:55 #65 クラーク様! 2通貨ペアなど、多通貨のインジケータを 作りたいのですが、どうすればいいですか?まず、これらのペアの気配値を一つの形にし(例えば、変化率に変換する、つまり(Close[i]-Close[i+1])/100%-でいいのか)、その差のダイナミクスを見たいのであれば、インジケータに導入すればいいのです。どうすればいいのか? Igor Malcev 2007.09.11 13:42 #66 差の力学が欲しい場合は、パーセンテージに変換する必要はなく、このようにすることができます。 int start(){ double Point1 = MarketInfo("GBPUSD",MODE_POINT); double Point2 = MarketInfo("USDJPY",MODE_POINT); MacdBuffer[0] = iMACD("GBPUSD",0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)/Point1 + iMACD("USDJPY",0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)/Point2; Comment("MACD "+MacdBuffer[0]); return(0); } [Deleted] 2007.09.11 13:55 #67 キセノンさん、本当にありがとうございました!!!!試してみます! [Deleted] 2007.09.11 14:03 #68 Xeon!最初から必要なものを上に落としてもいいのなら...。だって、まだダミーなんだもん!!!! Igor Malcev 2007.09.11 14:29 #69 nido: Xeon!ハードでなければ、スタートの上から必要なものを落として...。だって、まだダミーなんだもん!!!! 実はこれ、テストスクリプト(コードのブロックをテストするためのもの)で2、3分で書いたものです。 あなたのためにインジケータを描かなければならなかった :-) //+------------------------------------------------------------------+ //| MultyMACD.mq4 | //| Copyright © 2007, xeon | //| xeon@nm.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2007, xeon" #property link "xeon@nm.ru" #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 Lime #property indicator_color2 Red #property indicator_width1 2 //---- buffers double MacdBuffer[]; double SignalBuffer[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init(){ IndicatorBuffers(2); SetIndexStyle(0,DRAW_HISTOGRAM); SetIndexBuffer(0,MacdBuffer); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,SignalBuffer); SetIndexEmptyValue(0,0.0); SetIndexEmptyValue(1,0.0); SetIndexLabel(0,"MACD"); SetIndexLabel(1,"Signal"); IndicatorShortName("MultyMACD"); return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start(){ if(IsOptimization()==true || IsTesting()==true){Comment("В тестере будет ошибка деления на 0. описано - в справке по MarketInfo");return(0);} //---- double Point1 = MarketInfo("GBPUSD",MODE_POINT); double Point2 = MarketInfo("USDJPY",MODE_POINT); MacdBuffer[0] = iMACD("GBPUSD",0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)/Point1 + iMACD("USDJPY",0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)/Point2; for(int i=9;i>=0;i--){ SignalBuffer[0]=iMAOnArray(MacdBuffer,0,9,0,MODE_SMA,i); } //---- return(0); } //+------------------------------------------------------------------+ ぜひとも解明してほしい p.s. このインジケータはオンラインでしか動作しないことに留意してください、履歴上ではループを作成する必要があります。 [Deleted] 2007.09.11 15:58 #70 xeon: nido: Xeon!ハードでなければ、スタートの上から必要なものを落として...。だって、まだダミーなんだもん!!!! 実はこれ、テストスクリプト(コードのブロックをテストするためのもの)で2、3分で書いたものです。 あなたのためにインジケータを描かなければならなかった :-) //+------------------------------------------------------------------+ //| MultyMACD.mq4 | //| Copyright © 2007, xeon | //| xeon@nm.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2007, xeon" #property link "xeon@nm.ru" #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 Lime #property indicator_color2 Red #property indicator_width1 2 //---- buffers double MacdBuffer[]; double SignalBuffer[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init(){ IndicatorBuffers(2); SetIndexStyle(0,DRAW_HISTOGRAM); SetIndexBuffer(0,MacdBuffer); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,SignalBuffer); SetIndexEmptyValue(0,0.0); SetIndexEmptyValue(1,0.0); SetIndexLabel(0,"MACD"); SetIndexLabel(1,"Signal"); IndicatorShortName("MultyMACD"); return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start(){ if(IsOptimization()==true || IsTesting()==true){Comment("В тестере будет ошибка деления на 0. описано - в справке по MarketInfo");return(0);} //---- double Point1 = MarketInfo("GBPUSD",MODE_POINT); double Point2 = MarketInfo("USDJPY",MODE_POINT); MacdBuffer[0] = iMACD("GBPUSD",0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)/Point1 + iMACD("USDJPY",0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)/Point2; for(int i=9;i>=0;i--){ SignalBuffer[0]=iMAOnArray(MacdBuffer,0,9,0,MODE_SMA,i); } //---- return(0); } //+------------------------------------------------------------------+ ぜひとも解明してほしい p.s. このインジケータはオンラインでしか動作しないことに留意してください。 THANK YOU, Xeon!!!!EAのアイデアについて、プライベートメッセージを書いてもいいですか? 私のE-mail: ni_do@mail.ru 1234567891011121314 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
datetimeiTime( 文字列 symbol, int timeframe, int shift)
対応するチャート(シンボル、タイムフレーム)から開かれたバーの時間値を返します。エラーの場合、この関数は0を返します。エラーの詳細については、GetLastError()を呼び出してください。現在のチャートでは、各バーのオープン時間に関する情報は、定義済みの配列Time[]に配置されています。パラメータ: symbol - 測定器のシンボル名。NULLは現在のシンボルを意味する。 timeframe - 期間。チャートの期間のいずれかを指定することができます。0は、現在のチャートの期間を意味する。 shift - タイムフレーム値のインデックス(現在のバーから指定された期間分、相対的にシフトする)。
---------------------------------------------------------------------------------------------------------------------
私が理解する限りでは、まず、例えば、次のように設定します。
static int prevtimeEURUSD = 0;
を作成し、それを必要なペアのコードに挿入します。
...
私が理解している限りでは、例えば最初に設定する必要があります。
static int prevtimeEURUSD = 0;
で、それを必要なペアのコードに挿入します。
はい、ProtoType(ロッシュ)でその方法をご覧ください。リンクを挿入しようとしたが、何かうまくいかなかった(CodeBaseで検索してください)。isNewBar()関数は、このために2次元の配列を持っています。
2通貨ペアなど、多通貨のインジケータを 作りたいのですが、どうすればいいですか?まず、これらのペアの気配値を一つの形にし(例えば、変化率に変換する、つまり(Close[i]-Close[i+1])/100%-でいいのか)、その差のダイナミクスを見たいのであれば、インジケータに導入すればいいのです。どうすればいいのか?
差の力学が欲しい場合は、パーセンテージに変換する必要はなく、このようにすることができます。
Xeon!ハードでなければ、スタートの上から必要なものを落として...。だって、まだダミーなんだもん!!!!
実はこれ、テストスクリプト(コードのブロックをテストするためのもの)で2、3分で書いたものです。
あなたのためにインジケータを描かなければならなかった :-)
ぜひとも解明してほしい
p.s. このインジケータはオンラインでしか動作しないことに留意してください、履歴上ではループを作成する必要があります。
Xeon!ハードでなければ、スタートの上から必要なものを落として...。だって、まだダミーなんだもん!!!!
実はこれ、テストスクリプト(コードのブロックをテストするためのもの)で2、3分で書いたものです。
あなたのためにインジケータを描かなければならなかった :-)
ぜひとも解明してほしい
p.s. このインジケータはオンラインでしか動作しないことに留意してください。