[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 1081

 
dzhini:

何かがうまくいっていないような気がするんです。PLEASE HELP.

テストの考え方は次の通りです:ローソク足がある値より大きい場合、それ以上の取引を禁止する。


何を目指しているのか理解できない。前回の投稿を削除された後、ローソク足のサイズとチェックすべきパラメータに関するすべてのデータを表示するスクリプトを作りました。すべてがうまくいく。

ローソクが強気なら買いを禁止し、弱気なら売りを禁止する...という奇妙な論理にしか思えませんでした。でも、自分の理屈次第なんですよね...。

//+------------------------------------------------------------------+
//|                                        Проверка высоты свечи.mq4 |
//|                             Copyright © 2010, Trishkin Artyom A. |
//|                                           support@goldsuccess.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, Trishkin Artyom A."
#property link      "support@goldsuccess.ru"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
bool BuyOne =false;
bool SellOne=false;
int  CandleVolume=10;

int start()
  {
//----
   Alert ("Проверка дала результат = ",CheckVolume());
//----
   return(0);
  }
//+------------------------------------------------------------------+
int CheckVolume()                               // функция проверки высоты свечи
{
   double volume=High[1]-Low[1];                // проверка высоты свечи
   double signCandle=Open[1]-Close[1];          // проверка направления (положительное или отрицательное значение)
   double CVol=CandleVolume*Point;
   int    Res=0;

   BuyOne =true;
   SellOne=true;
   if (NormalizeDouble(CVol-volume,Digits)>=0) Res=1; // если свеча меньше, то всё ОК
   else {                                       // если свеча больше, то прверяем её направление
      if (signCandle<0) BuyOne =false;          // если значение меньше ноля (т.е. закрытие больше открытия), то блокируем покупки
      if (signCandle>0) SellOne=false;          // в противном случае блокируем продажи
      Res=-1;                                   // возвращаем отказ по сделке
      }
   Comment ("\n",
            "High[1] = ",High[1],"\n",
            "Low[1] = ",Low[1],"\n",
            "Высота свечи (High[1]-Low[1]) = ",volume,"\n",
            "Проверяемый размер свечи = ",CVol,"\n",
            "Open[1] = ",Open[1],"\n",
            "Close[1] = ",Close[1],"\n",
            "Open[1]-Close[1] = ",Open[1]-Close[1],"\n",
            "Направление свечи = ",signCandle,"\n",
            "BuyOne = ",BuyOne,"\n",
            "SellOne = ",SellOne,"\n"
            
            );
   return(Res);
}
 

そのようなコードをどのように実装するか。

まだ完全に形成されていない)ゼロバーを最初のバー(すでに完全に形成されている)になるまで確認します。0のバーが1になっている場合(0の代わりに1がある) - 続けます...

プロ、この部分をコードにするのを手伝ってくれ!!!!

 
歴史から情報を得るアドバイザーを探すのに役立つ・・・。
 
kolyango:

そのようなコードをどのように実装するか。

まだ完全に形成されていない)ゼロバーを最初のバー(すでに完全に形成されている)になるまで確認します。0のバーが1になっている場合(0の代わりに1がある) - 続けます...

プロ、この部分をコードにするのを手伝ってくれ!!!!

最初の1枚をすぐに確認する。なぜ、待ち時間にゼロチェックするのか?
 
itum:
歴史から情報を得るアドバイザーを探すのに役立つ・・・。
どのような情報ですか?星の位置について?
 
artmedia70:
どのような情報ですか?星の位置について?
このフォーラムで、履歴に入り込んで情報(見積もりなど)を取るアドバイザーがいることが何度も話題になっているので、そういうのを探しています !
 
itum:
このフォーラムでは、履歴に入り込んで情報(相場など)を取るExpert Advisorについて何度も議論されているので、そのようなものを探しています !
履歴から得たい情報を決めてコードを書いた方がいいのでは?
 
artmedia70:
ストーリーから欲しい情報を決めて、コードを書いた方がいいのでは?
すでに似たようなものがあるのに、なぜコードを書くのか?大雑把に言うと、テスターだけで非常に良い結果を示すようなEAが欲しいのですが・・・・。!!
 
artmedia70:
最初の1枚をすぐに確認する。なぜ、先に待っているゼロをチェックするのか

これは、すべてのティックが さらにすべてのコードを実行するのではなく、ゼロバーが最初にあるときだけ実行することを保証するものです...
 
kolyango:

これは、すべてのティックがさらにすべてのコードを実行するのではなく、ゼロバーが最初にあるときだけ実行することを保証するものです...
bool Fun_New_Bar()                              // Ф-ия обнаружения ..
  {                                             // .. нового бара
   static datetime New_Time=0;                  // Время текущего бара
   bool New_Bar=false;                               // Нового бара нет
   if(New_Time!=Time[0])                        // Сравниваем время
     {
      New_Time=Time[0];                         // Теперь время такое
      New_Bar=true;                             // Поймался новый бар
     }
  }