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

 
alsu:
チケットはそのままで


????

注文が終了しているかどうかを確認するにはどうすればよいですか?

 
Cruc:

推薦していただきありがとうございました。ほとんど理解できました。ただ、注文がトリガーされるかどうかが思い出せません。チケットは-10という値を取るのでしょうか?
チケットは変わりません。OrderCloseTimeが0より大きくなっただけです。
 
ilunga:
チケットは変わりません。OrderCloseTimeが0より大きいだけです。


そして、ストップやプロフィットが発動されると、それもゼロ以下になる、私の勘違いでなければ-1 ?

条件を正しく設定するにはどうしたらよいですか?アドバイスをお願いします。

 
Cruc:


そして、ストップやプロフィットがトリガーされた場合、私が間違っていなければ、それはゼロより小さくなります -1 ?

条件を正しく設定するにはどうしたらよいですか?ヒントをください。

違うものになるのではなく、同じもののままです。クローズしたポジションは、同じチケットで取引履歴リストへ移動します。

まさにこの取引履歴のリストを見ながら、そこにある注文を探します。

 
artmedia70:

なぜそうなのか?すべてのフラグを一度に一つのComment`に出力します。

すぐそこです。




ADXが上昇しない、すなわち

// ADX > 20の上昇、または単なるADXの上昇を確認する ---- 動きの強さを確認する。
if (x<20 && x0>20) {f3 = 1; }.

を満たさないが、取引は可能である

 
Ivn:


ADXが上昇しない、すなわち

// ADX > 20の上昇、または単なるADXの上昇 ---- 強さを確認する。
if (x<20 && x0>20) {f3 = 1; }.

が満たされておらず、取引はオープンである。

スクリーンショットのコメントから判断すると、ゼロバーを操作して判断しているようですね。

これはまずいな...。ゼロバーでは、インジケータがバー形成中に何度も往復するため、誤ったシグナル(チャタリング)が発生する可能性があります。

これを避けるには、すでに形成されている最初のバーを確認します。

 
ということです。よくチャートを見ていると、通常ローソクの高値や安値がほぼ等しい水準に価格がぶつかっているように見えることに気づきます。でも、数学的にどうすればいいのかわからない。3日間、フォーラムとデータベースを探しましたが、そのようなものは見つかりませんでした。
 

ごあいさつ

直前のローソク足(非ゼロバー)の情報(ローソク足が強気か弱気か、その本体と影の大きさ、ローソク足に対する影の割合)を表示しようとしているのですが、どうすればよいでしょうか?

でも、石花を出力するわけではありません。間違った値を出力してしまう。

int start()
  {
   int counted_bars=IndicatorCounted();
   if (counted_bars<0) return(-1);        //---- check for possible errors
   if (counted_bars>0) counted_bars--;    //---- last counted bar will be recounted
   int limit=Bars-counted_bars;
   
   double kerzen_typ;                  //тип свечи
   string kerzen_name;                 //наименование свечи
   double kerzen_body;                 //размер тела свечи
   double kerzen_shadow_up;            //размер верхней тени
   double kerzen_shadow_down;          //размер нижней тени
   double kerzen_shadow2body_up;       //отношение верхней тени к размеру тела
   double kerzen_shadow2body_down;     //отношение нижней тени к размеру тела

//---- main loop
   for(int bar=0; bar<limit; bar++)
      {
//определение контрольной свечки - белая, черная или додж и сбор информации
   if (Close[bar]>Open[bar])
      {
         kerzen_typ=1;
         kerzen_name="бычья или белая свеча";
         kerzen_shadow_up=High[bar]-Close[bar];
         kerzen_shadow_down=Open[bar]-Low[bar];
         kerzen_body=Close[bar]-Open[bar];
      }
   if (Open[bar]>Close[bar])
      {
         kerzen_typ=-1;
         kerzen_name="медвежья или черная свеча";
         kerzen_shadow_up=High[bar]-Open[bar];
         kerzen_shadow_down=Close[bar]-Low[bar];
         kerzen_body=(Open[bar]-Close[bar]);
      }
   if (Open[bar]==Close[bar])
      {
         kerzen_typ=0;
         kerzen_name="додж";}  
         kerzen_shadow_up=High[bar]-Open[bar];
         kerzen_shadow_down=Close[bar]-Low[bar];
      }
//определение соотношения тени к телу свечки      
if (kerzen_body==0)
      {
         kerzen_shadow2body_up=kerzen_shadow_up;
         kerzen_shadow2body_down=kerzen_shadow_down;
         }
if (kerzen_body!=0)
      {
         kerzen_shadow2body_up=kerzen_shadow_up/kerzen_body;
         kerzen_shadow2body_down=kerzen_shadow_down/kerzen_body;
      }     
 
//---- done
   Comment  (
               "Контрольный бар типа ",kerzen_name,"\n",
               "Верхняя тень - ",kerzen_shadow_up*10000," в ",kerzen_shadow2body_up, " раз больше","\n",
               "Тело - ",kerzen_body*10000,"\n", 
               "Нижняя тень - ",kerzen_shadow_down*10000," в ",kerzen_shadow2body_down, " раз больше"
            );
   return(0);
  }
 
gabba:

ごあいさつ

直前のローソク足(非ゼロバー)の情報(ローソク足が強気か弱気か、その本体と影の大きさ、ローソク足に対する影の割合)を表示しようとしているのですが、どうすればよいでしょうか?

でも、石花を出力するわけではありません。間違った値を出力してしまう。


1本しか取らないのに、なぜサイクルが必要なのですか? バー」の代わりに「1」を使えばいいのです。新しいバーのみをチェックすることで、毎ティック ごとにすべてを再計算する必要がなくなります。
 
Cruc:


そして、ストップやプロフィットが発動されると、ゼロ以下になります、もし私が間違っていなければ-1 ?

条件を正しく設定するにはどうしたらよいですか?ヒントを教えてください。

もう一回

最もシンプルなバリエーション(模式図)

if (ticket > 0)
{
   OrderSelect(ticket, SELECT_BY_TICKET);
   if (OrderCloseTime() > 0)
   {
      // ордер закрылся
   }
   else
   {
      // ордер пока еще открыт
   }
}
else
{
   //первый запуск советника 
}