どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 950

 
とにかく大丈夫、何とかなるさ、退屈だったんだ。コードはおそらく、申し訳ないのですが、一部バカになっています。
 
取引終了の方法を教えてください。取引開始後、n本(5本など)のローソク足の後に取引を終了するにはどうすればよいですか?取引開始時刻は 事前にわからない。
 
kokos4:
できる人のアドバイスをお願いします。どのようにポジションを閉じるには、そのオープニングの後にn(数字例えば5)ローソク足?開店時間が事前にわからない。

ローソクを秒単位でn個数え、オープニングタイムに 加算し、現在時刻と比較する。現在時刻が大きくなるとすぐに-閉じる命令。


////где-то в цикле перебора ордеров:
////
timer = OrderOpenTime()+PeriodSeconds()*n;

if(TimeCurrent()>timer) close(OrderTicket());
////////////////


 
kokos4:
できる人のアドバイスをお願いします。そのオープニングの後、n(数例えば5)キャンドル後に取引を終了するには?事前には募集開始時期が不明です。

注文が開始されてから経過したローソク足の数(あらかじめハイライトしておくことを忘れないように)。

iBarShift (_Symbol, _Period, OrderOpenTime());

さらに言えば、「楽勝」というぐらい簡単です。;)

 

同僚、私のNormalizeDouble関数が 動作しません(他に説明できません)。第2パラメータに5と書きましたが、16桁出力されます。コードのどこがおかしいのか、教えてください。

double i = 0.123456789112345;
void OnStart()
  {
         NormalizeDouble(i, 5);  
         Alert (i);
  }
 
JoinDoe: 同僚、私のNormalizeDouble関数が動作しません(他に説明できません)。
double i = 0.123456789112345;
void OnStart()
  {
         Alert (NormalizeDouble (i, 5));
  }
 
TarasBY:
ありがとうございました。そして今、0.12346と表示されています。
 
JoinDoe:
ありがとうございました。そして今、0.12346となりました。
小数点以下は切り捨てで正解!
 
四捨五入がないようにするにはどうしたらいいのでしょうか?
 
JoinDoe:
丸めずにどうやるんだ?

その場合、正規化されず、エラーが発生する可能性があります!なぜ、より正確な正規化価格に満足しないのでしょうか?

何らかの理由で必要な場合は、元の数値に100000を掛けて整数化し、それに_Pointや0.00001を掛ければよい。

double i = 0.123456789112345;
void OnStart()
  {
         Alert (NormalizeDouble (i*100000, 0)*_Point);
  }