ライブラリ: Symbol - ページ 11

 

チャレンジ

CLONE(SYMBOL_FORMULA)

は疑問です。通常、MQL5のカスタムシンボルはバーとティックを自分で計算するため、数式を転送すると新しいシンボルを管理できなくなる。アイデア(修正要求)は、数式を持つ合成からカスタムシンボルを構築することです。

このクローンをコメントアウトしたのですが、数式がプロパティに表示されなくなったにもかかわらず、出来上がったカスタム・シンボルは、合成バーのクローンを、ある種のぐちゃぐちゃにした形でクローンしているようです。何が起こっているのか、まだ理解できない。

ZЫ.ジェネレーター・プログラムを削除したが、それによって生成されたカスタム・シンボルは、それが作成されたベースとなった合成と同期してティックで更新され続けている。ポルターガイスト端末に不具合がある。

 
Stanislav Korotky #:

課題は疑問だ。通常、MQL5のカスタムシンボルは自分でバーやティックを計算するため、数式を転送すると新しいシンボルを管理できなくなる。アイデア(fiche-request)は、数式を持つ合成からカスタムシンボルを構築することです。

確かに完全なクローンを作成する価値はないかもしれません。

現在、このクローンをコメントアウトしていますが、数式がプロパティに表示されなくなったにもかかわらず、出来上がったカスタム・シンボルは、合成バーのクローンを、ある種のぐちゃぐちゃにした形でクローンしているようです。何が起こっているのか、まだ理解できない。

ZЫ.ジェネレーター・プログラムを削除したが、それによって生成されたカスタム・シンボルは、それが作成されたベースとなった合成と同期してティックで更新され続けている。ポルターガイスト端末の不具合がある。

残念ながら、バグがたくさんある。

 

fxsaber

ターミナルを再起動した後、テスターがカスタムシンボルのポジションを開かなくなることがある。

または利益がゼロになります。

何が関係しているのでしょうか?

ファイル:
4y48yl.PNG  32 kb
y4xlvu2.PNG  35 kb
 

ターミナルの再起動前と再起動後のシンボルの通貨を見てください...

以前、カスタム通貨を自動的に復元するサービスを書いたことがある。

 
fxsaber #:

ターミナルを再起動する前と後のシンボルの通貨を見てください。

以前、カスタム通貨を自動的に復元するサービスを書いたことがある。

今、ターミナルから作成したカスタムシンボルをすべて削除しても、カスタムベースのフォルダを削除しても、失敗したカスタムシンボルは作成されたままだ。

私は以下のコードでカスタムシンボルを作成しています。

// テスターを高速化するために、シンボルのコピーを作成する。
#property script_show_inputs

#include <Symbol.mqh>

void OnStart()
{
  const SYMBOL Symb("TESTER_" + _Symbol); // シンボルの作成

  if (Symb.IsExist()) // シンボルが作成された場合
  {
    Symb = _Symbol; // メインシンボルからすべてのプロパティとバー履歴(カスタムの場合はティック履歴も)をコピー - clone

    // シンボルの通貨を口座の通貨にする
    Symb.SetProperty(SYMBOL_CURRENCY_PROFIT, AccountInfoString(ACCOUNT_CURRENCY));
    Symb.SetProperty(SYMBOL_CURRENCY_MARGIN, AccountInfoString(ACCOUNT_CURRENCY));

    if (Symb.On()) // マーケット・ウォッチに含まれるもの
      ChartOpen(Symb.Name, PERIOD_CURRENT); // 新しいシンボル・チャートを開く
  }
}

もしあなたのサービスがこの問題を解決するものであれば、ぜひ教えてください。

 

今、新しい仮想環境にターミナルをインストールしましたが、問題は同じです。

最新のビルドに何かあるのでしょうか?

 

問題を見つけました

という名前のシンボルを作成 すると

EURUSD_1

すべて正常です。

もし

1_EURUSD

地獄が起こる。

ファイル:
1.PNG  90 kb
2.PNG  91 kb
 
EgorKim カスタムシンボルの 通貨が自動変更される問題の解決。
// このサービスは、すべてのカスタム文字の通貨を修正します。
#property service

bool CorrectCurrency( const string Symb, const string Currency )
{  
  return(SymbolInfoInteger(Symb, SYMBOL_CUSTOM) && 
         CustomSymbolSetString(Symb, SYMBOL_CURRENCY_BASE, Currency) &&
         CustomSymbolSetString(Symb, SYMBOL_CURRENCY_MARGIN, Currency) &&
         CustomSymbolSetString(Symb, SYMBOL_CURRENCY_PROFIT, Currency));
}

void CorrectSymbols( void )
{
  const string Currency = AccountInfoString(ACCOUNT_CURRENCY);
  
  for (int i = SymbolsTotal(false) - 1; i >= 0; i--)
    CorrectCurrency(SymbolName(i, false), Currency);
    
  return;
}

void OnStart()
{
  CorrectSymbols();
}
 
EgorKim #:

1_EURUSD

とすると、とんでもないことが起こります。

これは、シンボルの証拠金がFXのように計算される場合であり、他の証拠金計算のバリエーションでは、カスタムシンボルは好きなように呼び出すことができます。