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

 
Karputov Vladimir:
ですから、プリント枚数を増やしてアルゴリズムの行く末を見守る価値はあると思います。
TFを変更するとそこにあるわけですが、そこにさらにプリンターを追加するには、他にどこがあるかわかりません......。
 

MT4の880ビルドをインストール - エラーなしでコンパイルされますが、ターミナルがクラッシュします(古いビルドは正しく動作します)。

別のターミナルを起動し、そこで古いビルドでコンパイルした後、新しいビルドでターミナルを起動 し、EAを変更しようとするとエラーが発生する(エディタを起動する) 2015.09.19 22:23:11.272 MetaEditor not found - terminal modeで起動する。

EA起動時のエラー

2015.09.19 22:29:49.948 2014.01.20 21:30 Kamikadze_MA_V_04_42_Fibo_04.ex4 GBPUSD,M15: OrderSend error 4051

2015.09.19 22:29:49.948 2014.01.20 21:30 Kamikadze_MA_V_04_42_Fibo_04.ex4 GBPUSD,M15: OrderSend 関数の金額が無効です。


 
-Aleks-:

MT4の880ビルドをインストール - エラーなしでコンパイルされますが、ターミナルがクラッシュします(古いビルドは正しく動作します)。

別のターミナルを起動し、そこで古いビルドでコンパイルした後、新しいビルドでターミナルを起動 し、EAを変更しようとするとエラーが発生する(エディタを起動する) 2015.09.19 22:23:11.272 MetaEditor not found - terminal modeで起動する。

EA起動時のエラー

2015.09.19 22:29:49.948 2014.01.20 21:30 Kamikadze_MA_V_04_42_Fibo_04.ex4 GBPUSD,M15: OrderSend error 4051

2015.09.19 22:29:49.948 2014.01.20 21:30 Kamikadze_MA_V_04_42_Fibo_04.ex4 GBPUSD,M15: invalid lots amount for OrderSend function.


А

#property strict
は、コードの中に入れているのですか?
 
Karputov Vladimir:

А

コードに入れる?
はい - もちろんです!840ビルドにロールバックしなければならなかった - より正しく動作するようになりました。
 
変数名生成でグローバル変数を 作成する方法を教えてください。"変数名_マジックナンバー "となるはずです。
 
-Aleks-:
変数名生成でグローバル変数を 作成する方法を教えてください。"変数名_マジックナンバー "となるはずです。
することもできますし、次のようにガイドすることもできます:変数
 
Karputov Vladimir:
することもできますし、次のようにガイドすることもできます:変数
回答がよくわからないのですが......質問を明確にさせてください。私は、外部変数Magic(その値はユーザーによって設定される)があるコードを持っています。私は、統計計算を行うプログラム内部のアルゴリズムがあり、その最後の値はアルゴリズムの開始にとって重要であるため、ターミナルのオン/オフ後のシステムの相対的安定性を保証する必要があります。計算データを格納するためにグローバル変数を取ることにしたが、それは特定のEAに束縛されるべきもので、マジックで束縛するのが論理的である。そこで質問ですが、新しい変数名を正しく生成するにはどうしたらよいのでしょうか?
 
-Aleks-:
回答がよくわからないのですが......質問を明確にさせてください。プログラム内部に統計計算を行うアルゴリズムがあり、そのアルゴリズムを実行するために最後の値が重要であるため、ターミナルを有効/無効にした後のシステムの相対的安定性を確保する必要があります。計算データを格納するためにグローバル変数を取ることにしたが、それはあるEAに束縛されるべきもので、マジックで束縛するのが論理的で、その結果「グローバル変数名+マジック」変数名が得られる。そこで質問ですが、新しい変数名を正しく生成するにはどうしたらよいのでしょうか?

安定性と、ユーザーが編集できる外部変数というのは、すでに相容れない条件です。例:最初の実行 - ユーザーが外部変数を変更した場合、コード内でこの接頭辞にバインドしています。端末が再起動し、ユーザーが外部変数を再度変更する。どうするんですか?

あなたのアルゴリズムでは、最後に計算された値(再開後に非常に重要な値) - それはどのようなタイプですか?ダブル?そうでない場合は、すでに問題が発生していることになります。

 
Karputov Vladimir:

安定性と、ユーザーが編集できる外部変数というのは、すでに相容れない条件です。例:最初の実行 - ユーザーが外部変数を変更した場合、コード内でこの接頭辞にバインドしています。端末が再起動し、ユーザーが外部変数を再度変更する。どうするんですか?

あなたのアルゴリズムでは、最後に計算された値(再開後に非常に重要な値) - それはどのようなタイプですか?ダブル?そうでなければ、すでに問題があることになります。

まあ、ユーザーは私ですから、必死に何かを変えるということはないはずなのですが。他にどのような選択肢があるのでしょうか?initに再計算を入れ、正しい値を検索する?

変数はintですが、doubleを使うこともできます - 重要ではありません - 整数を格納するのです。

 
-Aleks-:
...なぜなら、プログラム内部には統計計算を行うアルゴリズムがあり、そのアルゴリズムを実行するために最後の値が重要だからです。計算データを格納するためにグローバル変数を取ることにしましたが、それはあるEAに束縛されるべきで、マジックで束縛するのが論理的です。このようにすると、「グローバル変数名+マジック」という変数名が生成されます。そこで質問ですが、新しい変数名を正しく生成するにはどうしたらよいのでしょうか?

何がいけないんですか?:

   string strText="rezult";
   string strGlobalVariableName=strText+"_"+inpMagic;
理由: