初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 170 1...163164165166167168169170171172173174175176177...1504 新しいコメント forexman77 2014.01.07 10:16 #1691 barabashkakvn: インジケーターのコード、OnCalculate()関数を見てください。以下を行うこと。int limit=rates_total-prev_calculated; double pr=close[0]; //---- if(rates_total-prev_calculated>=Period_) limit=limit-Period_; //---- for(int i=limit-1;i>=0;i--) { CopyBuffer(ma1Handle,0,i,1,ma1Val); ExtMapBuffer1[i]=ma1Val[0]-pr; } 何もかもがうまくいかない。MQL4ではすべてがクリアになっています。私はMQL5をよく知りません。価格を取得するために、何らかの関数を呼び出す必要があるのではないでしょうか? Vladimir Karputov 2014.01.07 10:26 #1692 forexman77:次のとおりです。 何もかもがうまくいかない。MQL4ではすべてがクリアになっています。MQL5をよく知らないのですが。もしかして、価格を知るためには、何らかの関数を呼び出す必要があるのでは?OnInitに書き込む。//--- установим индексацию для буфера как в таймсерии ArraySetAsSeries(ma1Val,true); Automated-Trading 2014.01.07 10:32 #1693 forexman77:次のとおりです。 何もかもがうまくいかない。MQL4ではすべてがクリアになっています。MQL5をよく知らないのですが。もしかして、価格を知るためには、何らかの関数を呼び出す必要があるのでは?CopyRates(CopyBufferに 類似)を使用して価格履歴にアクセスすることができます。 現在のアスク、ビッド価格はSymbolInfoTick またはSymbolInfoDouble(Spread indicatorと 同様)を使用して取得することができます。 forexman77 2014.01.07 10:56 #1694 barabashkakvn:OnInitに書き込む。オートマティック・トレーディングCopyRates(CopyBufferに 類似)を使用して、価格履歴にアクセスすることができます。アスク、ビッドの現在値は、SymbolInfoTickを 使用して取得できます。何もかもがうまくいかない。これがすべてのコードです。#property indicator_separate_window #property indicator_buffers 1 #property indicator_plots 1 #property indicator_type1 DRAW_LINE #property indicator_color1 clrRed #property indicator_style1 STYLE_SOLID #property indicator_label1 "BUY TP" input int Period_=34; int ma1Handle; double ma1Val[1]; double ExtMapBuffer1[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { SetIndexBuffer(0,ExtMapBuffer1,INDICATOR_DATA); PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0.0); PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,Period_); ArraySetAsSeries(ExtMapBuffer1,true); ma1Handle=iMA(_Symbol,_Period,Period_,0,MODE_EMA,PRICE_CLOSE); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ 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 limit=rates_total-prev_calculated; //---- if(rates_total-prev_calculated>=Period_) limit=limit-Period_; //---- for(int i=limit-1;i>=0;i--) { MqlTick latest_price; // Будет использоваться для текущих котировок if(!SymbolInfoTick(_Symbol,latest_price)) { Alert("Ошибка получения последних котировок - ошибка:",GetLastError(),"!!");return(0); } double iclose=latest_price.bid; CopyBuffer(ma1Handle,0,i,1,ma1Val); ExtMapBuffer1[i]=iclose - ma1Val[0]; } return(rates_total); } //+------------------------------------------------------------------+ Vladimir Karputov 2014.01.07 14:09 #1695 forexman77:何もかもがうまくいかない。これがすべてのコードです。なぜダメなのか?私には効果的です。 ファイル: test.mq5 3 kb forexman77 2014.01.07 17:56 #1696 Вbarabashkakvn:なぜダメなのか、わからない。私には効果的です。ビジュアル的には、一見すると正しいように見えます。しかし、価格と移動平均の差を再計算すると、全く違う数字が出る。EURUSD/1.36421-1.36168=0.00253 で確認したところ、インジケータは 0.00157 と表示されました。 Nauris Zukas 2014.01.08 19:23 #1697 こんにちは。 KimIVがMQL4 http://forum.mql4.com/ru/38949 で持っていたような、MQL5言語での 既成の関数コードはどこかないでしょうか? Только "Полезные функции от KimIV". - MQL4 форум www.mql5.com Только "Полезные функции от KimIV". - MQL4 форум Vladimir Karputov 2014.01.08 19:27 #1698 forexman77:ビジュアル的には、一見すると正しいように見えます。しかし、価格と移動平均の差を再計算してみると、全く違う数値が得られる。EURUSD/1.36421-1.36168=0.00253 で確認したところ、インジケータは 0.00157 スクリーンショットを添付しました。 ああ、そうか、もっと正確に要望を伝える必要があるんだな。これで正しくカウントされるようになりました。 ファイル: test.mq5 3 kb Yury Reshetov 2014.01.08 19:29 #1699 abeiks: こんにちは。 KimIVがMQL4 http://forum.mql4.com/ru/38949 で持っていたような、MQL5言語での 既成の関数コードはどこかないでしょうか? mql5では関数コードではなく、オブジェクトライブラリが使用されています。関数は接続が難しいですが、OOPでは簡単です。必要なライブラリを接続し、オブジェクトを作成して、その中に必要なメソッドを取得します。これはアルゴリズム言語における関数と同じです。 Legando 2014.01.08 19:43 #1700 シグナルを申し 込んだのですが、端末が起動していること、口座が開いていることが必要なのか教えてください。 1...163164165166167168169170171172173174175176177...1504 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
インジケーターのコード、OnCalculate()関数を見てください。
以下を行うこと。
何もかもがうまくいかない。MQL4ではすべてがクリアになっています。私はMQL5をよく知りません。価格を取得するために、何らかの関数を呼び出す必要があるのではないでしょうか?次のとおりです。
何もかもがうまくいかない。MQL4ではすべてがクリアになっています。MQL5をよく知らないのですが。もしかして、価格を知るためには、何らかの関数を呼び出す必要があるのでは?OnInitに書き込む。
次のとおりです。
何もかもがうまくいかない。MQL4ではすべてがクリアになっています。MQL5をよく知らないのですが。もしかして、価格を知るためには、何らかの関数を呼び出す必要があるのでは?CopyRates(CopyBufferに 類似)を使用して価格履歴にアクセスすることができます。
現在のアスク、ビッド価格はSymbolInfoTick またはSymbolInfoDouble(Spread indicatorと 同様)を使用して取得することができます。
OnInitに書き込む。
CopyRates(CopyBufferに 類似)を使用して、価格履歴にアクセスすることができます。アスク、ビッドの現在値は、SymbolInfoTickを 使用して取得できます。
何もかもがうまくいかない。これがすべてのコードです。
何もかもがうまくいかない。これがすべてのコードです。
なぜダメなのか?私には効果的です。
なぜダメなのか、わからない。私には効果的です。
ビジュアル的には、一見すると正しいように見えます。しかし、価格と移動平均の差を再計算すると、全く違う数字が出る。
EURUSD/1.36421-1.36168=0.00253 で確認したところ、インジケータは 0.00157 と表示されました。
こんにちは。
KimIVがMQL4 http://forum.mql4.com/ru/38949 で持っていたような、MQL5言語での 既成の関数コードはどこかないでしょうか?
ビジュアル的には、一見すると正しいように見えます。しかし、価格と移動平均の差を再計算してみると、全く違う数値が得られる。
EURUSD/1.36421-1.36168=0.00253 で確認したところ、インジケータは 0.00157 スクリーンショットを添付しました。
こんにちは。
KimIVがMQL4 http://forum.mql4.com/ru/38949 で持っていたような、MQL5言語での 既成の関数コードはどこかないでしょうか?