初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 135

 
せめて、どこで読めるかだけでも。お願いします。
 
Sergey Voytsekhovsky:

こんばんは。

質問です。

EAの入力パラメータに、テキストは表示されるがアクティブにはならない行を作る方法を教えてください。セクションを分けたい。例えば、「直接引用」と「逆引用」を用意したい。描画するために自由に使えるコード内を探しましたが、見当たりません。ありがとうございました。


2行目と5行目がInputsタブの小見出しのように見えるのはいいのですが、これらの行はアクティブで選択可能です。表示されているが、アクティブではない(選択できない)状態にするにはどうすればよいのでしょうか?

頭に "s "をつけて、次のようになります。

sinput 文字列 _____Main_____="_____Main_____";

 
Vladimir M.:

頭に's'をつけると、タイプになる。

sinput 文字列 _____Main_____="_____Main_____";

対応していただき、ありがとうございました。スを読み解きました。こんな感じです。

"sinput修飾子で宣言された変数は、MQL4プログラムの入力パラメータです。 このパラメータの値は、プログラム起動時に変更することができます。

コードで試してみたところ、最適化のためのオプションをチェックする可能性はなくなりましたが、Inputsタブの変数の値はまだ変更可能です、つまり、値を選択して変更することができます。

どこかのタブで、非アクティブな文字列があり、さらに淡く見え、マウスカーソルに全く反応しないのを見たことがあります。やり方がわからない。

 

Sergey Voytsekhovsky:

最適化のためのボックスにチェックを入れる可能性はなくなりましたが、Inputsタブの変数の値はまだ変更可能で、つまり値を選択して変更することができます。

どこかのタブで、非アクティブな文字列が あり、さらに淡く見え、マウスカーソルに全く反応しないのを見たことがあります。やり方がわからない。

質問の主旨はわかった、自分も気になる。追加できるのはenumで挿入することくらいです。

そうすると、何も挿入できない、何も変えられない、ただの空っぽの空間になってしまいます。

enum enum_Main {};
sinput enum_Main _____Main_____;
 

こんにちは、MT4でトレーダーが設定した現在値から一定のポイント数で一気に売買の保留注文を 出す、つまり手動でカウントせず、多分注文ウィンドウにも入力しないスクリプトはどこにあるか教えていただけませんでしょうか?自分でも探したのですが、見つかりませんでした。 多分、探し方が悪いのか、呼び方が悪いのか、まだスクリプトを扱ったことがなく、FXの取引を始めたばかりなので、その辺が残念です。

 

末尾のコードを整理するのを手伝ってください。

以下はそのコードです。

for(int i=0; i<OrdersTotal()-1; i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

if(OrderSymbol()==Symbol()||OrderMagicNumber()==Magic)の場合)

if(OrderType()==OP_BUY)

{

if(tral>0)

{

if(Bid-OrderOpenPrice()>tral*Point)

{

if(NormalizeDouble(OrderStopLoss()<Bid-tral,Digits))を実行します。

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-tral,OrderTakeProfit(),0,Green)を実行。

Print(" 末尾の修正エラー",GetLastError()).Print("Trailingmodification error",GetLastError());

}

}

}

}

if(オーダータイプ()==OP_SELL)

{

if(tral>0)

{

if(OrderOpenPrice()-Ask>tral*Point)

{

if((OrderStopLoss()>(Ask+tral) || (OrderStopLoss()==0)))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+tral,OrderTakeProfit(),0,Red)を実行しました。

Print("末尾の修正エラー",GetLastError()).Print("Trailing modification error",GetLastError());

}

}

}

}

}

}

問題は、テスト時にトロールが動作せず、エラーが発生しないことです。

 

皆さん、ごきげんよう。

MT4でブローカーとリアル口座で 取引しています。

会社でも、家でも、電話でも、このプラットフォームで取引しています。したがって、私がインジケータやレベルを置くと、仕事でも同じことをしなければなりません。

質問:1つのデスクトップ上の指標を適用し、別の場所に表示させる可能性(プログラム、ロボットまたは他のいくつかのバリアント)がありますか?

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

 
churkin:

皆さん、ごきげんよう。

MT4でブローカーとリアル口座で 取引しています。

会社でも、家でも、電話でも、このプラットフォームで取引しています。したがって、私がインジケータやレベルを置くと、仕事でも同じことをしなければなりません。

質問:1つのデスクトップ上の指標を適用して、別の場所に表示させる可能性(プログラム、ロボット、または他のバリアント)はありますか?

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

テンプレートを保存して、別の端末にコピーする必要があります。また、1つのチャートだけでなく、ターミナルで開いているすべてのチャートの設定を保存したい場合は、プロファイルを使用することもできます。

 

こんにちは。

チャートのタイムフレームを変更したり、EAの入力パラメータを変更したときに、静的変数を リセットするにはどうすればよいですか?

 
Asa saas:

こんにちは。

チャートのタイムフレームを変更したり、EAの入力パラメータを変更したときに、静的変数を どのようにリセットするのですか?

適切なパラメータのみを入力してください。

bool g_bIsInit;
int OnInit()
{
   g_bIsInit = true;
}

void MyFunction()
{
   static int nMyStatic = 0;
   if (g_bIsInit)
   {
      nMyStatic = 0;
      g_bIsInit = false;
   }
}

ですから、EAでスタティック変数を使う前に100回考える価値があります。スクリプトやインジケータではまた別問題です。