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

 

こんにちは!コードに疑問があります。このイベントは、作業中のTFの新しいバー ごとに表示されます。TF - このようになるべきなのか、それともコードに誤りがあるのでしょうか?

//+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   ResetLastError();   
   datetime Arr[];
   if(CopyTime(NULL,PERIOD_M5,10,1,Arr)<=0) 
   {
      int error=GetLastError();
      Print("Ошибка 4401 возникает на новом баре раб.ТФ, который должен быть ниже М5 в данном случае ",error);
      Print("Почему запрошенная история не найдена ведь я обращаюсь всего лишь к 10-му бару старшего ТФ М5");
      return(0);
      }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
novichok2018:

また、Igor Kimの関数bool ExistPositions() は、ポジションの存在フラグを返すが、これは私の特定の条件に合わせるには少し複雑である。でも、物語の中で試されることもないと思うんです。

もし、誰も実際にテストしたコードを持っていなければ、私はそれを科学的に試してみるつもりです。ありがとうございます。

また私の知識が不足しているのか!?EURUSD の iOpen(NULL,0,0) を単純に代入すると、未宣言の識別子と 'number' から 'string' への暗黙の変換エラーが発生します。OrderSend(Symbol(),OP_BUY,LOT,Ask,slippage,0,TP,"",magic,0,Blue) でSymbol()を変更しても同じ; どうしたら直りますか?

 
novichok2018:

またしても私の知識不足ですiOpen(NULL,0,0) の NULL を EURUSD に置き換えるだけで、未宣言の識別子と 'number' から 'string' への暗黙の変換エラーが発生します。OrderSend(Symbol(),OP_BUY,LOT,Ask,slippage,0,TP,"",magic,0,Blue) で Symbol() を変更しても同じです。

倒置カンマを付け忘れてない?

 
novichok2018:

はい、そのようにイメージしていますが、履歴はユーロで表示されているのに、ユーロのポジションのオープンは ポンドの条件によって行われるはずで、ユーロのコードに反映されていないため、履歴上で動作するか確認することができません。それゆえ、その判断の正しさには不確実性があります。

それから、MQL5を勉強して、多通貨のバリエーションをテストする必要があります。

 
Alexey Viktorov:

それから、MQL5を勉強して、多通貨のバリエーションをテストする必要がありますね。

あ、遠慮しときます。MKL4やMKL5を徹底的に勉強することを目的にしているわけではありません。私の目標は、建てたポジションの95%で利益が出るようなシンプルなExpert Advisorを書くこと、そして、損失でポジションを閉じることを決める前に残高を全部引き出さないようにすることです。このようなExpert Advisorはいくつか持っていて、デモ口座で動作させていますが、毎回新しいアイディアが出てくるので、すぐにテストしたくなるのです。私は、コードはシンプルであればあるほど良いという意見に固執し、言語を掘り下げようとは思いません。とにかくまだだ!言語の徹底的な研究は、注文に応じて専門家を書いて お金を稼ぐという目的でのみ正当化される、とIMHOは考えています。

名言集ありがとうございます。まだ試していません、もう少し後です。

 
novichok2018:

.......私の目標は、オープンポジションの95%で利益を上げ、損失でポジションを閉じることを決定するまで、ぶら下がったマイナスが私の全体のバランスを消耗しない、自分自身のためのシンプルなExpert Advisorを書くことです....

世界中の95%のトレーダーが抱いている夢を、あなたは表現してくれました。しかし、言語の スペルや構文を 気にすることもないでしょう。うらやましいほどの自信、欲しいですね。もちろんIMHOです。

 
novichok2018:

あ、遠慮しときます。MKL4やMKL5を徹底的に勉強することを目的にしているわけではありません。私の目標は、建てたポジションの95%で利益が出るようなシンプルなExpert Advisorを書くこと、そして、損失でポジションを閉じることを決める前に残高を全部引き出さないようにすることです。このようなExpert Advisorはいくつか持っていて、デモ口座で動作させていますが、毎回新しいアイディアが出てくるので、すぐにテストしたくなるのです。私は、コードはシンプルであればあるほど良いという意見に固執し、言語を掘り下げようとは思いません。とにかくまだだ!言語の徹底的な研究は、注文に応じて専門家を書いて お金を稼ぐという目的でのみ正当化される、とIMHOは考えています。

名言集ありがとうございます。まだ試していないので、もう少し経ってから試してみます。

MQL5はMQL4より複雑ではありません。場合によっては、さらにシンプルで迅速な対応が可能です。OOPは初心者には虫のいい話でしかない。あなたが参照する簡単なExpert Advisorを書くためには、OOPのことを知る必要はありません。

書くのがどれだけ大変か教えてください

// MQL4

OrderSend(_Symbol, OP_BUY, lot, price, Slip, sl, tp, "", Magic);
// MQL5

#include <Trade\\Trade.mqh>
CTrade trade;

trade.Buy(lot);
 
Sergey Voytsekhovsky:

あなたは、世界のトレーダーの95%が抱いている夢を表現してくれました。しかし、言語の スペルや構文を 気にすることもないでしょう。うらやましいほどの自信、欲しいですね。もちろん、IMHOです。

でも、私のロボットはちゃんと動くし、私が説明したとおりの方法で動くので、問題ないです。

 
Alexey Viktorov:

MQL5はMQL4より複雑ではありません。そして場合によっては、さらにシンプルでスピーディになります。OOPは初心者にはホラーでしかない。あなたが言っているような簡単なExpert Advisorを書くためには、OOPの知識は必要ありません。

書くのがどれだけ大変か教えてください

おお、神よ!俺を殺したな機械的には第二版の方が書きにくくはないのですが、何もわかりません))。

 

こんにちは、MT4はいつまであるのでしょうか?1年か2年か?

少し本題から外れた質問で申し訳ありません(でも、私にとってはとても重要なことです)。