アドバイザーは実生活に適しているか? - ページ 31

 
はい、やってみてください。
 
OnGoing:
どうでしょう、ええ、試してみてくださいな。

どうだろう。非正規化されていても、条件は満たされていることになります。計算後にストップ高がある場合は正規化する必要があります。
 
FOReignEXchange:

どうだろう。ある種の非正規化されたものであっても、その条件は満たされる。計算後にストップ高がある場合は正規化する必要があります。
ただ、Ascomと比較する値の差があまり大きくない場合、小数点 以下の桁数が問題となり、条件としては失敗することが多い。
 

なぜか、これをやるべきだと思うんです。

   if (OrderSelect(ticket_sell,SELECT_BY_TICKET)==true)
      {
      if (OrderType()==OP_SELLSTOP) 
         {
         if (Bid<(OrderOpenPrice()+4*Point)) 
            {

2条件同時は時々読めない印象があります。入れてみようと思います。言語のなんらかのバグのようです。

ノーマライゼーションでも同じようにやってみます。

もしかしたら、まだそのような問題に遭遇したことのある人がいるかもしれません。

 

いいえ、どちらも有効です。比較対象が与えられていない値の可能性が高いです。

各ステップで得られる値をトレースしてみてください。

 
OnGoing:

いいえ、どちらも有効です。比較対象が与えられていない値の可能性が高いです。

各ステップで得られる値をトレースしてみてください。


コメントで確認済みです。この条件の前にコメントまでつけています。信号はこのラインまで行くが、それ以上進まない。そして、それはほとんど起こりません。1日に2~4回。それ以外の時間はすべて正常に動作します。注文が削除されなかった時のコメントで全ての値を確認しました。削除されたはずなのに、削除機能まで到達していない。信号が出るのは、この条件の前だけで、それ以上はない。
 
俺ってバカだなぁ一番大事なことを言い忘れていました。テスターではすべて正常に動作しています。それが問題なんです。テスターで注文が削除されないのであれば、悩むことはないでしょう。しかし、本番アカウントでは削除されず、取引後に可視化を有効にするとテスターで削除されます。だから、言語のなんらかのバグに見えるのだと思います。選択したオーダーから あまりデータを削除できない印象があります。この問題は今回が初めてではありません。正確に言うと、ずっとぶつかっています。テスターではすべてOKなのに、実機ではダメ。
 
今、ビジュアライゼーションをオンにして、見ています。除去のための時間的余裕が大きい。あと少しで30分。テスターでは削除されましたが、今日デモ口座では削除しようともせず、サーモントレードをオープンしました:)
 

条件の前にある値ではなく、条件の中にある式を正確に出力する。何と何を比較するのかをコントロールする。そうすれば、次にそのような障害が発生したときに、その原因をキャッチすることができます。

何しろ、状態が破綻していることが分かっているのですから。だから、その理由を探らなければならない。そのためには、比較されるすべての値を常にモニターしていなければならない。

 

もう、全部やりましたよ。今は、注文が削除されなかったもう一ヶ所のために、また可視化をしています。ダニが 出るたびに、その状態のコメントを見た。そこではすべてが正しく、テスターはその注文を削除しました。そして、削除するまでの時間は10~15秒でした。

この間、デモ口座のログを見ましたが、注文を削除しようとする試みはありませんでした。テスターではそうでしたが、デモ口座ではそうではありませんでした。条件の前と後、コードの最後、コードの最初に一気にコメントを入れてみました。条件はすべて満たしているが、それ以上踏み込んでいない。注文を削除しようともしていない!?削除する時間はたっぷりありますが、削除しようともしていないので、時間の問題ではありません。2-3刻みのジャンプもなかった。ただ、delete関数に条件が通らない、それだけのことです。

わかりました、別の選択肢を試してみます。明日はどうなるかな。最初の問題は、なんとなく解き方を想像していました。明日、更新されたコードがどのように動作するか確認します。