初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 23

 
scomoroh:
はい、ありがとうございます。すべて修正され、エラーはありません。遅くなる、そう、とても。最適化するためにどの方向に進むべきか、それともすべてを書き直さなければならないのか、アドバイスをお願いします。

全てのオブジェクトを削除するのではなく、直近の1-2本の バーに描画されたオブジェクトのみを削除するなど、何らかの方法で制限する必要があります。

例えば、同じようなケースで、start()の中でObjectsDeleteAll() の代わりにこのような関数を使っています。

void deletelast()
{
   for(int i=ObjectsTotal()-1;i>=0;i--)
   {
      string name=ObjectName(i);
      if(StringFind(name,"Shadows.",0)>-1)
      {
         datetime crtm=(datetime)ObjectGetInteger(0,name,OBJPROP_CREATETIME);
         if(crtm>=iTime(Symbol(),0,1))
         if(!ObjectDelete(name)) Print("ObjectDelete error# ",_LastError);
      }
   }
}
 

このEAの取引権限を EAから管理することは可能かどうか教えてください。

MQL_TRADE_ALLOWED変数を使用するには?

例えば、スプレッドが大きい場合、取引を禁止する(ただし、Expert Advisorを停止しない)。

ただ、この変数をどう設定すればいいのかがわからないのです。1または0を直接代入しても機能しません。
 
harbor:

このEAの取引権限を EAから管理することは可能かどうか教えてください。

MQL_TRADE_ALLOWED変数を使用するには?

例えば、スプレッドが大きい場合は取引を禁止する(ただし、EAを停止するわけではない)

ただ、この変数をどう設定すればいいのかがわからないのです。直接1や0に設定することはできません。

この状態

https://www.mql5.com/ru/docs/runtime/tradepermission

Документация по MQL5: Программы MQL5 / Разрешение на торговлю
Документация по MQL5: Программы MQL5 / Разрешение на торговлю
  • www.mql5.com
Программы MQL5 / Разрешение на торговлю - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

しかし、それをコントロールすることは可能です。

プログラムアルゴリズムを作ればいいんです。

アルゴリズムのどの時点でも、どのような条件でも、プログラムを終了するには、コマンド

return(0);
 
こんにちは!私はこの難しいビジネスを始めたばかりで、常に新しい障害に遭遇しています。EAを書こうとして いるのですが、EAがエントリーする際に使用するインジケータのタイムフレームの問題が解決できません。問題の本質は以下の通りです。条件によると、私は指標Stochasstic信号線上の15分の時間枠に20のレベル以下であったことを必要とします。15分ちょうどに。TF!実際、他の時間軸(1分、5分、30分)でもシグナルラインがレベル20を越えてしまい、Expert Advisorが誤動作することが判明しました。すべてのタイムフレームをフィルタリングして、15分だけを残す必要があります。そのアドバイザーは、他の時間枠のクロスオーバーを考慮しないでしょう。ご協力をお願いします。
 
TimBerg:
こんにちは!私はこの難しいビジネスを始めたばかりで、常に新しい障害に直面しています。EAを書こうとして いるのですが、EAがエントリーする際に使用するインジケータのタイムフレームの問題が解決できません。問題の本質は以下の通りです。条件によると、私は指標Stochasstic信号線上の15分の時間枠に20のレベル以下であったことを必要とします。15分ちょうどに。TF!実際、他の時間軸(1分、5分、30分)でもシグナルラインがレベル20を越えてしまい、Expert Advisorが誤動作することが判明しました。すべてのタイムフレームをフィルタリングして、15分足だけを残す必要があります。そのEAは、他のTFでのクロスオーバーを考慮していない。ご協力をお願いします。
EAでインジケータからどのようにシグナルを読み取るか、コードスニペットを表示します。
 
Renat Akhtyamov:
Expert Advisorのインジケータからどのようにシグナルを読み取るか、コードの断片をお見せください。
記憶で思い出せないので、家に帰ったら見せてあげよう
 
Renat Akhtyamov:

しかし、それをコントロールすることは可能です。

プログラムアルゴリズムを作ればいいんです。

アルゴリズムのどの時点でも、どのような条件でも、プログラムを終了するには、コマンド

return(0);

を実行すると、プログラムの実行が 停止してしまいますが、実行を継続させたいのです。

いろいろと条件をつけないといけないんでしょうね。

 
harbor:

の場合、プログラムの実行は 停止しますが、実行を継続させる必要があります。

いろいろと条件をつけないといけないんでしょうね。

スプレッドが上がった場合、何を継続すればいいのでしょうか?継続することが前提なら、普及は関係ないのでは?

(c)then prohibit trading (but not stop EA)= 取引を禁止したら、どうやって動作を継続させるのか? 何の意味があるのか?

 
harbor:

の場合、プログラムの実行は 停止しますが、実行を継続させる必要があります。

いろいろと条件を つけないといけないんでしょうね。

そうです、プログラムなんです)