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

 
culler:

注文送信

スリッページ,// スリッページ

どのような形式か教えてください。

例3 - 0.00003または0.0003を5桁のアカウントへ


4桁のアカウントで3は5桁のアカウントでそれぞれ30ですが、どうしてもというなら5桁のアカウントで3のままでも、再引用が 一定になるだけです。
 

コード例を教えてください、普通のものは思いつきません。

価格比較を強制的に行う方法(例:MarketInfo(Symbol(),MODE_BID ) 価格比較を開始してからどれだけ価格が上がったか/下がったかで比較します。

変数「A」と「B」をBidで使用する場合、強制的に変数「B」のみを更新し、さらに両者を比較するにはどうすればよいでしょうか。そうしないと、両者は常に同じ値になってしまいます。

それとも、もっとシンプルな組み込み方法があるのでしょうか?

 
culler:

コード例を教えてください、普通のものは思いつきません。

価格比較を強制的に行う方法(例:MarketInfo(Symbol(),MODE_BID ) 価格比較を開始してからどれだけ価格が上がったか/下がったかで比較します。

変数「A」と「B」をBidで使用する場合、強制的に変数「B」のみを更新し、さらに両者を比較するにはどうすればよいでしょうか。そうしないと、両者は常に同じ値になってしまいます。

それとも、もっとシンプルな組み込み方法があるのでしょうか?


時間を考慮する必要があります。最初にBid値を書き込んだ時刻を記憶しておき、一定期間経過後に実際のBid値と比較する。


1. t=0; A=Bid; B=Bid; C=MathAbs(B-A)とする。

2. t=10、B=Bid、C=MathAbs(B-A)、A=Bid。

3. t=20、B=Bid、C=MathAbs(B-A)、A=Bid。

...

したがって、B変数Cは、過去10秒間のBidの差の絶対 値となる。

 

プログラムのデバッグ中に、デバッガーのウィンドウの「式の値の追跡」で、式の値が「式が評価されませんでした」と書かれている間、アドバイスをお願いします。

といった表現が、Alert関数で 呼び出されたウィンドウに冷静にポップアップ表示される。プログラムは動作し、変数には値が代入され、デバッガでは評価できないため表示されない。なぜ、こんなことができるのか?

 
evillive:

時間を考慮しなければならない。最初のBid値を記録した時刻を記憶し、その時刻の実際のBidとある間隔で比較する。


1. t=0; A=Bid; B=Bid; C=MathAbs(B-A)とする。

2. t=10、B=Bid、C=MathAbs(B-A)、A=Bid。

3. t=20、B=Bid、C=MathAbs(B-A)、A=Bid。

...

B変数Cは、このように過去10秒間のBidの差の絶対値を表すことになる。


時間に関する言及はありません。ここでは時間が敵なのです。

時間がないとは?

 
culler:


時間的な基準はありません。ここでは時間が敵なのです。

時間がないとは?


OnInitに価格値の変数を入れておくと、Expert Advisor起動時に価格にバインドされ、必要なものと比較することができます。
 
culler:


時間的な基準はありません。ここでは時間が敵なのです。

時間がないとどうしようもない?


テールレースでの時間はなくてはならないもので、システムとは切っても切れない関係です、残念ですが。投げかけられた質問の中にも、時間が登場します。

価格比較の方法(例:MarketInfo(Symbol(),MODE_BID )価格比較した瞬間から どれだけ高くなるか、安くなるか。

瞬間」とは、そこにある時間、最初の基準点である。

 
culler:

コード例を教えてください、普通のものは思いつきません。

価格比較を強制的に行う方法(例:MarketInfo(Symbol(),MODE_BID ) 価格比較を開始してからどれだけ価格が上がったか/下がったかで比較します。

変数「A」と「B」をBidで使用する場合、強制的に変数「B」のみを更新し、さらに両者を比較するにはどうすればよいでしょうか。そうしないと、両者は常に同じ値になってしまいます。

それとも、もっとシンプルな組み込み方法があるのでしょうか?

LastPrice=0;

NewPrise=0;

if(условие записи  LastPrice &&  NewPrise==0){LastPrice = MarketInfo(Symbol(),MODE_BID);}

if(LastPrice > 0) { NewPrise = MarketInfo(Symbol(),MODE_BID);} 


 
evillive:

テールレースでは、時間のない時間はありません。残念ですが、システムとは切り離せないものです。この問いの中にも、時間は存在する。

瞬間」、そこには時間があり、出発点がある。


FXに時間はない...。期待される状態の連続的な系列がある...(予想)

しかし、トレーダーにとっては、2つの予想される状態の間に、1時間、1ヶ月、1秒、あるいは1年が経過することもある...。:-)))

それは彼の問題である...トレードを成功させるためには、待ち時間をいかに少なくするかが重要なのですが......。(目指すところにもよりますが...。)

 

皆さん、こんにちは。IndicatorCounted()について質問です。

#property indicator_separate_window
datetime LastBarTime=0;
int start() 
{
   // каждый свежий бар считаем только 1 раз (сразу после закрытия)
   if (Time[0]!=LastBarTime)               // если идёт расчёт всей истории или начался свежий бар
   {
      LastBarTime=Time[0];
      
      int counted=IndicatorCounted(); if(counted<0) return(-1);
   // if (counted>0) counted--;   <<< зачем оно???
   
                 int i=Bars-counted;  // варианты: считаем историю(i=кол-во баров), сформирован свежий бара (i=2) ПОЧЕМУ?
      if (counted<2) i=Bars-2;        // для корректного начала расчёта (иначе i и тем более i+1 заглядывают в бездну)

      Print("!!!!!!TEST Bars-counted=",i);  // ПОЧЕМУ =2 ???
                     
      for (; i>0; i--) // открытый бар не считаем
      {
      // варианты:
      // 1) в истории недостаточно баров (меньше трёх): итераций цикла не будет
      // 2) произошла переинициализация переменных и тогда надо считать историю с нуля (i указывает на 2-й бар слева)
      // 3) историю уже расчитали, а сейчас сформирован свежий бара: i должна указывать на закрытый бар (i=1)
      }
   }
   
return (0);
}


ループの中で2つの状態しか期待できないのでしょうか?

1)初期化(静的変数がリセットされ、iが左から2番目のバーを指す)。

2)全編計算される(i=2)。


そして、実は、なぜi=2なのか?i=1やi=0ならわかるが、なぜ2なのか?その2を頼りにしていいのでしょうか?=)

そうでない場合、どのような方法が正しいのでしょうか。連鎖計算をしているので、同じバーを繰り返し処理することができない。

...

なるほど、質問を別の言い方で言ってみよう。ストレートに言えばIndicatorCounted()の代わりに変数を使用することはできますか?

つまり、統計やグローバルの一次初期化は、IndicatorCounted()からの0と常に同じなのでしょうか?