[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 455

 
neon51r:


フィボナッチラインを完成さ せることは可能なのでしょうか?


これらの線がチャートに引かれると、そのレベルの価格が自動的にレベルに対して書き込まれることになる。

そして、ファイバーが伸びるにつれて自動的に変化 します

もちろん、できますよ。
 
Vinin:


絵を描くこと


ありがとうございます!それと、何を直したのか、教えてください。コードの比較は苦手
 
VladislavVG:
もちろんできます。なぜ動かないのですか?

みんな))mqlがわからない

何を掘ればいいのか、どのファイルを編集すればいいのか、教えてください。

 
neon51r:

みんな))mqlがわからない

何を掘ればいいのか)、どのファイルを編集すればいいのか、教えていただけませんか?

あなたの選択です。

  1. 仕事内容

  2. ワークブックと ドキュメント
 
Reshetov:

選べるように。

ありがとうございました)

すべて決定。ありがとうございます:%)

 
sss2019:

ありがとうございます!何を直したのか、教えてください。コードの比較は苦手

double mass1[];
double mass2[];
 

その技術的な実装についてアドバイスをお願いします。

ワークステーションのインターネット接続が失われた場合、ワークステーションに接続されている電話機またはgsmモデム(同じ)は、SMSメッセージを送信するのでしょうか?

 
solar:

その技術的な実装についてアドバイスをお願いします。

ワークステーションのインターネット接続が失われた場合は、ワークステーションに接続(同じ)電話またはgsm -モデム、SMSメッセージの送信を実行?

ICQにメッセージを送るプログラムがあったんです。ファイルと説明のあるページ ... https://www.mql5.com/ru/code/10352

Expert Advisorのコードでは、インターネットが壊れたときにメッセージを送信し、接続の機能をレイアウトすることができます....

[Deleted]  
ilunga:
まさに

スクリプトを少し修正しました。

//+------------------------------------------------------------------------------------------+
//|                                                                     ArraySetAsSeries.mq4 |
//+------------------------------------------------------------------------------------------+
//|                         script program start function                                    |
//+------------------------------------------------------------------------------------------+
//------------------------------------ НАЧАЛО START -------------------------------------- 1 -
int start()                                                              //функция start
  {                                                                      //начало start
   double Timestart=GetTickCount();                                      //переменная, с помощью которой вычисляется время (в милисекундах) начала выполнения скрипта
   double array1[][6];                                                   //объявляем массив-источник (массив, из к-о будут скопированы данные)
   double array2[][6];                                                   //объявляем массив-приемник (массив, куда будут скопированы данные), к-й на
                                                                         //момент объявления заполнен некоторыми данными
   int element_1=ArrayCopyRates(array1);                                 //копируем данные баров текущего графика в массив array1 
   int element_2=ArrayCopy(array2,array1,0,0,WHOLE_ARRAY);               //копируем данные всех баров в пользовательский массив
   bool element_3=ArrayGetAsSeries(array2);                              //проверка: является ли массив array1 массивом-таймсерией
   bool try_1=ArraySetAsSeries(array2,false);                            //устанавливаем НАПРАВЛЕНИЕ индексирования массива  
   bool element_4=ArrayGetAsSeries(array2);                              //проверка: является ли массив array2 массивом-таймсерией
   double element=array2[0][1];                                          //получаем значение цены открытия нулевого бара
//----------------------------------------------------------------------------------------- 2 -
   Comment("\nФункция ArrayCopyRates(array1) вернула: ",element_1,
           "\nФункция ArrayCopy(array2,array1,0,WHOLE_ARRAY) вернула: ",element_2,
           "\nФункция ArrayGetAsSeries(array2) вернула: ",element_3,
           "\nФункция ArraySetAsSeries(array2;false) вернула: ",try_1,
           "\nФункция ArrayGetAsSeries(array2) вернула: ",element_4,
           "\nЦена открытия нулевого бара (т.е. бара с ИНДЕКСОМ 0) равна: ",element,
           "\nСкрипт выполнялся всего ",GetTickCount()-Timestart," миллисекунд, из них: ",
           MathFloor((GetTickCount()-Timestart)/1000)," секунд ",((GetTickCount()-Timestart)/1000-MathFloor((GetTickCount()-Timestart)/1000))*1000,
           " миллисекунд");//печать сообщения на экран
//----------------------------------------------------------------------------------------- 3 -
   return(0);                                                             //выход из start
  }                                                                       //конец start
//-------------------------------------- КОНЕЦ START -------------------------------------- 4 -

その結果、以下のようになりました。


この場合、ArrayCopyRates(array1)関数を使って、現在のチャートのバーのデータを2次元の配列array1にコピーしたのですが、自然に疑問が湧いてきました。そして次の行で関数ArrayCopy(array2,array1,0,0,WHOLE_ARRAY)で、array1のデータをarray2にコピーしているのですが、array1のデータをarray1にコピーすることはできません。そして、ArrayGetAsSeries関数を使って、array2が配列-時系列であるかどうかをチェックしました。そして、(スクリーンショットから分かるように)配列は時系列配列であることが判明しました。しかし、私は以前にArraySetAsSeries関数でそれを「処理」していませんでした。

質問:最初のケース(前の質問)では、ArraySetAsSeries関数を使用する必要があったのに(私の配列を時系列配列として整理するため)、今回のケースではそのような処理を必要としないのはなぜですか?

P.S. しつこくてすみません。ただ、「歴史の隙間」を作らないように、完全に理解したいだけなんです。これまでのご返信ありがとうございました。

 
7777877:

スクリプトを少し修正しました。


double array1[][6];                                                   //объявляем массив-источник (массив, из к-о будут скопированы данные)
double array2[][6];                                                   //объявляем массив-приемник (массив, куда будут скопированы данные), к-й на
さっそく質問です。なぜ配列が2次元なのですか?