[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 266

 
hoz:

関数そのもののパラメータでは、次のようになる。

fi_Ticket = 0

通常、このような関数は、注文が選択された後、つまりチケットを持っている状態で呼び出されます。では、なぜデフォルト値をゼロに したのでしょうか?

このパラメータを指定せずに関数を 呼び出すと、if が 1 つも実行されず、関数の先頭が文字列になります。

RefreshRates();

さらに興味深いのは、その次の段階です。

if (fs_Symbol != bs_Symbol || fi_Ticket < 0)
{
   if (fi_Ticket > 0)
   {
      bs_Symbol = OrderSymbol();
   }
   else
   {
     bs_Symbol = fs_Symbol;
                  }
                  if (bs_Symbol == Symbol())
                  {
                      bi_SymDigits = Digits;
                      bd_SymPoint = Point;
                  }

変数fs_Symbolは 直ちにbs_Symbolと 比較される。

上記のbs_Symbolは fGet_MarketInfo()関数自体が呼び出される初期 化が行われていない。また、このbs_Symbolは 何のためにあるのでしょうか? もし、ライブラリがエラーなしでコンパイルされるのであれば。

もし、ライブラリがエラーなくコンパイルされるなら、変数bs_Symbolは グローバルレベルのどこかで宣言されている必要があります。そこで(あるいは他の関数で)その初期化を検索する必要がある......。

また、コンディションに
if (fs_Symbol != bs_Symbol || fi_Ticket < 0)

fi_Ticket < 0 なら、次にすることは...。

if (fi_Ticket > 0)
{
   bs_Symbol = OrderSymbol();
}

となり、すでに条件と矛盾している。コードの冒頭でfi_Ticket < 0の 条件が成立し、この条件の中でticket > 0が 成立している必要があります。論理はどこにあるのか?

注)fi_Ticket < 0 OR fs_Symbol != bs_Symbol という条件が成立していなければならない つまり、コードの最後にさらに if (fi_Ticket > 0) があれば、その代替入力条件だけが暗示されることになる。
 

こんにちは、皆さん!助けてください、私はこの意味を理解することができないようです)))

 
kera8383:

こんにちは、皆さん!助けてください、私はこの意味を理解することができないようです)))

まずはFAQから
 
tara:

おそらく、許容できないほど小さなStopLossとTakeProfitの値を使用しているのでしょうが、それは単なる推測です。情報が少ない。


いいえ、私のストップは大きいです、私は下の値を持っています。

         SL=Ask + StopLoss*Point;     // значение StopLoss = 375
         TP=Ask - TakeProfit*Point;   // значение TakeProfit = 550
 
paladin80:

OrderSendの内部でストップを正規化しない。RefreshRatesの前に行い、代用する。これらの値が正しいことを確認するために印刷する。ちなみに、ストップ付の注文を受け付けない証券会社もあるので、ストップなしでポジションを建てることを覚えましょう。1を設定した後、ストップを修正する - それは通過します。

非常に小さな滑り=2.例では 3が出ますが、これは4桁の見積もりでの話です。このようなEAを5桁の気配値に設定した場合、スリッページは0.2ポイントになります。間違いなくエラーは出るでしょう。

賢明なアドバイスに感謝します。エラーを修正しました。理由は簡単で、アルパリ証券会社とECN デモ口座の種類です注文を開いてから修正する必要がある。
 
陽気ぐらし皆さん、助けてください、こんな問題があるんです...。私はアルパリでFXロボットをテストしています、他の証券会社では動作しています。ちょっと調べてみたら(もちろん私も緊張しました...ぴぃ)、計算で使っているRSIという指標の指標が、アルパリで同じ指標を表示しているものと少し違うことに気がつきました。トラブル......その差は「ミクロン :)」ですが、うー、EAを変えるには十分な差です。みんな、このようなことを修正する方法をアドバイスしてください。
 
laveosa:
一陽来復紳士淑女の皆様へお願いです。私はアルパリでFX Expert Advisorをテストしていますが、他の証券会社を使っています。デモで3週間ほど使っていますが、結果が違います。ちょっと調べてみたら(もちろん私も緊張しました...ぴぃ)、計算で使っているRSIという指標の指標が、アルパリで同じ指標を表示しているものと少し違うことに気がつきました。トラブル......その差は「ミクロン :)」ですが、うー、EAを変えるには十分な差です。みんな、このようなことを修正する方法をアドバイスしてください。


DCによって見積もりは異なります。デモ-リアルから-も。指標は同じです。

これから遊ぶ証券会社の履歴で、エキスポやインジケーターのパラメーターをテストして確認する必要がある...。

そして、エキスポはリアルに調整しなければならない(エラー処理とか...)。

 
StringSetCharが動作しないので、": "を". "に置き換えてください。

                        string    Object_Date_Secnd = TimeToStr(Object_Time,TIME_SECONDS);

                        for(int s1=0; s1<StringLen(Object_Date_Secnd); s1++) {
                           if(StringGetChar(Object_Date_Secnd,s1)==':' ) {
                              StringSetChar(Object_Date_Secnd,s1, '.');
                           }
                        }


- なぜ交換がうまくいかないのか?

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

 
アルパリでTSが違ったとしても、他の証券会社で同じ結果をもたらすとは限らないということですね。また、例えばアルパリのように履歴が完全でない場合、他の証券会社でどのように調整すればいいのでしょうか。もっと身近なところでは、他の証券会社の指数を、例えばアルパリの指数と同じになるように調整することは可能なのでしょうか?
 
laveosa:
アルパリでTSが違ったとしても、他の証券会社で同じ結果をもたらすとは限らないということですね。また、例えばアルパリのように履歴が完全でない場合、他の証券会社でどのように調整すればいいのでしょうか。もっと身近なところでは、他の証券会社でインジケーターを調整して、例えばアルパリと同じ結果になるようにできるでしょうか?

できますよ~、それだけです...。そのような設定ができると便利だと思います。MetaQuotesのストーリーをご覧ください。