[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 585

 
ObjectCreate() とObjectSet()を使用します。
 

皆さん、こんにちは。経験の浅いユーザーにアドバイスをお願いします。私は「123」というインジケーターを使用していますが、レベルの描き方がとても気に入っています。今まで試したことがないんですよ。問題は、チャートにインジケータを挿入し、レベルを描きましたが、10分後に価格が70ポイント反発し、レベルが変更されていないことです。価格が動くたびにインジケータを無効にして再有効化しなければならず、新しいレベルを描き続けています。10分毎に更新されたレベルで無効化、再有効化するようなパラメータをインジケータのプログラムに導入することが可能かどうか、アドバイスをお願いします。プログラミングは苦手なので、できるのか、どうすればできるのか、説明してください。皆さん、よろしくお願いします。


ファイル:
123.mq4  15 kb
 

リニューアルされたイシモクは プロ向けの指標なのか(笑)

開発者」がインジケーターを完成させなかったので、ほとんど役に立たなかったのでしょう:)

 
alsu:

リニューアルされたイシモクはプロ向けの指標なのか(笑)

開発者」がインジケータを完成させなかったので、ほとんど役に立たなかったのでしょう:)


では、このインジケーターを自動化する方法はないのでしょうか?超クールなインジケーターではないのですが、レベルが描画されるのが好きなんです。自動でレベルを更新するような機能を追加できないか。
 
alsu:
ObjectCreate()とObjectSet()を使用します。

矢印を描画しますが、すべてのバーで、必要なときにのみ、最初のローソク足が壊れたときに描画します。

https://www.mql5.com/ru/forum/111497/page583

...

 
mazan:

では、このインジケーターを自動化することは不可能だとお考えですか?超ド級のインジケーターではないことは分かっていますが、このインジケーターが描くレベルが好きで、それを扱うのは得意なのですが、問題は、時々レベルを手動で更新する必要があることです。自動でレベルを更新するような機能を追加できないか。

こちらが修正後のものです。レベルは1目盛り ごとに更新されます。


また、現在でもインジケーター自体がチャートから削除されると、それ自身のオブジェクトが削除されるようになっています。"デベロッパー" fi.

ファイル:
123_1.mq4  16 kb
 
gince:

これは、矢印を描画しますが、すべてのバーで、最初のキャンドルが壊れているときにのみ、必要なときに。

https://www.mql5.com/ru/forum/111497/page583

.

ゼロではHighとLowが常に更新されるため、形成されたバーだけを分析する必要があります。

for(shift=0; ...) ではなく for(shift=1; ...) でカウントするようにすると、ゼロバーでの再計算が行われなくなります。そして、解析したバーを0,1,2から1,2,3へ移動させます。

 
alsu:

ゼロバーではHighとLowが常に更新されるため、形成されたバーだけを分析する必要があります。

for(shift=0; ...) ではなく for(shift=1; ...) でカウントしてみると、ゼロバーでは再計算が行われない。解析したバーを0,1,2から1,2,3へ反転させる。

すみません、分かりませんでした。

コンディションがメチャクチャ悪いな。これはアップです。

      if (d1_h1 < d1_h2 && d1_l1 > d1_l2  && d1_l1 > d1_l0) 

であるべきで、それは

      if (d1_h1 < d1_h2 && d1_l1 > d1_l2  && d1_h1 < d1_h0) 
で、下矢印も 同様
 
alsu:

は、ここで修正します。レベルは1目盛りごとに更新されます。


また、現在でもインジケーター自体がチャートから削除されると、それ自身のオブジェクトが削除されるようになっています。"デベロッパー" fi.


ありがとうございます、チャートに入れました、すべてうまくいきました、ありがとうございます。プロはプロなんです。リスペクト!
 

こんにちは、EAの書き方を考えているところです。mql4サイトの記事からEAのテンプレートを取り出し、デバッグや機能を理解するために自分なりに条件を追加し、ポジションを開くための条件を入力しました。

        MyATR = ((High[0] - Low[0])/Low[0]);
	 BT = Open[0] + Open[0]*iMAOnArray(MyATR ,0,PerB,0,MODE_SMA,1);
        ST = Open[0] - Open[0]*iMAOnArray((MyATR ,0,PerS,0,MODE_SMA,1);

   if (Ask >=  BT)                       // Если разница между
     {                                          // 
      Opn_B=true;                               // Критерий откр. Buy
      Cls_S=true;                               // Критерий закр. Sell
     }
   if (Bid <= ST)                       // Если разница между
     {                                          // 
      Opn_S=true;                               // Критерий откр. Sell
      Cls_B=true;                               // Критерий закр. Buy
     }

自分で条件を追加(または既存の条件を変更)して、注文が一度実行されるようにしています。