MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1547 1...154015411542154315441545154615471548154915501551155215531554...1953 新しいコメント Tretyakov Rostyslav 2021.07.29 11:40 #15461 SGarnov:通貨ペアの連続したストップ数。履歴を把握するために、Expert Advisorは最初、注文にIDを付けていたのですが、履歴から見つけられなかったので、OrderMagikNumber()で検索するのかと思ったのです。もしかして、ヒストリーで、EAが異なる通貨ペアのストップを「見て」止めてしまうから? 1つの通貨ペアで動作させた試しがないので、無駄になってしまうのでは? また、ソースコードを公開しなければならないのでしょうか?必要なのは「履歴からストップトレードを検索して、新たに置いたテイクに追加させる」ことを修正すること。 また、1つのペアに2つ以上のストップがある場合、このペアのEAの作業をどのように再開するのでしょうか? ついでにOrderMagicNumber()はEAと手動発注をマジコン無しで設定する SGarnov 2021.07.29 11:44 #15462 MakarFX:また、あるペアで2つ以上のストップが連続した場合、そのペアのEAをどのように再稼働させるのですか? 自分でセットした新しい振り子でやっています。 Tretyakov Rostyslav 2021.07.29 11:46 #15463 SGarnov: 自分で立てた新しい振り子。 過去の損失分のポイントをそれに加算するのか、それとも新たな損失計算のサイクルにするのか? SGarnov 2021.07.29 11:49 #15464 MakarFX: 過去の損失や新しい損失サイクルのポイントを追加する必要がありますか? いいえ、前のものを追加する必要はありません。EAが動作し始めたときだけ追加します。 Expert Advisor は、Stop Loss 係数が 2 の場合、常に 4 種類のイベントのみを実装します。 A) テイクプロフィット+1ストップで、Expert Advisorの動作が停止 します。 B) +1ストップで、EAの動作が停止 します。 C)テイク+2停止 EAが動作しなく なる D) 3 停止 EAが動作しなくなる Maxim Kuznetsov 2021.07.29 11:51 #15465 SGarnov:こんにちは。EAに協力してください。ストラテジーによれば、ストップがトリガーされた場合、EAはIDで履歴から次の設定された持ち点に(ポイント数) を追加するはずですが、なぜか実行されないのです。コードのどこがおかしいのでしょうか? 最低限の利益を確保したいのであれば、ストップとテイクプロフィットにスプレッドを加えて、ある程度の値にしておけば十分でしょう。正確には、算術級数*スプレッド(スプレッドが何倍になって損するか)の量です。ただ、日次のレンジよりはるかに大きくは増やさないでください。 最良の選択肢は、OrderMagicやCommentで、ストップの初期値をポイントで保存するか、連続失敗の回数を保存することです。一般的に、Expert Advisor はすべての注文/ポジションを記憶し、端末(およびサーバ)に不必要な問い合わせをしないようにする必要があります。 SGarnov 2021.07.29 11:55 #15466 Maxim Kuznetsov:最小限の利益で成立させるためには、ストップとテイクの両方にスプレッドを付ければよいのです。より正確には、算術級数*スプレッド(どれだけスプレッドが広がるか、失われるか)の量です。ただ、日次のレンジよりはるかに大きくは増やさないでください。最良の方法は、OrderMagicやCommentで、ストップの初期値をポイントで保存するか、連続した失敗の回数を保存することです。一般的に、Expert Advisor はすべての注文/ポジションを記憶し、端末(およびサーバ)に不必要な問い合わせをしないようにする必要があります。 コードについては、そのはずなのですが、履歴に見当たりません。 助けていただけませんか? Mikhail Tkachev 2021.07.29 11:56 #15467 地域の皆様のお力をお借りしたいのですが...。 MQL5グローバルオブジェクトを正しく宣言し、作成する方法は? このようにすれば int OnInit() { CIsNewBar* NB_M1=new CIsNewBar(_Symbol,PERIOD_M1); // Эта строка потом будет в цикле для разных символов } void OnTick() { if (NB_M1.IsNewBar()) // (1) Если появился новый бар M1 {....} ...... } OnTick()の行でコンパイラが文句を言います: 'NB_M1' - 未宣言の識別子。 OnInit()の前にグローバル宣言を挿入した場合。 CIsNewBar* NB_M1; は、エラーなくコンパイルされ、エキスパートが動作します。グローバル宣言時とOnInit()時の2回、オブジェクトが生成されているようです。 しかし、コンパイラは このような警告を 出します。 NB_M1' の宣言でグローバル変数を隠す → OnInit()の1行につき、です。 see previous declaration of 'NB_M1' OnInit()でローカル変数(関数内)を作成し、同名のグローバル変数を隠蔽するということでしょうか。 また、その場合、このローカル変数を別の関数 OnTick() でどのように「見る」ことができるのでしょうか? Tretyakov Rostyslav 2021.07.29 12:02 #15468 SGarnov:いいえ、前のものを追加する必要はありません。EAが動作し始めたときだけ追加します。ストップロスの 値が2の場合、Expert Advisorは常に4つのオプションのみを実装します。A)取るB) テイク+1ストップC)テイク+2ストップD) 3ストップアドバイザーが動かなくなる なるほど、試してみます。 Alexander Lasygin 2021.07.29 12:02 #15469 このメッセージが誰に宛てたものなのか、まだわかりません。不透明なパネルが作れない。OBJ_BITMAP_LABEL, OBJ_RECTANGLE_LABEL 関数は、オブジェクトの装飾や新規作成用に設計されています。しかし、透明性を確保しないという選択肢はありません。私の勉強不足なのか、作り手の欠点なのか。フォアグラウンドで作成されたオブジェクトは、コントロールパネルを通して表示されます。その逆も可能ですが、プロシクに過大な負荷をかけることになります。どなたか方法をご存知の方がいらっしゃいましたら教えてください。 SGarnov 2021.07.29 13:00 #15470 MakarFX: なるほど、やってみます。 私のソースコードを簡単に説明すると、私が説明した問題を除いては、動作するロジックがあります。 1...154015411542154315441545154615471548154915501551155215531554...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
通貨ペアの連続したストップ数。
履歴を把握するために、Expert Advisorは最初、注文にIDを付けていたのですが、履歴から見つけられなかったので、OrderMagikNumber()で検索するのかと思ったのです。もしかして、ヒストリーで、EAが異なる通貨ペアのストップを「見て」止めてしまうから? 1つの通貨ペアで動作させた試しがないので、無駄になってしまうのでは?
また、ソースコードを公開しなければならないのでしょうか?必要なのは「履歴からストップトレードを検索して、新たに置いたテイクに追加させる」ことを修正すること。また、1つのペアに2つ以上のストップがある場合、このペアのEAの作業をどのように再開するのでしょうか?
ついでにOrderMagicNumber()はEAと手動発注をマジコン無しで設定するまた、あるペアで2つ以上のストップが連続した場合、そのペアのEAをどのように再稼働させるのですか?
自分で立てた新しい振り子。
過去の損失や新しい損失サイクルのポイントを追加する必要がありますか?
いいえ、前のものを追加する必要はありません。EAが動作し始めたときだけ追加します。
Expert Advisor は、Stop Loss 係数が 2 の場合、常に 4 種類のイベントのみを実装します。
A) テイクプロフィット+1ストップで、Expert Advisorの動作が停止 します。
B) +1ストップで、EAの動作が停止 します。
C)テイク+2停止 EAが動作しなく なる
D) 3 停止 EAが動作しなくなる
こんにちは。EAに協力してください。ストラテジーによれば、ストップがトリガーされた場合、EAはIDで履歴から次の設定された持ち点に(ポイント数)
を追加するはずですが、なぜか実行されないのです。
コードのどこがおかしいのでしょうか?
最低限の利益を確保したいのであれば、ストップとテイクプロフィットにスプレッドを加えて、ある程度の値にしておけば十分でしょう。正確には、算術級数*スプレッド(スプレッドが何倍になって損するか)の量です。ただ、日次のレンジよりはるかに大きくは増やさないでください。
最良の選択肢は、OrderMagicやCommentで、ストップの初期値をポイントで保存するか、連続失敗の回数を保存することです。一般的に、Expert Advisor はすべての注文/ポジションを記憶し、端末(およびサーバ)に不必要な問い合わせをしないようにする必要があります。
最小限の利益で成立させるためには、ストップとテイクの両方にスプレッドを付ければよいのです。より正確には、算術級数*スプレッド(どれだけスプレッドが広がるか、失われるか)の量です。ただ、日次のレンジよりはるかに大きくは増やさないでください。
最良の方法は、OrderMagicやCommentで、ストップの初期値をポイントで保存するか、連続した失敗の回数を保存することです。一般的に、Expert Advisor はすべての注文/ポジションを記憶し、端末(およびサーバ)に不必要な問い合わせをしないようにする必要があります。
地域の皆様のお力をお借りしたいのですが...。
MQL5グローバルオブジェクトを正しく宣言し、作成する方法は?
このようにすれば
OnTick()の行でコンパイラが文句を言います: 'NB_M1' - 未宣言の識別子。
OnInit()の前にグローバル宣言を挿入した場合。
は、エラーなくコンパイルされ、エキスパートが動作します。グローバル宣言時とOnInit()時の2回、オブジェクトが生成されているようです。
しかし、コンパイラは このような警告を 出します。
NB_M1' の宣言でグローバル変数を隠す → OnInit()の1行につき、です。
see previous declaration of 'NB_M1'
OnInit()でローカル変数(関数内)を作成し、同名のグローバル変数を隠蔽するということでしょうか。
また、その場合、このローカル変数を別の関数 OnTick() でどのように「見る」ことができるのでしょうか?
いいえ、前のものを追加する必要はありません。EAが動作し始めたときだけ追加します。
ストップロスの 値が2の場合、Expert Advisorは常に4つのオプションのみを実装します。
A)取る
B) テイク+1ストップ
C)テイク+2ストップ
D) 3ストップ
アドバイザーが動かなくなる
このメッセージが誰に宛てたものなのか、まだわかりません。不透明なパネルが作れない。OBJ_BITMAP_LABEL, OBJ_RECTANGLE_LABEL 関数は、オブジェクトの装飾や新規作成用に設計されています。しかし、透明性を確保しないという選択肢はありません。私の勉強不足なのか、作り手の欠点なのか。フォアグラウンドで作成されたオブジェクトは、コントロールパネルを通して表示されます。その逆も可能ですが、プロシクに過大な負荷をかけることになります。どなたか方法をご存知の方がいらっしゃいましたら教えてください。
なるほど、やってみます。
私のソースコードを簡単に説明すると、私が説明した問題を除いては、動作するロジックがあります。