[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 305

 
artmedia70:

1.クローズドテイクアウトポジションがある場合、 ...

1.1 タイプがOP_BUYの場合 ...

1.1.2 OP_SELL、......のオープンポジションがある場合。

1.1.3 現在のバー時間からセルのオープンポジション時間を引いたものが、遅延のためのバー数以上である場合、 ...

1.1.4 売りのポジションを閉じる

1.2 タイプが OP_SELL の場合、 ...

1.2.2 オープンポジションOP_BUYがある場合 ...

1.2.3 現在のバー時間から買いポジションのオープン時間を引いた値が、ディレイのバー数以上である場合、 ...

1.2.4. 買いポジションを決済します。

アルゴリズムありがとうございます、思ったより複雑ですね(

前作を書くのにとても時間がかかったのですが、似たようなEAが見つからなかったので、コードを大まかに書いていただけませんか・・・。

似たようなEAが見つからないのですが、よろしくお願いします

 
限界に挑戦する前に、そのソリューションが必要かどうかを見極めるようにしたほうがいい。
そして、ここには似たような機能がたくさんあります -KimIVの便利な機能 タスクに応じた既製品もあります。
 

こんにちは。

エラーが発生した場合、ご指摘ください。RangeX0_D1の 値の合計をカウントするコードです。

その結果、配列の最後(6番目)のメンバーだけが表示されます。

よろしくお願いします。

  int k;
  double RangeX0_D1  = 0;  
  for (k=1;k<=6;k++) 
   {
    RangeX0_D1  = (iHigh(NULL,1440,k)-iLow(NULL,1440,k))/Point;
    if (RangeX0_D1>0)
    RangeX0_D1++;
   }
 
int k;
  double RangeX0_D1  = 0;  
  for (k=1;k<=6;k++) 
   {
    RangeX0_D1  += (iHigh(NULL,1440,k)-iLow(NULL,1440,k))/Point;
   }
 
FAQ:
正確で迅速な対応に感謝します :)
 
nemo811:
正確で迅速な対応に感謝します :)


計算を速く するためには、少しやり方を変えた方がいいのです

int k;
  double RangeX0_D1  = 0;  
  for (k=1;k<=6;k++) 
   {
    RangeX0_D1  += (iHigh(NULL,1440,k)-iLow(NULL,1440,k));
   }
   RangeX0_D1 /= Point;

分割には時間がかかる。一度はやっておいたほうがいい。

 
こんにちは、今年の6月10日から9月22日までの見積書がアップロードできない理由を教えてください。履歴のアップロードを 2~3回行ったが、いずれも同じようにデータにずれが生じている。
 
こんにちは、いくつかのアドバイス:ループは、特定の条件を満たす値を検索します。見つかった値は、配列に書き込まれる。そのため、宣言する配列のサイズは 未知数である。時間とリソースの観点から、2回実行するのは避けたい(1回目で見つかった値の数を数え、2回目で配列を宣言し、配列にデータを書き込むことができるようにするため)。1回の実行で必要な結果を得る方法はありますか?
 
Elenn:
こんにちは、いくつかのアドバイス:ループは、特定の条件を満たす値を検索します。見つかった値は、配列に書き込まれる。そのため、宣言する配列のサイズは未知数である。時間とリソースの観点から、2回実行するのは避けたい(1回目で見つかった値の数を数え、2回目で配列を宣言し、配列にデータを書き込むことができるようにするため)。1回の実行で必要な結果を得る方法はありますか?

インジケータで「無限」長の配列を宣言することができる。それを宣言して、ループの中ですぐに配列で見つかった値を書き込んでください。問題は、必要な選択をExpert Advisor/Scriptにどのように転送するかという点だけです。ツールもありますが、複雑さを見極める必要があります。1回目はフィルタリングした値の数を数え、配列の次元を 変更し、2回目は配列に値を入力する、というように2回実行するのが本当は簡単なのかもしれませんね。
 
Elenn:
こんにちは、いくつかのアドバイス:ループは、特定の条件を満たす値を検索します。見つかった値は、配列に書き込まれる。そのため、宣言する配列のサイズは未知数である。時間とリソースの観点から、2回実行するのは避けたい(1回目で見つかった値の数を数え、2回目で配列を宣言し、配列にデータを書き込むことができるようにするため)。1回の実行で必要な結果を得る方法はありますか?

必要な最大サイズより大きい配列を宣言 する。