初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1300

 
Vladimir Karputov:
 m_trade.SetExpertMagicNumber(InpMagic);

はい、そうです。論理的なミスでメソッドが呼び出されないことが判明しました。返信ありがとうございました。


もう一つ質問です。クラスメソッドの 内部で、同じクラスの別のメソッドを呼び出すにはどうしたらよいのでしょうか(.mqhファイル内)。

構成がうまくいかない。

void CTradeMT45::CloseAll(int OrderType) {

CloseOrder(ticket);

}

void CTradeMT45::CloseOrder(ulong ticket){

}
 
Ildar Yusupov:

はい、そうです。論理的なミスでメソッドが呼び出されないことが判明しました。返信ありがとうございました。


もう一つ質問です。クラスメソッドの 内部で、同じクラスの別のメソッドを呼び出すにはどうしたらよいのでしょうか(.mqhファイル内)。

構成がうまくいかない。

ここでヒント:「注文」という言葉を忘れる(「保留中の注文」のみ可)ことで、すぐにすべてのロジックが揃うようになります。

 
Vladimir Karputov:

アドバイス:「注文」という言葉は忘れてください(「保留中の注文」しか使えません)。そうすれば、すべての論理はすぐにうまくいくでしょう。

オーダー」ではなく、mt5では「注文」と表記するのが正しいでしょう。本質的には似ているのですが

 
Valeriy Yastremskiy:

Orderの代わりに、mt5ではOrderを使うのが正しいです。似たような言葉ではありますが。

MetaTrader5には成行注文もあります。取引プラットフォームの注文システムに不可欠なものを、「宗教上の理由」であきらめるわけにはいきません。

MT5で注文がある。そして、それらは履歴に表示されます。そして、知識のある人が自分のために利用するような情報まで載せているのです。

もっと仕組みを知って、正確にはオーダーという名称を鵜呑みにしなければいいんです。取引注文である。ポジションにつながる残りのメタモルフォーゼの連鎖の起点となるものです。保留中の注文は別のものです。また、注文に起因するもの、いわば「条件付き注文」であることもある。

注文が執行 されると、成行注文が現れ、ポジションを発生させたり、変更したりする取引に変化します。記憶が正しければ、注文からポジションを閉じるまでの一連のイベントの履歴をすべて見たのは、ずいぶん前のことです。でも、私が徹底的に取引していたときは、今の記憶が確かなら、まさに「注文→成行注文→取引→ポジションの開始・変更・決済」という流れでしたね。

そして、そうです。これらは密接に関連した言葉ではなく、英語からロシア語への翻訳なのです。オーダー == オーダー

 
Artyom Trishkin:

MetaTrader 5には成行注文もあります。取引プラットフォームの注文システムに不可欠なものを「宗教上の理由」であきらめるわけにはいかない。

MT5で注文がある。そして、それらは履歴に表示されます。そして、知識のある人が自分のために利用するような情報まで載せているのです。

もっと仕組みを知って、正確にはオーダーという名称を鵜呑みにしなければいいんです。取引注文である。ポジションにつながる残りのメタモルフォーゼの連鎖の起点となるものです。保留中の注文は別のものです。また、注文、いわば条件付注文に分類されることもある。

注文が執行 されると、成行注文が現れ、ポジションを発生させたり、変更したりする取引に変化します。記憶が正しければ、注文からポジションを閉じるまでの一連のイベントの履歴をすべて見たのは、ずいぶん前のことです。でも、私が徹底的に取引していたときは、今の記憶が確かなら、まさに「注文→成行注文→取引→ポジションの開始・変更・決済」という流れでしたね。

そして、そうです。これらは密接に関連した言葉ではなく、英語からロシア語への翻訳なのです。Order == オーダー。

どうやら私は英語を話していないようです。決して概念のすり替えを求めているわけではありません。ただ、正しく理解するために、言葉を置き換えてください。そして、説明するときに代入を使うこと。そして、既存の概念を利用すること。

トレーディングでは訳語として使われる。そして、ロシア語で令状とは、生産を実行するための命令である。生産指示は、通常、生産指示です。

 
Valeriy Yastremskiy:

どうも私は口下手なようです。決して概念の置き換えを訴えているわけではありません。正しく理解するために言葉を置き換えるだけ。そして、説明するときに代用品を使うこと。そして、既存の概念を利用すること。

トレーディングでは訳語として使われる。そして、ロシア語で令状とは、生産を実行するための命令である。生産指示は通常

