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

 
Sergey Voytsekhovsky:

写真でログが見えない場合は、直近のエントリーをご紹介します。

すみません、下矢印のPrint()に間違いがあり、上矢印の 時刻が代入されていました、修正しましたが、今は関係ありません。

 
Sergey Voytsekhovsky:

写真でログブックが見えない場合は、最近のエントリーをいくつかご紹介します。

一番右のローソクの時刻は1時間足チャートで10:00ですか?

 
Alexey Viktorov:

一番右のローソクの時刻は1時間足チャートで10:00ですか?

それこそExpert Advisorではエッジキャンドルが見えず、エラーになるので、大声で助けを求めている状態です

https://www.mql5.com/ru/forum/160683/page848#comment_11761231

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2019.05.20
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 

以下は、下矢印のPrint()を修正した図です。


 
void OnTick()
  {
   if (CopyBuffer(CrossAD, 1, 0, period_find, Buf_Arrow_Buy) != period_find)
      {  
         Print("НЕ удалось правильно скопировать данные из 1-го буфера индикатора iCrossAD, error code %d",GetLastError());
         return;
      }
         for(int n=0; n<(int)period_find; n++)
            {
               if(Buf_Arrow_Buy[n]!=EMPTY_VALUE)
               {
                  Last_Arrow_Buy_volume = iOpen(_Symbol,_Period,n);
                  Last_Arrow_Buy_time   = iTime(_Symbol,0,n);
                  Last_Arrow_Buy_index  = n;
                  Print("Last_Arrow_Buy_volume = ",Last_Arrow_Buy_volume,", Last_Arrow_Buy_index = ",Last_Arrow_Buy_index,", Last_Arrow_Buy_time = ",Last_Arrow_Buy_time);
                  break;
               }   
            }
         
   if (CopyBuffer(CrossAD, 2, 0, period_find, Buf_Arrow_Sell) != period_find)
      {  
         Print("НЕ удалось правильно скопировать данные из 2-го буфера индикатора iCrossAD, error code %d",GetLastError());
         return;
      }
         for(int n=0; n<(int)period_find; n++)
            {
               if(Buf_Arrow_Sell[n]!=EMPTY_VALUE)
               {
                  Last_Arrow_Sell_volume = iOpen(_Symbol,_Period,n);
                  Last_Arrow_Sell_time   = iTime(_Symbol,0,n);
                  Last_Arrow_Sell_index  = n;
                  Print("Last_Arrow_Sell_volume = ",Last_Arrow_Sell_volume,", Last_Arrow_Sell_index = ",Last_Arrow_Sell_index,", Last_Arrow_Sell_time = ",Last_Arrow_Sell_time);
                  break;
               }
            }
      
Comment("-------------------------", 
         "\n Last_Arrow_Buy_volume     = ",Last_Arrow_Buy_volume,
         "\n Last_Arrow_Buy_index        = ",Last_Arrow_Buy_index,
         "\n Last_Arrow_Buy_time         = ",Last_Arrow_Buy_time,
         "\n ---------------------- ",
         "\n Last_Arrow_Sell_volume     = ",Last_Arrow_Sell_volume,
         "\n Last_Arrow_Sell_index        = ",Last_Arrow_Sell_index,
         "\n Last_Arrow_Sell_time         = ",Last_Arrow_Sell_time
         ); 
  }
ファイル:
 
Sergey Voytsekhovsky:

両方の配列に対してArraySetAsSeries()を実行したのでしょうか?

Документация по MQL5: Операции с массивами / ArraySetAsSeries
Документация по MQL5: Операции с массивами / ArraySetAsSeries
  • www.mql5.com
//| Custom indicator initialization function                         | //| Custom indicator iteration function                              |
 
Artyom Trishkin:

両方の配列に対してArraySetAsSeries()を実行しましたか?

はい、両方ともです。

int OnInit()
  {
   ArraySetAsSeries(Buf_Arrow_Buy, true);
   ArraySetAsSeries(Buf_Arrow_Sell, true);
//---
   CrossAD = iCustom(asymbol.Name(), _Period, "iCrossAD");
   if (CrossAD == INVALID_HANDLE)
   {
      Print("Не удалось создать описатель индикатора iCrossAD!");
      return(INIT_FAILED);
   }
      else Print("Хендл iCrossAD = ",CrossAD);
//---
   return(INIT_SUCCEEDED);
  }

チャート上で並行して起動しているiCustomの インジケーターでは、メインチャートの矢印が表示 されないことに気づきました。理由となり得るか?

 
Sergey Voytsekhovsky:

はい、両方ともです。

チャート上で並行して起動しているiCustomの インジケーターでは、メインチャートの矢印が表示 されないことに気づきました。これが原因なのでしょうか、、、?

ループの中で、n==0のとき、バーnの時刻を表示します。

 
Sergey Voytsekhovsky:

はい、両方ともです。

チャート上で並行して起動しているiCustomの インジケーターでは、メインチャートの矢印が表示 されないことに気づきました。これが理由でしょうか?

インジケーターを取り外して元に戻したところ、矢印が表示されたが、EAにはまだ矢印が表示されない

 
Sergey Voytsekhovsky:

一度取り外してインジケータを元に戻すと、矢印が表示されるようになったが、EAにはまだ最後の矢印が表示されない

Expert Advisorをコンパイルしたところ、メインチャートのパラレルランニングインジケーターの矢印が消えてしまいました。ある種のホブゴブリンが始まったのか何なのか?