MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1906

 
novichok2018 #:

それだけではありません。彼は、オープンポジション(手動)、そのストップ、そしてクローズするときを明確に見ています。まるでトレードしているような感覚です。

Expert Advisor は取引サーバーと連携しており、注文の変更はすべてサーバー上で要求されます。

大まかに言うと、手動でポジションをオープンし、Expert Advisorが新しいティックまたはタイマーによってサーバーにアカウントの状態を尋ね、サーバーから注文がオープンであるという回答を得て、ホストにメッセージを送信しました。

 
Tretyakov Rostyslav #:

Expert Advisor は取引サーバーと連携し、注文の変更はすべてサーバー上で要求されます。

大まかに言うと、手動で取引を開始し、新しいティックまたはタイマーでExpert Advisorがサーバーにアカウントの状態について問い合わせ、サーバーから取引が開始されているという応答を取得し、ホストにメッセージを送信します。

もしそうだとすると、EAのマスターは自分のシンボル以外の取引や、それによる口座の変化を見ることになり、自分のシンボルの取引しか見えないはずです。

 
novichok2018 #:

もしそうであれば、EA所有者は自分のシンボル上の取引しか見えないはずなのに、自分のシンボル以外に開設された取引や、むしろそれらによって引き起こされた口座変更を見ることになります。

if(OrderSymbol()=="EURUSD") のように自分のシンボルに対するリクエストがない場合。

そして、彼はすべての取引を見ています。

 
Tretyakov Rostyslav #:

もし彼のEAが if(OrderSymbol()=="EURUSD") のようなシンボルを要求しないのであれば

であれば、すべての取引を見ることができます。

しかし、EAが置かれたチャート上ではなく、同じシンボルを使って別のチャートでポジションを開く(または反映させる)ようなコードを追加することは可能でしょうか。それとも原理的に無理なのでしょうか?

 
novichok2018 #:

そこで、EAがポジションを開く(反映させる)のは、設定したチャート上ではなく、同じシンボルで、別のチャート上で行うことをコードで指定することは可能でしょうか。それとも原理的に無理なのでしょうか?

アカウントや取引状況に関するあらゆる要求は、条件や時間枠のないグリッドに送られます。質問に対する答え:これは不可能 です。

 
novichok2018 #:

そこで、EAがポジションを開く(反映させる)のは、設定したチャート上ではなく、同じシンボルで、別のチャート上で行うことをコードで指定することは可能でしょうか。それとも原理的に無理なのでしょうか?

EA#2には、EA#1が開いたすべてのポジションを表示させたいのですよね?

まあ、簡単なことです。

 
Alekseu Fedotov #:

EA#2(とします)には、EA#1が開いたすべてのポジションを表示させたいのですよね?

まあ、簡単なことです。

彼は、EAの取引を妨害するような場所をモニターに見せないようにしたいのです。

 

Alexey Viktorov #:

  HideTestIndicators(true); 
   MaCurrent=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,0); 
   MaPrevious=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,1); 
   HideTestIndicators(false);



前回の回答ありがとうございましたが、今度は別の問題です。1年以上テストしていると、メモリが足りなくなる。テスターが "Channel_1 "と書き込む: メモリー不足です。また、"Channel_1": 初期化されていません。これらのメッセージは、3台のコンピュータで1年以上テストした後に表示されます。インジケータ(Channel_1)は、リソースを介して接続されています。newによる動的なメモリ確保を行わなかった。全体の問題は、前の投稿で 説明した変更の後に現れました。接続したインジケータをループさせるようになり、その中のintuパラメータ(周期)を変更するたびに。

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2022.02.05
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
Aleksandr Kononov #:

前回の回答ありがとうございましたが、今度は別の問題です。1年以上テストしていると、メモリが足りなくなる。テスターが "Channel_1 "と書き込む: メモリー不足です。また、"Channel_1": 初期化されていません。これらのメッセージは、3台のコンピュータで1年以上テストした後に表示されます。インジケータ(Channel_1)は、リソースを介して接続 されています。newによる動的なメモリ確保を行わなかった。全体の問題は、前の投稿で 説明した変更の後に現れました。インジケーターをループさせるようになり、その都度そのイントゥパラメーター(期間)を変更するようになりました。

もしかして、それが問題なのでは?定期的にリソースを削除してみる

bool  ResourceFree( 
   const string  resource_name      // имя ресурса 
   );

でも、それだとダイナミックに作らないといけない。

bool  ResourceCreate( 
   const string      resource_name,       // имя ресурса 
   const string      path                 // относительный путь к файлу 
   );

つまり、まずリソースを削除し、その後再作成する。ただ、問題は、それがどのように 機能するのかがわからないことです。あるいは、まったく機能しないかどうか。試してみないと...。

 
Alekseu Fedotov #:

EA#2(とします)には、EA#1が開いたすべてのポジションを表示させたいのですよね?

まあ、簡単なことです。

はい、その通りです。EA#2には、EA#1が開いたすべてのポジションが表示 されます。自分にとって簡単であればこそ、助けを求めない。

今のところ、EA#1が開いた位置の座標で「ポイント」というオブジェクトを作成し、EA#2をインストールしたチャート上に配置するインジケータを作成する、という解決策が見えています。

私のロジックが正しいのであれば、やはりこのインジケーターを書くのに助けが必要です。