MQL5で学び、共に書く - ページ 20

 

MQL5のWrite and earnから 移管。



ホムチェンコ 2011.05.07 22:01

mql5でストップロスの値を変更する方法を教えてください。4でのやり方はすでに知っています。5のバージョンでロボットを改造しようとしたら、動かなくなった。


 
sergeev:

MQL5のWrite and earnから 移管。



ホムチェンコ 2011.05.07 22:01

mql5でストップロスの値を変更する方法を教えてください。4でのやり方はすでに知っています。5のバージョンでロボットを改造しようとしたら、動かなくなった。



この記事を読むトレーリングストップの作り方
 
テスターでは、ストキャスティックなどの必要な指標がないグラフが吐き出され、その後、追加しなければならないのですが、どうすれば、自動的に追加されるようになるのでしょうか?
 
customprogrammi:
テスターではストキャスティクスなど必要な指標がないグラフが吐き出されるので、後で追加する必要がある。

必要なテンプレートを使用します。テンプレートについては、ターミナルヘルプのMetaTrader 5チャートの操作テンプレートとプロファイル のセクションを参照してください。

ターミナルには、あらかじめいくつかのテンプレート名が用意されています。

  • default.tpl - 新しいチャートを作成するときに自動的に適用される基本テンプレート です。
  • tester.tpl -テスト 結果が表示される チャートに使用されるテンプレート です。
  • debug.tpl- MetaEditorから MQL5プログラムのデバッグを開始する際に作成されるチャートに適用されるテンプレートです。

必要なパラメータを持つテンプレートを作成(または既存のテンプレートを変更)するには、必要な方法でチャートを設定し、対応するコマンドを使用して必要な名前でテンプレートを保存します。

 
AUser:

どなたか、このテーマに関する事例や論文をご紹介いただけないでしょうか?

http://docs.mql4.com/ru/globals
Глобальные переменные - Документация на MQL4
  • docs.mql4.com
Глобальные переменные - Документация на MQL4
 
AUser:

クライアント端末のグローバル変数。


トピックを取り上げるべきヘルプに実例が載っていないんです。そのような変数を作る にはどうしたらいいのか考えています。今のところ、バリアントでエラーが出ています。

どなたか、例題、記事を提案していただけませんか?


https://www.mql5.com/ru/docs/globals

マニュアルを読めるようになろう、人が文字で書いているのに、それを無視する。

GlobalVariableSet("変数名",set_value)

グローバル変数 に新しい値を設定します。変数が存在しない場合、システムは新しいグローバル変数を作成 します。

 
AUser:

ありがとうございます、以上です。

非熱のダミーである私が、反転コンマを知っているわけがない)

mql5 Helpの例はありません))

datetime  GlobalVariableSet(
   string  name,      // имя
   double  value      // устанавлимое значение
   );

マニュアルには、グローバル 変数の名前は文字列で指定すると書いてあります、引用符は通常の文字列の指定方法です。

ルールを読むこと、それはルール だから。

このように設定することができます。

string  name="Глобальная_переменная";
double   value=123.0456;
GlobalVariableSet(name,value);
Документация по MQL5: Глобальные переменные терминала / GlobalVariableName
Документация по MQL5: Глобальные переменные терминала / GlobalVariableName
  • www.mql5.com
Глобальные переменные терминала / GlobalVariableName - Документация по MQL5
 
mql4で新しいバーの 開始を検出するプロシージャを持っています:
void Fun_New_Bar() // 検出フィー.
{ // ...新しいバー
static datetime New_Time=0; // 現在のバーの時間
New_Bar=false; // 新しいバーはない
if(New_Time!=Time[0]) // 時間を比較
{
New_Time=Time[0]; // 時間は今
New_Bar=true; // 新しいバーをキャッチ
}
} 全て
時計のように動きます

ここで mql5 でやり直してみると
void Fun_New_Bar() // detection f-iia // ...

{ // ... 新しいバー
static datetime New_Time=0; // 現在のバーの時間
New_Bar=false; // 新しいバーはありません
MqlTick last_tick;// 最後に受け取ったティックの価格
SymbolInfoTick(_Symbol,last_tick);// 現在のシンボルの価格で last_tick 構造体を埋めます。
if(New_Time!=last_tick.time) // 時間を比較
{
New_Time=last_tick.time; // 今の時間
New_Bar=true; // 新しいバーをキャッチ
}
}しかし
、何かNew_Bar変数がtick毎に真になっています。

新しいバー時間を何かしら間違って取得しているに違いないです。
Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
 
Khomtchenko:
しかし、New_Bar変数は毎ティックtrueになります。

新しいバーの 時間を間違って取得しているに違いありません。

なぜなら、毎回新しいティックタイムを取るので、当然ながら前回と同じにはならないからです。

また、前の関数ではバーの開始時刻を取得しましたが、ここでもティックタイムではなくバータイムを取得する必要があります。

 
疑っているわけではないのですが、念のため、mql4とmql5で同じEAを作成し、テスト結果を 比較された方はいらっしゃいますか?コードが正しく変換されていれば、パーフェクトシミラーになるはずなのですが?それとも私が間違っているのでしょうか?