MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1172

 
こんにちは、どなたかメタトレーダー4用の.exeファイルをお持ちの方はいらっしゃいませんか?まさに開発者から、どのDcにもリンクしていない
 
a.lxrn:
こんにちは、どなたかメタトレーダー4用の.exeファイルをお持ちの方はいらっしゃいませんか?まさに開発者の言葉、どのDCにも縛られない

がバインドされていない場合は、任意のdtzからmetatrader.exeとmetaeditorium.exeを取り出して別フォルダから実行し、アカウントを設定してください。ホームページには4kaのインストーラーはありません。でも、何のために?

 
Igor Makanu:

フラクタルのインジケーターと、この機能を持ったExpert Advisorをチャートに落としてテストします。

そして,見つかった値を私の関数MODE_UPPER と MODE_LOWER に渡して再プリンターします。

バーの時間を覚えておく必要があります。新しいバーの出現時に番号が変更され、バーのオープン時間は常に一定です。

つまり、私のコードを実行するとき、フラクタルが検出されたバーの時刻を覚えておいて、もう一度実行し、バーを見つけて、そのバーの時刻を覚えていたものと比較します。時刻が違っていれば、それは新しいフラクタルであることを意味します。

こんな感じでやりました。

if((Hour()>=9 && Minute()==15) && Hour()<23)
   {
    Fun_New_Bar();
    if(New_Bar)      
     {
     barfrup_1 = GetLastFractals(1,MODE_UPPER);Alert("barfrup_1 = ",barfrup_1);
     barfrup_2 = GetLastFractals(barfrup_1+1,MODE_UPPER);Alert("barfrup_2 = ",barfrup_2);
     if(barfrup_1==3)
     {
      secondtime1=iTime(NULL,0,barfrup_1);;Alert("secondtime1 = ",secondtime1);
      secondprice1=iHigh(NULL,0,barfrup_1);Alert("secondprice1 = ",secondprice1);
      firsttime1=iTime(NULL,0,barfrup_2);Alert("firsttime1 = ",firsttime1);
      firstprice1=iHigh(NULL,0,barfrup_2);Alert("firstprice1 = ",firstprice1);
      //рисуем трендовую линию High
      ObjectCreate("HighLine",OBJ_TREND,0,firsttime1,firstprice1,secondtime1,secondprice1);
     }}}

1本の線を描画します。加えたら。

if(barfrup_1>3)  ObjectsDeleteAll();

この線を消しておしまいです。どうしたんですか?

 
novichok2018:

こんな感じでやりました。

1本の線を描画します。加えたら。

で、その線を消して終わりです。どうしたんですか?

以前の投稿で、「返事がない」と文句を言われたことがありましたね。ドキュメントを読めば初歩的な疑問は勝手に解決すると、何度言われたかを思い出してください。今回も「ドキュメントを吸え」シリーズからの出題で、単語はもちろん、文章も見逃さずに丁寧に吸え。

フルネームはあるかな?苗字、名前、守護霊はもちろん、年号や誕生日も一致するように完成させてください。

ObjectCreate - Графические объекты - Справочник MQL4
ObjectCreate - Графические объекты - Справочник MQL4
  • docs.mql4.com
[in]  Индекс окна, в которое будет добавлен объект. Окно должно существовать (индекс окна должен быть большим или равным 0 и меньшим, чем WindowsTotal()), иначе функция возвратит false. При использовании функции на собственном графике осуществляется прямой доступ к графику (как это всегда было в MQL4) и возврат true означает успешное создание...
 
novichok2018:

こんな感じでやりました。

1本の線を描画します。加えたら。

で、その線を消して終わりです。どうしたんですか?

最初の投稿を読んでください、誰がラインに別の名前をつけるのか、ラインを動かすのか。

は、すぐに、それは何かを描画し、私は理解していない、あなたの仕事をするために、このコードを使用してみてくださいアウトスケッチ。

//+------------------------------------------------------------------+
//|                                                 FractalTrend.mq4 |
//|                                                            IgorM |
//|                              https://www.mql5.com/ru/users/igorm |
//+------------------------------------------------------------------+
#property copyright "IgorM"
#property link      "https://www.mql5.com/ru/users/igorm"
#property version   "1.00"
#property strict
#include <ChartObjects\ChartObjectsLines.mqh>
CChartObjectTrend *UPLine, *DNLine;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
   delete UPLine;
   delete DNLine;
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
   static datetime bar1 = 0;
   if(bar1 != Time[1])
   {
      delete UPLine;
      delete DNLine;
      int last_fractal = GetLastFractals(0, MODE_UPPER);
      int prev_fractal = GetLastFractals(last_fractal + 1, MODE_UPPER);
      UPLine = DrawTrendLine(MODE_UPPER, "UPLineFractal", prev_fractal, last_fractal, clrRed);
  
      last_fractal = GetLastFractals(0, MODE_LOWER);
      prev_fractal = GetLastFractals(last_fractal + 1, MODE_LOWER);
      DNLine = DrawTrendLine(MODE_LOWER, "DNLineFractal", prev_fractal, last_fractal, clrYellowGreen);
      bar1 = Time[1];
   }

}
//_______________________________________________________________________
CChartObjectTrend* DrawTrendLine(const int MODE, const string obj_name, const int bar2, const int bar1, const color clr)
{
   CChartObjectTrend *obj = new CChartObjectTrend;
   obj.Create(0, obj_name, 0, Time[bar2], MODE == MODE_UPPER ? High[bar2] : Low[bar2], Time[bar1], MODE == MODE_UPPER ? High[bar1] : Low[bar1]);
   obj.Color(clr);
   return obj;
}
//_______________________________________________________________________
int GetLastFractals(int bar, int mode) // bar - с какого бара начинать поиск, mode = MODE_UPPER или MODE_LOWER , результат № бара где найден фрактал
{
   int i = bar;
   while(i < Bars && iFractals(NULL, 0, mode, i) < _Point) i++;
   return(i);
}
//_______________________________________________________________________
 
