MetaTrader 4 Build 529 ベータ版リリース、新コンパイラー搭載 - ページ 124

 
VOLDEMAR:

全部英語で書いたほうがいいよ、海外のトレーダーに渡したら何もわからないから......。

ロシア人のためにコードを書くと、ロシア語で書けと言われる。そして、私がここでチェックするのは、自分自身のために書くのであって、ロシア語で書こうが火星語で書こうが関係ないのです。問題があれば、それを説明する。

Marketのために英語で書いています。

 
pro_:
stringo:

検索して見つけました

あなたの例を教えてください。


プライベートメッセージで書かせていただきました。私が直面している問題の例を挙げながら。ObjectFindはその問題を解決するための試みで、おそらくあなたの言うとおり



ObjectFind自体は 問題なく 動作します。

問題ははっきりしている。ObjectFind関数の 使用方法が間違っている。ObjectFind は、オブジェクトが見つかったサブウインドウの番号を返す。オブジェクトが見つからない場合は、-1 を返す。ゼロ - ゼロ "をチェックしています。
 
Night63:

こんにちは。

以下のような問題があることがわかりました。

我々は、4桁の引用符から5桁に切り替えるブロックを挿入します(コードは絶対に正常に動作し、それは数十のExpert Advisorでテストされています)。

ここからは、以下のようになります。

F7 を押して Expert Advisor の入力パラメータを表示させると、すべて正しく表示されます。

OKを押して、もう一度F7を押してください。

OKを押して、もう一度F7を押してください。

OKを押して、もう一度F7を押してください。

などなど......。

この不具合は、ビルドを更新しても消えません。異なるユーザーでも同じように表示されます。この話題は、こちらで 取り上げました


入力変数を変更することはできません

externの代わりにキーワード入力を使用すると、コンパイラはこのようなことをさせません。

昔の4倍速の機能を維持するために、何ができるかを考えてみる

PS この度はありがとうございました。

 
artmedia70:
そのため、将来的にはBarsは定義済み変数だけでなく、同じ名前の関数になります:Bars() ?

十分あり得ます。(ちなみにC/C++ではこれが許されています)。
 
stringo:

入力変数を変更することはできない!



ここで、入力変数が変更できないとはどういうことか、もう少し詳しく説明してください。

入力変数 input int TakeProfit = 300 ;

であれば、コードで別の値を与えることができるのですが......。

変更できないのに理解できない?

 

もう一つの質問ですが、マウスカーソルがbmpオブジェクト上にあることをプログラムで判断するにはどうしたらよいのでしょうか?

オブジェクトの下にカーソルが落ちる領域があり、カーソルがbmpオブジェクトの上にあると理解するようなコードを作りました ...

bmpオブジェクトの上にカーソルを定義する、よりシンプルな方法を探しているので質問させていただきました ...

 
VOLDEMAR:

ここで、入力変数を変更できないとはどういうことか、もう少し詳しく説明してください。

入力変数 input int TakeProfit = 300 ;

であれば、コード内で別の値を割り当てることができるのでは?

よくわからないのですが、いつから変えられないのでしょうか?

ソフトウェアの変更はできません。設定により、ユーザーのみ

入力 int TakeProfit = 300;

int takeProfit。

int start() {

takeProfit=TakeProfit;

// そして、takeProfitを修正する。

return(0)です。

}

 
artmedia70:

プログラムで変更することはできません。設定でユーザーによるもののみ。

入力 int TakeProfit = 300;

int takeProfit。

int start() {

takeProfit=TakeProfit;

// そして、takeProfitを修正します。

return(0)です。

}




ありがとうございました !!!今ならわかるよ.
 
VOLDEMAR:

ここで、入力変数を変更できないとはどういうことか、もう少し詳しく説明してください。

入力変数 input int TakeProfit = 300 ;

であれば、コード内で別の値を割り当てることができるのでは?

よくわからないのですが、いつから変えられないのでしょうか?

カスタムパラボリックの 例をご紹介します。

input double InpSARStep=0.02;    // Step
input double InpSARMaximum=0.2;  // Maximum
//---- buffers
double       ExtSARBuffer[];
//--- global variables
double       ExtSarStep;
double       ExtSarMaximum;

...

void OnInit()
  {
//--- checking input data
   if(InpSARStep<0.0)
     {
      ExtSarStep=0.02;
      Print("Input parametr InpSARStep has incorrect value. Indicator will use value",
            ExtSarStep,"for calculations.");
     }
   else
      ExtSarStep=InpSARStep;
   if(InpSARMaximum<0.0)
     {
      ExtSarMaximum=0.2;
      Print("Input parametr InpSARMaximum has incorrect value. Indicator will use value",
            ExtSarMaximum,"for calculations.");
     }
   else
      ExtSarMaximum=InpSARMaximum;

...

さらに、ExtSarStepとExtSarMaximumを使用します。

 
stringo:
確かなのは、すぐには無理だということです。


それは残念です。私の専門家は、このようなイベントを空気のように必要としているのです。

各ステップで、たくさんのポジションを調べて、どれがどこに行ったのか、なぜ行ったのかを考えなければなりません。