モラニスの誤植は? - ページ 4

 
WHRoeder:

WRONG あなたが投稿したリンク(https://book.mql4.com/variables/types)を読んで 気にしましたか?それは "グローバル変数は、特殊関数の実行を開始する前に一度だけ初期化さ れます。"と述べています。

グローバル変数と静的変数は、deinit/initサイクル中ではなく、EAがLOADされたときに設定されます。

Slippage = Slippage * 10 の直後に print 文を 追加して実行し、チャートまたは時間枠を変更してログを見てみてください。

Slippageはextern intで、その値はinit()毎に初期化されます。

PipMultiplierはGlobal intで、Molanis EAではこの値は変化しないので、TFやSymbolを変えたりEAのプロパティを開いてもPipMultiplierの 値は変化しない。

EAでF7を何度も押す

extern int Extern=3;

int Intern = 1;
bool Do_Once;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
  Alert ("Extern init = ",Extern);
  Alert ("Intern init = ",Intern);
  Do_Once = False;
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit(){return(0);}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
   
   if (Do_Once == false)
      {
      Do_Once = true;
      Extern = Extern*2;
      Intern = Intern*2;
      Alert ("Extern start = ",Extern);
      Alert ("Intern start = ",Intern);
      }
   
   return(0);
  }
//+------------------------------------------------------------------+
 
onewithzachy:

Slippageはextern intで、init()毎に初期化されます。

PipMultiplierはGlobal intで、モラニスのEAではこの値は変化しないので、TFやSymbolを変更したりEAのプロパティを開いてもPipMultiplierの 値は変化しない。

EAでF7を何度も押す


あなたのEAは、コードが意図したとおりに動作することを実証していますか?もし私があなたの言うことを正しく理解しているなら、Slippageはinit()の度に私の入力した値に戻ります。グローバルではPipMultiplier = 1ですが、init()の中ではFiveDigits = trueならPipMultiplier = 10...となり、init()毎に戻ります。Slippage = 3、FiveDigits = true の場合、PipMultiplier は常に 10 となりますか?30ポイント, 30ポイント, 30ポイント?
 
RJo:

あなたのEAは、コードが意図したとおりに動作することを実証していますか?もし私が正しく理解しているなら、Slippageはinit()の度に私の入力した値に戻るはずです。グローバルではPipMultiplier = 1ですが、init()の中ではFiveDigits = trueならPipMultiplier = 10...となり、init()毎に戻ります。Slippage = 3、FiveDigits = true の場合、PipMultiplier は常に 10 となりますか?30ポイント, 30ポイント, 30ポイント?

Molanisコードでは、PipMultiplierの値は同じで、5桁であろうがなかろうが、決して変わり ません。あなたが 知りたいのはSlippageの値だと思いますが、WHRoederへの返信の前に確認 しました。

init()でこれを変更し、Molanis EAを取り付け、F7を何度押してもSlippageの 値は変わりません。

   //if(FiveDigits)
   //  {
      PipMultiplier=10;
   //  }
   Slippage=Slippage*PipMultiplier;
   Alert ("Slippage ",Slippage);

:D

 
onewithzachy:

Molanisコードでは、PipMultiplierの値は同じで、5桁であろうがなかろうが、決して変わり ません。あなたが 知りたいのはSlippageの値だと思いますが、WHRoederへの返信の前に確認 しました。

init()でこれを変更し、Molanis EAを取り付け、F7を何度押してもSlippageの 値は変わりません。

:D


onewithzachyさん、私の暴走を止めてくれてありがとうございます。
 

こんにちは。私はMT4 ECN口座のためのダブルクロス移動平均のEAを構築したいいくつかの助けを。

最初のMA期間14シフト-7

第二MA期間14シフト-11

移動平均のすべてのクロスを購入し、販売し、閉じます。

私はオンラインで多くの指示を読みました。私はまだ完全な設定と売買とクロージングの成功した機能を持つ独自のEAを構築するのに戸惑っています。

私はこのEAの正しい設定をどのようにすればよいか、すでにプロフェッショナルな方々の助けを求めて います。

誰もがステップバイステップで助けることができる....私は感謝されます。