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

 
dyxaa:

人々は、それがトリガーされていない場合、n、pipsの数で保留中の順序を閉じるにはどうすればよいのでしょうか?

閉じることはできませんが、削除 することは可能です。

 

トレーニング用(=学習中)のインジケータを描き、データを変更するとこのような結果になります。


赤と青の線がスムーズに流れ込まない

なぜこのようなことが起こるのか、どうすれば回避できるのか。

  for(i = limit; i >= 0; i--) 
    {
     cciTrendNow      = iCCI(NULL, 0, CCIPeriod, PRICE_TYPICAL, i);
     cciTrendPrevious = iCCI(NULL, 0, CCIPeriod, PRICE_TYPICAL, i+1);

     if (cciTrendNow > st && cciTrendPrevious < st)
      {
       TrendUp[i+1] = TrendDown[i+1];
       ArrayInitialize( TrendDown[i+1], 0 ); // Попытался обнулить, чтобы обойти некрасивую отрисовку.
      }

     if (cciTrendNow < st && cciTrendPrevious > st) 
      {
       TrendDown[i+1] = TrendUp[i+1];
       ArrayInitialize( TrendUp[i+1], 0 );   // Попытался обнулить, чтобы обойти некрасивую отрисовку.
      }
    }

問題はコードのこの部分に現れます。しかし、それをどう克服するか。自分では考えつかなかったし、思いつかなかった。アドバイスをお願いします。

 
dyxaa:

人々は、それがトリガーされていない場合、n、pipsの数で保留中の順序を閉じるにはどうすればよいのでしょうか?

十字架をクリック
 
artmedia70:

外的変数の話をしたわけではないんです。という話をしたんです。

ある状況を想像してみましょう。最後に空いているポジションで判断する必要があります。


テスター用。

変数を作成し、そこに最後に開いたポジションの必要なデータを格納します。

新しいポジションが開かれたら、すぐにこれらの変数に必要なデータを追加します。

次のポジションを開くシグナルが来たら(例えば20分後)、いくつかの基準を確認する必要があり、それによって開くべきポジションのデータを決定するのです。これらの基準は、慣習上、前職のオープンポジションに依存します。変数から読み出し(前回のオープニングで保存しておいた)、新しいポジションの追加データとして使用します。

ポジションをオープンすると、新しくオープンしたポジションのデータを変数に格納します。


リアルに。

同じ状況を想像してみよう、しかし.最後のポジションが開かれ、そのデータが変数に格納された後、10分が経過したとします(次のポジションが開かれるまでにさらに10分経過しなければなりません(ここでは「テスター」でこれを想定しました))。そして、この間に何らかの理由でExpert Advisorが再起動されました。

変数に格納された最後のオープンポジションのデータでEAを再起動するとどうなるのでしょうか?存在しなくなる。

では、どこで手に入れればいいのか。右-検索そのため、必要なデータを検索する機能が必要なのです。したがって、変数に格納するのではなく、必要なときに一度にすべてを探し出す方が、本当はもっと簡単で速いのです。


このたびは、ご報告が遅くなり申し訳ございません。:))



Artyomさん、ありがとうございます。もちろん、すべて納得のいくものです。そのため、私は関数を使って書くことを学んでいます。しかし、その理屈が通用しないこともある。だから、つまずくんです。前回、ある関数から別の関数にすべてのループデータを展開することでこの問題を解決したときは、気を取り直すために2、3日、プログラミング全般から離れたんだ。さあ、これからも頑張るぞ!
 
solnce600:

皆さん、次のアルゴリズムをループを使って エンコードする方法を教えてください。

if (iLow (シンボル(),0,1) > iLow (シンボル(),0,10))// 最初の ローソク足のMINIMUM>10本目の ローソク足のMINIMUMの場合

OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-2950*Point,Bid+150*Point, "jfh",123 ); // 注文をオープンする。

せねばならぬ

Low 1と 同時に Low 2と同時に Low 3の場合........................。...と同時に 安値 9キャンドル>安値10キャンドル( つまり 1〜9の 安値キャンドル)

/ /注文を開始する。

ありがとうございます。

それでも、あなたの質問を正しく聞いていれば、そのコードは

bool have = true;

for (int i=0; i<10; i++)
  {
   if (Low[i] > Low[10])        // Как вариант:  if ( iLow(Symbol(),0,i) > iLow(Symbol(),0,10) )
    {
     have = false;
     break;
    }
  }

if(have) OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-2950*Point,Bid+150*Point,"jfh",123 );    //открыть ордер.

しかし、それはFAQを ヒントにしたものです。これがなかったら、できなかったかもしれない。

 

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

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

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

これがベストな選択なのでしょうか?

 
Chiripaha:

トレーニング用(=学習中)のインジケータを描き、データを変更するとこのような結果になります。


赤と青の線がスムーズに入り込まない

なぜこのようなことが起こるのか、どうすれば回避できるのか。

問題はコードのこの部分に現れます。しかし、それをどう克服するかは、自分では調べたり考えたりすることができなかった。教えてください。


: )))

あとは問題を解決できれば、もっと良くなるんですけどね。手伝いたいと言ってくれた皆さん、ありがとうございました: ))

全く同じバッファをもう2つ開いてみましたが、描画されません。何がウィザードリィなのか...。- よし、勉強して探そう。自転車」で時間を浪費するのはもったいないですけどね。この場合、どのような時に新しいものを発明するのか?

 
hoz:

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

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

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

これがベストな選択なのでしょうか?


実装されれば、実際の取引でもデモと同じように確実に機能します。しかし、利益が出るということではありません。

注文を開いて、それで終わりです しかし、どの方向に注文を出すか、どのような条件でこちら側が決定されるかが定式化されていませんね。

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

newBars = iBarShift(Symbol(), PERIOD_H1, lastH1BarTime);    // Это было найдено через поиск на форуме

全くわからない場合

"経験 "は "ハードエラーの息子 "である。
そして天才はパラドックスの友である」(アレクサンドル・セルゲイビッチ氏より)。

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

 
borilunad:
十字架をクリック

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

私はあなたの助けを求めている)ここで注文を保留しているのは、例えば、私は価格が100ポイント下に渡された場合、それを削除する必要がありますストップを買いましょう

 
borilunad:
十字架をクリック

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

私はあなたの助けを求めている)ここで注文を保留しているのは、例えば、私は価格が100ポイント下に渡された場合、それを削除する必要がありますストップを買いましょう