MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 740 1...733734735736737738739740741742743744745746747...1953 新しいコメント psyman 2019.01.17 15:15 #7391 Taras Slobodyanik:OnInitで変数の初期化(オブジェクトの再描画を含む)を行う。 これはどういうことなのか、説明してください。 ラベル作成後、OnInitに追加しました。 ObjectSetInteger(0, objname, OBJPROP_YDISTANCE, y); ChartRedraw(); しかし、結果は同じです。 Taras Slobodyanik 2019.01.17 15:24 #7392 psyman: これはどういうことなのか、説明してください。 タグ作成後、OnInitに追加しました。 が、結果は同じです。コードを見る必要があります、何があるのか...ps. 上記のコードは問題なく動作します(不具合は見当たりません)。 (https://www.mql5.com/ru/forum/160683/page739#comment_10290585) Bid変数をBid0に置き換えたのですが。 Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам 2019.01.17www.mql5.com В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н... Ivan Rozhkov 2019.01.17 15:43 #7393 こんにちは、価格がムービングに タッチしたときに開く注文はどのように書けばいいのでしょうか? Taras Slobodyanik 2019.01.17 15:46 #7394 Ivan Rozhkov: こんにちは、価格がムービングにタッチしたときに開く注文はどのように書けばいいのでしょうか?if ((prev_bid>ma && curr_bid<=ma) || (prev_bid<ma && curr_bid>=ma)) //открывается ордер psyman 2019.01.17 16:18 #7395 Taras Slobodyanik:コードを見てみないとわからない...。ps. 上記のコードは正常に動作します(不具合はありません)。 (https://www.mql5.com/ru/forum/160683/page739#comment_10290585) Bid変数をBid0に置き換えてみたものの、あらら。付け加えると、これは私が5でテストしているところです。MT4では、チャートを 開くと垂直マーカーはすぐに所定の位置に移動し、ティックを待ったりマウスを動かしたりする必要はありません。水平シフトの不具合は数回ありましたが、インジケーターの再コンパイルで何とか克服できました。 Ilya Prozumentov 2019.01.17 16:39 #7396 psyman:試してみると、マウスを動かさないとマークが戻りません。同じ松葉杖でも、手に持っているものが違うんです :-)また、CHARTEVENT_CHART_CHANGE のためのチャートの切り替えは、イベントではない。この異常事態を克服する方法をどなたか考えてください。 チャートウィンドウを切り替えると、Printがメッセージを表示します。(MT4を使っていますが、チャートの切り替えをCHARTEVENT_CHART_CHANGE イベントとして捕らえることはMT4のドキュメントには書かれていません。) void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if(id==CHARTEVENT_CHART_CHANGE) Print("graph"); } でも、そうですね、やはり松葉づえ方式ですね。他のチャートに切り替えたときにY座標が異なる原因を探る必要があります。しかし、コードを見ると、何らかの理由でChartTimePriceToXYが 異なる結果を出していると結論付けられるのです。 Taras Slobodyanik 2019.01.17 17:08 #7397 psyman:付け加えるのを忘れていましたが、5でテストしています。MT4では、チャートを 開くと垂直マーカーが本当に素早く所定の位置に移動し、ティックを待ったりマウスを動かしたりする必要はありません。水平シフトの不具合は数回ありましたが、インジケーターの再コンパイルで何とか克服できました。チャート上のキューから、分単位のバーの作成、現在のinitの後に前回のdeinitをトリガーするなど、5には多くの「機能」があります) ですから、バー/グラフ/オブジェクトをチェックする必要があります - どの時点でエラーが発生し、それを修正するか。 psyman 2019.01.17 17:47 #7398 Taras Slobodyanik: 一般的には、バー/グラフィックス/オブジェクトをチェックし、どの時点でエラーが発生したかを確認し、それを修正する必要があります。 どうすればいいのか、何から始めればいいのか。 Taras Slobodyanik 2019.01.17 19:18 #7399 psyman: どうすればいいのか、何から始めればいいのか。つまり、oninitで入札を印刷し(現在の日付を印刷することもできます)、さらに計算でも印刷するのです。 すぐにストーリーが盛り上がらず、後からバーが登場するということでしょうか psyman 2019.01.17 20:26 #7400 Taras Slobodyanik:例えば、イニシャルで入札を印刷し(現在の日付を印刷することもできます)、計算するときにも印刷します。 この物語は、すぐに構築する時間がなく、バーが後で現れることをテレパシーします。次のコードは、写真で見るストーリーです。 //+------------------------------------------------------------------+ //| !_clr_indicator.mq5 | //| Copyright 2018, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2018, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property indicator_chart_window string objname="Bid"; input color Bid_color = clrCrimson; int OnInit() { int x,y; double Bid0 = SymbolInfoDouble(Symbol(), SYMBOL_BID); int width = (int)ChartGetInteger(0,CHART_WIDTH_IN_PIXELS,0); //ширина графика Print("1 Bid0 = ", Bid0, " x = ", x, " y = ", y," TimeCurrent()=", TimeCurrent() ); ObjectCreate(0, objname, OBJ_LABEL,0, 0, 0); ObjectSetString(0, objname, OBJPROP_TEXT, DoubleToString(Bid0, _Digits-1)); ObjectSetInteger(0, objname, OBJPROP_FONTSIZE, 12); ObjectSetInteger(0, objname, OBJPROP_COLOR, Bid_color); ObjectSetString(0, objname, OBJPROP_FONT, "Verdana"); ChartTimePriceToXY(0, 0, TimeCurrent(), Bid0, x, y); Print("2 Bid0 = ", Bid0, " x = ", x, " y = ", y," TimeCurrent()=", TimeCurrent() ); ObjectSetInteger(0, objname, OBJPROP_XDISTANCE, width-60); ObjectSetInteger(0, objname, OBJPROP_YDISTANCE, y); 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[]) { return(rates_total); } void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam) { int x2,y2; double Bid2 = SymbolInfoDouble(Symbol(), SYMBOL_BID); double cprice; datetime ctime; int cwindow=0; if(id==CHARTEVENT_CHART_CHANGE) { ChartTimePriceToXY(0, 0, TimeCurrent(), Bid2, x2, y2); Print("5 Bid2 = ", Bid2, " x2 = ", x2, " y2 = ", y2," TimeCurrent2()=", TimeCurrent() ); ObjectSetInteger(0, objname, OBJPROP_YDISTANCE, y2); ChartXYToTimePrice(0,x2,x2,cwindow, ctime, cprice); } } void OnDeinit(const int reason) { ObjectDelete(0,objname); } ネットワークを切断し、インジケータを追加 次のグラフに切り替わります y2の値が変化したため、戻る y2が値を戻したのに、マーカーが「消えた」値でカウントされている!マウスのホイールを回転させる。 マーカーが元の位置に戻りました 1...733734735736737738739740741742743744745746747...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
OnInitで変数の初期化(オブジェクトの再描画を含む)を行う。
これはどういうことなのか、説明してください。
ラベル作成後、OnInitに追加しました。
しかし、結果は同じです。
これはどういうことなのか、説明してください。
タグ作成後、OnInitに追加しました。
が、結果は同じです。
コードを見る必要があります、何があるのか...
ps. 上記のコードは問題なく動作します(不具合は見当たりません)。
(https://www.mql5.com/ru/forum/160683/page739#comment_10290585)
Bid変数をBid0に置き換えたのですが。
こんにちは、価格がムービングにタッチしたときに開く注文はどのように書けばいいのでしょうか?
コードを見てみないとわからない...。
ps. 上記のコードは正常に動作します(不具合はありません)。
(https://www.mql5.com/ru/forum/160683/page739#comment_10290585)
Bid変数をBid0に置き換えてみたものの、あらら。
付け加えると、これは私が5でテストしているところです。MT4では、チャートを 開くと垂直マーカーはすぐに所定の位置に移動し、ティックを待ったりマウスを動かしたりする必要はありません。水平シフトの不具合は数回ありましたが、インジケーターの再コンパイルで何とか克服できました。
試してみると、マウスを動かさないとマークが戻りません。同じ松葉杖でも、手に持っているものが違うんです :-)
また、CHARTEVENT_CHART_CHANGE のためのチャートの切り替えは、イベントではない。
この異常事態を克服する方法をどなたか考えてください。
チャートウィンドウを切り替えると、Printがメッセージを表示します。(MT4を使っていますが、チャートの切り替えをCHARTEVENT_CHART_CHANGE イベントとして捕らえることはMT4のドキュメントには書かれていません。)
でも、そうですね、やはり松葉づえ方式ですね。他のチャートに切り替えたときにY座標が異なる原因を探る必要があります。しかし、コードを見ると、何らかの理由でChartTimePriceToXYが 異なる結果を出していると結論付けられるのです。
付け加えるのを忘れていましたが、5でテストしています。MT4では、チャートを 開くと垂直マーカーが本当に素早く所定の位置に移動し、ティックを待ったりマウスを動かしたりする必要はありません。水平シフトの不具合は数回ありましたが、インジケーターの再コンパイルで何とか克服できました。
チャート上のキューから、分単位のバーの作成、現在のinitの後に前回のdeinitをトリガーするなど、5には多くの「機能」があります)
ですから、バー/グラフ/オブジェクトをチェックする必要があります - どの時点でエラーが発生し、それを修正するか。
一般的には、バー/グラフィックス/オブジェクトをチェックし、どの時点でエラーが発生したかを確認し、それを修正する必要があります。
どうすればいいのか、何から始めればいいのか。
どうすればいいのか、何から始めればいいのか。
つまり、oninitで入札を印刷し(現在の日付を印刷することもできます)、さらに計算でも印刷するのです。
すぐにストーリーが盛り上がらず、後からバーが登場するということでしょうか
例えば、イニシャルで入札を印刷し(現在の日付を印刷することもできます)、計算するときにも印刷します。
この物語は、すぐに構築する時間がなく、バーが後で現れることをテレパシーします。
次のコードは、写真で見るストーリーです。
ネットワークを切断し、インジケータを追加
次のグラフに切り替わります
y2の値が変化したため、戻る
y2が値を戻したのに、マーカーが「消えた」値でカウントされている!マウスのホイールを回転させる。
マーカーが元の位置に戻りました