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

 
msl271170: Expert Advisor を停止し、新しいローソク足が表示されたときに開始する方法を教えます。

ターミナルにMoving Average.mq4Expert Advisorの例が ありますが、これです。

//--- go trading only for first tiks of new bar
   if(Volume[0]>1) return;

別の作品でも見たことがあります。

datetime LastTime;  // Время начала тика для побарного режима
void OnTick()
{
  if (Time[0] == LastTime) return;
  LastTime = Time[0];
........
}
 
msl271170: MT5はプログラミング言語が違うとのことですが、どのように違うのですか?私のコードはそこで動作しないのでしょうか?

MT4Ordersを 使用する- MetaTrader 5用ライブラリ

 

CopyTimeを 理解しようとしているのですが、DayData[]が記入されないのが理解できません(丸められた日付を一日分表示したいのです)。以下に例を追加しましたので、間違いに気づかれた方がいらっしゃいましたら、ご指摘、訂正をお願いします。

datetime Data[3]={D'2017.09.22 08:05',D'2017.09.22 10:05',D'2017.09.22 12:05'};
int count=0;
datetime DayData[];
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   count++;
   
   if(count<4)
     {
      int copied=CopyTime(NULL,PERIOD_D1,Data[count-1],1,DayData);
      ArrayResize(DayData,count);
      Print("0 Data[",count-1,"]= ",Data[count-1]," DayData[count-1]= ",DayData[count-1]); // 1 control
     }

   for(int i=0; i<ArraySize(DayData);i++)
      Print("1 Data[",i,"]= ",Data[i]," DayData[i]= ",DayData[i]);  // 2 control

  }
//+------------------------------------------------------------------+
 

ページ全体が空の投稿になる(フォーラムエラー)。削除せざるを得なかった。

 

皆さん、ごきげんよう。


Evgeniy Zhdanovの本でmql4を少しずつ勉強しています。

エンベロープ、ジグザグの応用例について説明しています。

そこでは、Envelopesと ZigZagのインジケータ データを受け取るためのiCustomとiEnvelopesの関数が説明されています。

他の指標を説明するよりも、どこで情報を見つけ、データを学ぶことができるのか、アドバイスいただけますか?

どの機能がどの指標で表現されているのかを知ることができる資料へのリンクはないでしょうか?

それとも、ヘルプに書いてあるのか?

事前に心から感謝しています

 
Список функций языка MQL4 - Справочник MQL4
Список функций языка MQL4 - Справочник MQL4
  • docs.mql4.com
Читает из файла типа CSV строку одного из форматов: "YYYY.MM.DD HH:MM:SS", "YYYY.MM.DD" или "HH:MM:SS" - и преобразует ее в значение типа datetime
 
Taras Slobodyanik:

iRsiとiBandsを見る

https://docs.mql4.com/ru/function_indices


本当にありがとうございました。


スキューバダイビングの道具を手に入れ、いざダイビングへ!

 

また、こんな疑問もあります。

以下のExpert Advisorが規定されています。

ZigZagがEnvelop2枚より少ない場合-買いを開く。

ZigZagがEnvelop2枚より大きい場合 - Sellを開く。

次に、EAによって注文が出された場合、注文を「テイクストップ」と「ストップ」で変更します。

コンパイル時のエラーはありません。

そしてここが問題なのですが、どうテストしてもストラテジーテスターは 常に最初の買い注文を開いてしまい、テスターは頑なに修正を拒みます。さらに、すべての注文は、完璧に修正され、何の問題も生じないSellのみオープンします。

コードに何らかの誤りがあるのでしょうか?

それともテスターの機能なのでしょうか?私はいつもどの日を選んでも「使用日」からスタートし、最初に購入する順番はいつも変更不可にしています。それから、修正された私のすべての売り注文は、問題なく動作しています。

これに関する情報はまだ見つかっていません。

ご丁寧にありがとうございました

 

でテスターの結果が異なるのはなぜですか?

extern bool Tral =true;

...

void OnTick()

{

    if (Tral)Trailing();....

と、Tralが外部変数に移動せず、単に同じ関数を同じ変数で使用する場合。

void OnTick()

{

   Trailing();


 
RichLux:

なぜ、テスターの結果が異なるのですか?

試してみてください。

input bool Tral =true;

...それとも本当にexternが必要なのでしょうか?