初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 237 1...230231232233234235236237238239240241242243244...260 新しいコメント Alexey Viktorov 2021.03.18 10:37 #2361 Sergey Likho:MT5からのインジケーターは、2色で線を描きます。行の値は同じバッファにある。インジケータに値を要求する際に、線の色を識別する方法はありますか? できます。線の色はカラーバッファに格納される。1行しかない場合、値バッファは0、色バッファは1になります。従って、CopyBufferでは第2パラメータに1を入れます。 Aleksei Stepanenko 2021.03.18 17:41 #2362 Ventura:パラメータウィンドウをプログラムで表示できない場合、何らかの方法でパラメータを初期化できるかどうか教えてください。 input double BuyStop=100; double MyBuyStop=BuyStop; ......... if(something) MyBuyStop=200; Aleksei Stepanenko 2021.03.18 17:46 #2363 Евгений:おすすめは? まず令状は、記号とマジックでふるい分けなければならない。2つの命令が残されています。条件で削除したいものを選択するのです。1つ削除して、ストップロスを変更するのです。 Ventura 2021.03.18 20:44 #2364 Aleksei Stepanenko: input double BuyStop=100; double MyBuyStop=BuyStop; ......... if(something) MyBuyStop=200; Alexey、私はパラメータ計算関数を、パラメータウィンドウが表示された後ではなく、その前に呼び出す方法を提案するよう依頼しました。 パラメータウィンドウをプログラム的に呼び出すことは可能か?そうでない場合、パラメータウィンドウが表示される前に、関数からパラメータを初期化することは可能でしょうか? このようなことをしたいのですが input double BuyStop = GetMyBuyStop(); でも、右側には定数しか置けないというエラーが出るんです( Vitaly Muzichenko 2021.03.18 20:50 #2365 Ventura:Alexey、私はパラメータ計算関数を、パラメータウィンドウが表示された後ではなく、その前に呼び出す方法を提案するよう依頼しました。パラメータウィンドウをプログラム的に呼び出すことは可能か?そうでない場合、パラメータウィンドウが表示される前に、関数からパラメータを初期化することは可能でしょうか?このようなことをしたいのですがinput double BuyStop = GetMyBuyStop();しかし、右側の定数しか存在し得ないというエラーが発生する( パラメータウィンドウが表示される前には何もなく、すべてが始まるのはウィンドウがすでに読み込まれた後である Aleksei Stepanenko 2021.03.18 23:39 #2366 まさにVitalyの言う通りです! グラフ上にパネルを作成 し、そこから変数を管理します。 Ventura 2021.03.19 06:44 #2367 Vitaly Muzichenko:パラメータウィンドウが表示される前には何もなく、ウィンドウがすでに読み込まれているときに後から開始されるだけです それがわかっているからこそ、プロのアドバイスを待っているのです。もしかしたら、Win APIなどによる非標準的な手段でできるかもしれません。 コードからプログラム的にウィンドウを表示する方法は本当にないのでしょうか? Artyom Trishkin 2021.03.19 07:38 #2368 Ventura:それがわかっているからこそ、プロのアドバイスを待っているのです。もしかしたら、Win APIなどによる非標準的な手段でできるかもしれません。コードからプログラム的にウィンドウを表示する方法はないのでしょうか? EAの初期化前(パラメータも初期化前に入力)には、EAが使えない、動かない...。Expert Advisor の初期化前に、そのパラメータのウィンドウが利用可能です。しかし、それはあなたには似合わない。そのため、EAの初期化後に、必要な値を別の方法で入力します。MessageBox()ウィンドウにアクセスすることができます。しかし、これはあまり役に立ちません。値の入力欄がなく、同意/不同意/キャンセルのボタンがあるだけだからです。 だから-、自分のウィンドウを使う必要があるのです。オブジェクトから自分で作ることができます。ObjectCreate() で探してみてください。またはCanvasを使用します。しかし、キャンバスは単純な工芸品には向きません。 Документация по MQL5: Графические объекты / ObjectCreate www.mql5.com ObjectCreate - Графические объекты - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Ventura 2021.03.19 10:00 #2369 Artyom Trishkin:EAが初期化される前に(初期化前にパラメータを入力する)、動作しない...。EAが初期化される前に、そのパラメータウィンドウを利用することができます。しかし、それはあなたには似合わない。そのため、EAの初期化後に、必要な値を別の方法で入力します。MessageBox()ウィンドウにアクセスすることができます。しかし、これはあまり役に立ちません。値の入力欄がなく、同意/不同意/キャンセルのボタンがあるだけだからです。だから-、自分のウィンドウを使う必要があるのです。オブジェクトから自分で作ることができます。ObjectCreate() で探してみてください。またはCanvasを使用します。しかし、キャンバスは単純な工芸品には向きません。 Artemさん、ありがとうございます!アドバイス待ってました。待っている間、私自身は解決策を模索していました。今朝、プログラムで設定画面を表示させる方法を見つけました F7を押すことでウィンドウが呼び出されることがわかりました。インターネットで検索したところ、MQLを使ってソフトキー表示を作ることができることがわかりました。 あとはテクニックの問題ですね。もし、誰かが役に立つかもしれないので、ここにコードを貼り付けて共有します。 extern double BuyStop, SellStop; ... void SetParams() { BuyStop = CalcBuyStop(); SellStop = CalcSellStop(); int handle = WindowHandle(Symbol(), 0); PostMessageA(handle,WM_KEYDOWN,VK_F7,0); } Ventura 2021.03.19 10:09 #2370 しかし、私は喜ぶのが早すぎました。プログラムでパラメータウィンドウを開くことはできたのですが、プロシージャのパラメータに割り当てた値が保存されていません(( つまり、パラメータウィンドウを開くと、初期化時に指定した値(私の場合はゼロ)が表示されるのです。 計算値をパラメータフォームに転送する方法はありますか? 1...230231232233234235236237238239240241242243244...260 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
MT5からのインジケーターは、2色で線を描きます。
行の値は同じバッファにある。
インジケータに値を要求する際に、線の色を識別する方法はありますか?
パラメータウィンドウをプログラムで表示できない場合、何らかの方法でパラメータを初期化できるかどうか教えてください。
おすすめは?
まず令状は、記号とマジックでふるい分けなければならない。2つの命令が残されています。条件で削除したいものを選択するのです。1つ削除して、ストップロスを変更するのです。
Alexey、私はパラメータ計算関数を、パラメータウィンドウが表示された後ではなく、その前に呼び出す方法を提案するよう依頼しました。
パラメータウィンドウをプログラム的に呼び出すことは可能か?そうでない場合、パラメータウィンドウが表示される前に、関数からパラメータを初期化することは可能でしょうか?
このようなことをしたいのですが
input double BuyStop = GetMyBuyStop();
でも、右側には定数しか置けないというエラーが出るんです(
Alexey、私はパラメータ計算関数を、パラメータウィンドウが表示された後ではなく、その前に呼び出す方法を提案するよう依頼しました。
パラメータウィンドウをプログラム的に呼び出すことは可能か?そうでない場合、パラメータウィンドウが表示される前に、関数からパラメータを初期化することは可能でしょうか?
このようなことをしたいのですが
input double BuyStop = GetMyBuyStop();
しかし、右側の定数しか存在し得ないというエラーが発生する(
パラメータウィンドウが表示される前には何もなく、すべてが始まるのはウィンドウがすでに読み込まれた後である
まさにVitalyの言う通りです!
グラフ上にパネルを作成 し、そこから変数を管理します。
パラメータウィンドウが表示される前には何もなく、ウィンドウがすでに読み込まれているときに後から開始されるだけです
それがわかっているからこそ、プロのアドバイスを待っているのです。もしかしたら、Win APIなどによる非標準的な手段でできるかもしれません。
コードからプログラム的にウィンドウを表示する方法は本当にないのでしょうか?
それがわかっているからこそ、プロのアドバイスを待っているのです。もしかしたら、Win APIなどによる非標準的な手段でできるかもしれません。
コードからプログラム的にウィンドウを表示する方法はないのでしょうか?
EAの初期化前(パラメータも初期化前に入力)には、EAが使えない、動かない...。Expert Advisor の初期化前に、そのパラメータのウィンドウが利用可能です。しかし、それはあなたには似合わない。そのため、EAの初期化後に、必要な値を別の方法で入力します。MessageBox()ウィンドウにアクセスすることができます。しかし、これはあまり役に立ちません。値の入力欄がなく、同意/不同意/キャンセルのボタンがあるだけだからです。
だから-、自分のウィンドウを使う必要があるのです。オブジェクトから自分で作ることができます。ObjectCreate() で探してみてください。またはCanvasを使用します。しかし、キャンバスは単純な工芸品には向きません。
EAが初期化される前に(初期化前にパラメータを入力する)、動作しない...。EAが初期化される前に、そのパラメータウィンドウを利用することができます。しかし、それはあなたには似合わない。そのため、EAの初期化後に、必要な値を別の方法で入力します。MessageBox()ウィンドウにアクセスすることができます。しかし、これはあまり役に立ちません。値の入力欄がなく、同意/不同意/キャンセルのボタンがあるだけだからです。
だから-、自分のウィンドウを使う必要があるのです。オブジェクトから自分で作ることができます。ObjectCreate() で探してみてください。またはCanvasを使用します。しかし、キャンバスは単純な工芸品には向きません。
Artemさん、ありがとうございます!アドバイス待ってました。待っている間、私自身は解決策を模索していました。今朝、プログラムで設定画面を表示させる方法を見つけました
F7を押すことでウィンドウが呼び出されることがわかりました。インターネットで検索したところ、MQLを使ってソフトキー表示を作ることができることがわかりました。
あとはテクニックの問題ですね。もし、誰かが役に立つかもしれないので、ここにコードを貼り付けて共有します。
extern double BuyStop, SellStop;
...
しかし、私は喜ぶのが早すぎました。プログラムでパラメータウィンドウを開くことはできたのですが、プロシージャのパラメータに割り当てた値が保存されていません((
つまり、パラメータウィンドウを開くと、初期化時に指定した値(私の場合はゼロ)が表示されるのです。
計算値をパラメータフォームに転送する方法はありますか?