Alexey Viktorov:

以前の投稿で、回答が得られないことに不満をお持ちの方がいらっしゃいました。何回ドキュメントを読まされたかを覚えておけば、初歩的な疑問は自ずとなくなります。今回も「ドキュメントを吸う」シリーズからの出題ですが、言葉を飛ばさず、さらに文章を飛ばさず、丁寧に吸ってください。

フルネームはあるかな?苗字はもちろん、名前も守護霊も、年号も誕生日も同じになるほどの充実ぶりです。

そう、私の質問に対する最初の「アドバイス」で、あなたがここで一番タフな男であり、あなたにとって初歩的と思われることを身を低くして説明することが「場違い」であることは、ずっと前から理解していたのです。でも、どうしても尻尾をふわふわさせてしまうんですね。新参者スレ以外のどこがいいんだ!?

 
Igor Makanu:

最初の投稿を読んでください、誰がラインに別の名前をつけるのか、ラインを動かすのか。

急いで、スケッチアウト、何かを描く、理解していない、あなたのタスクのために行うには、このコードを試してみてください。

ありがとうございました。これからも掘っていきます。

 
novichok2018:

私の質問に対する最初の「アドバイス」から、あなたがここで最もタフな人物であり、あなたにとって初歩的と思われることを身を低くして説明するのは「場違い」であることを、私はずっと理解していました。でも、どうしても尻尾をふわふわさせてしまうんですね。新参者向けのスレッド以外のどこがいいんだ!?

いいか、君はこの言葉すら知らないほど無知なのか

一意なオブジェクト名。

のドキュメントでは、見ることも理解することもできません。それこそ、私が言いたかったことです。しかし、どうやら無駄だったようだ。今度からは、あなたのことを思っていることを全部小声で言えるようにがんばります。いつまでもルーキーでいる人もいる。それがあなたの運命なのでしょう。ソウ、シュラ、ソウ...。

削除済み  

紳士同志@novichok2018@Alexey Viktorov、あまり感情的にならないでくださいね。建設的な対話を阻害するものだ! ......と。

)))))))))))

 
Igor Makanu:

最初の投稿を読んでください、誰がラインに別の名前をつけるのか、ラインを動かすのか。

スケッチアウト、すばやく、何かを描く、理解していない、あなたのタスクを行うには、このコードを試してみてください。

そうしました。

Fun_New_Bar();
    if(New_Bar)      
     {
     barfrup_1 = GetLastFractals(1,MODE_UPPER);Alert("barfrup_1 = ",barfrup_1);
     barfrup_2 = GetLastFractals(barfrup_1+1,MODE_UPPER);Alert("barfrup_2 = ",barfrup_2);
     if(barfrup_1==3)
     {
      secondtime1=iTime(NULL,0,barfrup_1);
      secondprice1=iHigh(NULL,0,barfrup_1);
      firsttime1=iTime(NULL,0,barfrup_2);
      firstprice1=iHigh(NULL,0,barfrup_2);
      //рисуем трендовую линию High
      ObjectCreate("HighLine",OBJ_TREND,0,firsttime1,firstprice1,secondtime1,secondprice1);
     }
      if(barfrup_1>3)  ObjectsDeleteAll();
      if(TimeCurrent()>secondtime1)
      {
      datetime Nsecondtime1=iTime(NULL,0,barfrup_1);
      double  Nsecondprice1=iHigh(NULL,0,barfrup_1);
      datetime Nfirsttime1=iTime(NULL,0,barfrup_2);
      double  Nfirstprice1=iHigh(NULL,0,barfrup_2);
      //рисуем новую трендовую линию High
      ObjectCreate("HighLine",OBJ_TREND,0,Nfirsttime1,Nfirstprice1,Nsecondtime1,Nsecondprice1);
      }
      }
 

私見ですが、その方がシンプルでいいと思います。履歴の上では問題なく動作します。デモでネットで調べてみますが、これもいけると思います。あなたの経験から、実際に効果があるのでしょうか?