[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 341

 
dyxaa:

その通り、実にシンプルだ))))

100pips下に動いたら買いストップで削除して欲しい。

プログラムで入れたのか、手動で入れたのか?

手動であれば、手動で閉じる(方が良い)。

プログラム(Expert Advisor)で行う場合は、注文を調べて正しいものを見つけます。それから。

if (Bid < OrderOpenPrice()-100*Point) OrderDelete(OrderTicket());   // Это для Вашего типа ордера - Бай-Стоп

オーバーシュートなど最も簡単な動作がわからない場合は、MCLの教科書を 読むことから始めてください。なぜなら、この場合、コードに対応できない可能性が高いからです。

 
hoz:

アイデアはあるのですが、実際にどうやればいいのか、実生活で確実に機能するのか、よくわからないんです。

そのエッセンスは以下の通りです。バーが閉じられた直後、つまり新しいバーの開始時にフクロウをチャート上に置いてから、マーケットに参入する必要があるのです。これが最初の注文です。さらに、TPやStop価格で注文が閉じられたら、すぐに新しいバーのオープニングで注文を開始する必要があります。より合理的に行うには?

変数を作るべきと理解しています。その中に現在のバーの始値を入れます。そして、この値を現在のバーの始値と比較します。変数の値がインデックスゼロの現在のバーの始値と等しくない場合、注文を出します。

これが最も最適なバリエーションではないでしょうか?

ここで、自分の案件を解決しながら、New Barを 決定する機能に出会いました。

//+------------------------------------------------------------------+
//|  Проверка на появление нового бара                               |
//+------------------------------------------------------------------+
bool isNewBar()
   {  static datetime TimeBar=0;
      bool flag=false;
      if(TimeBar!=Time[0])
         {
          TimeBar=Time[0];
          flag=true;
         } 
      return (flag);
   }
//+------------------------------------------------------------------+
あとは注文を開けるだけ...。: )))
 
dyxaa:

その通り、実にシンプルだ))))

100pips下に動いたら買いストップで削除して欲しい。

自分もクロスを持っているのですが、保留注文を出すための価格との差で100ポイントもカウントしなければなりません
 

何が間違っているのか理解できません。エラー 'start' - 変数が定義されていない、私は特定の期間のRSI値の最大値を見つける必要があります。

(RSIBuffer3[i]) // RSI 値を格納した配列.

//配列のサイズを 指定します.

int count=ArraySize(RSIBuffer3[i])とする。

// 配列の最大値を検索します.

int RSI_max=ArrayMiximum (RSIBuffer3[i], count-1, int start=0);

 
Chiripaha:

実装すれば、実生活でもデモと同じように確実に動作するようになります。しかし、利益が出るということではありません。

新しいバーを 開くことで実装することができます。しかし、バーがどの方向に開くのか、どのような条件でこちら側が決まるのか、定式化されていませんね。

何も比較する必要はありません。新しいバーが表示されたら(あなたの入力に基づき)注文を出すだけでいいのです。

全くわからない場合

"経験 "は "多くの失敗の息子 "である。
そして、天才はパラドックスの友である」(アレクサンドル・セルゲイビッチ、君に語りかける)。

フクロウを作って(書いて)、実験的に確認する必要があります。- フクロウを(無料で)書いてくれる人はいないと思います。ヒントを与えるのも一つの手です。しかし、アイデア(思考)を実行することは、ヘルプではなく、ワークである。


すべてを想像する。アイデアは、我々は新しいバーを決定するために1つまたは別の関数を使用する場合、最初の注文は、としてチャートにEAが接続されているときに、自発的に開くということです。EAをチャートに表示した時点で、バーを開いた時刻を格納する変数が、現在のバーを開いた時刻と等しくなることはありません。.Initeの変数に現在のバーのオープン時間を代入して、この変数と現在のバーのオープン時間が等しければ、それ以上何も せず、等しくなければ、オープン関数を実行しようと思いました。一番適当なバリエーションというか、イナテがなくても大丈夫かなと思いました。

 
Merincool:

何が間違っているのか理解できません。エラー 'start' - 変数が定義されていない、私は特定の期間のRSI値の最大値を見つける必要があります。

(RSIBuffer3[i]) // RSI 値を格納した配列.

// 配列のサイズを指定します.

int count=ArraySize(RSIBuffer3[i])とする。

// 配列の最大値を検索します.

int RSI_max=ArrayMiximum (RSIBuffer3[i], count-1, int start=0);

//配列のサイズを 決定します.

int count=ArraySize(RSIBuffer3)。

// 配列の最大値を検索します.

int RSI_max=ArrayMiximum(RSIBuffer3, count-1, int start=0);

 

特定のアカウントで端末を起動させるには、プログラムのショートカットに何を書けばいいのでしょうか?

 
こんにちは、4つの指標とユーザーはそれのためのExpert Advisorを書く ことを試みるがあります。 質問はあなたが0を出てこないように、各インジケータの価格の値を取得するために処方する必要があるものであり、まだ数。必要性は単にicustomでgrammotnohoを規定する、私はそれを規定するが、それが動作しない、ここで "セット "があります。
ファイル:
 
Elektronik、最後に組んだもので開くようです。 少なくとも、他は見たことがありません。
 
palomnik:
Elektronik、最後の1枚で開くようです、少なくとも私は他を見たことがありません。

テスターを終えて、本番に取り掛かる。