プロダクションで実行する命令を、ナリヤードと呼びます。場所によっては、オーダー・オーダー、オーダー・アサインメントと呼ばれることもあった...。

商品の発売には、いつも委託書しかなかった。そして、令状は通常、逮捕のために発行されました...または、捜索のために発行されました...どちらを書くべきでしょうか)))))))))))))))))))))))))))))))))

悪いことばかりではない......という令状も出ていた。私は2つ持っているのですが・・・。

 

インジケーターがどんな無意味なものを出しているのかがわからない。次の10本のローソク足のうち、どのローソク足がジグザグに尖っているかをチェックしたい。同じローソク足で高値だけをハイライトしたり、安値だけをハイライトしたりしたい。0のバッファではすべてのローカルピーク、1のバッファではハイ、2のバッファではローであることは知っています。

ここで何が問題なのか?理解できない。チャート上のインジケータの設定と、コールに渡すインジケータの設定を確認しましたが、同じものでした。動作確認のため、メインバッファのゼロを表示するのみです。

input int ExtDepth = 40;
input int ExtDeviation = 5;
input int ExtBackstep = 3;

double zz = 0;
double zi_0[];
double zi_1[];
double zi_2[];
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   ArraySetAsSeries(zi_0,  true);
   ArraySetAsSeries(zi_1,  true);
   ArraySetAsSeries(zi_2,  true);
   zz = iCustom(_Symbol,PERIOD_CURRENT,"Examples\\ZigZag",ExtDeviation,ExtDeviation,ExtBackstep);
   
   CopyBuffer(zz,0,0,10,zi_0);
   CopyBuffer(zz,1,0,10,zi_1);
   CopyBuffer(zz,2,0,10,zi_2);
   
  
  for(int i = 0; i < 10; i++)
     {
       Print(i,"  ",zi_0[i]);
     }
   
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {

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


 
Nikita Chernyshov:

インジケーターがどんな無意味なものを出しているのかがわからない。次の10本のローソク足のうち、どのローソク足がジグザグに尖っているかをチェックしたい。同じローソク足で高値だけをハイライトしたり、安値だけをハイライトしたりしたい。0のバッファではすべてのローカルピーク、1のバッファではハイ、2のバッファではローであることは知っています。

ここで何が問題なのか?理解できない。チャート上のインジケータの設定と、コールに渡すインジケータの設定を確認しましたが、同じものでした。動作確認のため、メインバッファのゼロだけを出力しています。


0」バッファでは、ピーク=ピーク値、つまり「0」です。「0」は、ピークでないバーたちです。

 

こんにちは。

問題はこれだ。Strategy Testerで作業すると、Expert Advisorが必要なポジションの情報をファイルに保存してくれます。ファイルは、
"<terminal_folder>Tester</testing_agent_name></MQL5>Files......" というフォルダに保存されます。

後日、同じデータファイルをチャート上だけで使いたいのですが(テスターでは使いません)。この端末では、フォルダー内のファイルを操作することができます。

"<terminal_folder></terminal>Files... ...".

MQL5のコードでExpert Advisorがアップロードしたファイルを「<Terminal_folder>\Tester</Testing_agent_name> MQL5Files」のフォルダーにドラッグすることは可能ですか? それとも、Strategy Testerと通常の作業ではこの辺が厳密に分かれて いるのでしょうか?

Strategy Testerから"<Terminal_folder><MQL5><Files>" に全て書き込んだり、FileMove メソッドでコピー することはできていないです。

 
satorifx:

こんにちは。

問題はこれだ。Strategy Testerで作業すると、Expert Advisorが必要なポジションの情報をファイルに保存してくれます。ファイルは、
"<terminal_folder>Tester</testing_agent_name></MQL5>Files......" というフォルダに保存されます。

後日、同じデータファイルをチャート上だけで使いたいのですが(テスターでは使いません)。この端末では、フォルダー内のファイルを操作することができます。

"<terminal_folder></terminal>Files... ...".

MQL5のコードでExpert Advisorがアップロードしたファイルを「<Terminal_folder>\Tester</Testing_agent_name> MQL5Files」のフォルダーにドラッグすることは可能ですか? それとも、Strategy Testerと通常の作業ではこの辺りが厳密に分かれて いるのでしょうか?

Strategy Testerから"<Terminal_folder><MQL5><Files>" に全て書き込んだり、FileMove メソッドでコピー することはできていないです。

全端末のSharedフォルダに書き込む(FILE_COMMON フラグ)