MetaTrader 4 Build 529 ベータ版リリース、新コンパイラー搭載 - ページ 50

 
alexvd:

541ビルドで試されましたか?

あなたのソースを元に再現を試みましたが、今のところ成功しませんでした。すべてのソースと詳細(OS、シンボル、ブローカー、インストールフォルダ、パーミッションなど)をserveskに投稿できますか?


さらに、ターミナルで使用しているチャートの設定(ヒストリーとチャートのバー数)を教えてください。
 
alexvd:

すべてのソースと説明を添えて、サービスデスクに直行するのがよいでしょう。

問題を保存したままコードをどんどん縮小していったら、おかしなことになった。

#property indicator_chart_window
#property indicator_buffers 1    
//+------------------------------------------------------------------+
int start(){
    int x,i; 
    i = Bars - IndicatorCounted()-1; 
    
    BetterHighLow    a;
    for(x=i; x>=0; x--){  
        a.PereborFunc();
    }   
    return(0);
}
//+------------------------------------------------------------------+
class BetterHighLow{
public:
   BetterHighLow(){};
   void PereborFunc(){};
  };
//+------------------------------------------------------------------+

1つのインジケータを呼び出し、すべてOK、同じコードで別の名前のインジケータを呼び出し、これもすべてOKです。

同じ名前と同じコードの2つのインジケータを呼び出すと、ターミナルがクラッシュします。

 
ALXIMIKS:

問題を保存したままコードをどんどん縮小していったら、おかしなことになった。

1つのインジケータを呼び出し、すべてOK、同じコードで別の名前のインジケータを呼び出し、これもすべてOKです。

しかし、同じ名前と同じコードで2つのインディケータを呼び出すと、ターミナルがクラッシュします。


あなたのコードに仮想メソッドがないのは、端末自体のコードにある何らかのコンストラクタによって呼び出されていることを意味します。


//そして、一般的には、新しいビルドにプログラムを転送するために、誰が迫害するのでしょうか?うまくいっても、手を出さないことですね。

 
alsu:

あなたのコードには仮想メソッドがありません。それは、端末のコード自体にあるコンストラクタによって呼び出されていることを意味します。

//新しいビルドにプログラムを翻訳するために、誰が迫害しているのでしょうか?うまくいっても、手を出さないことですね。


冬(mt4におけるtm5の実態)は、秋に準備するのがベストです。

+ 教材を直すという意味で、学習方法として自分のコードをOOPに翻訳することは、それほど悪いことではありません。

 
alsu:

あなたのコードに仮想メソッドがないのは、端末自体のコードにある何らかのコンストラクタによって呼び出されていることを意味します。


//そして、一般的には、新しいビルドにプログラムを転送するために、誰が迫害するのでしょうか?うまくいっても、手を出さないことですね。


すでに再現しています。チケットは必要ありません。
 
HIDDEN:

ストラテジーテスターでの最適化がうまくいかない?

標準のEAで最適化のテストをすると、すべての実行で結果がNULLになります。

Expert Advisor を最適化すると、パラメータは変わるが、毎回同じ結果が得られる。

ターミナルビルド 241


メッセージをありがとうございました。問題を発見し、修正しました。

アップデートされたビルドは後日掲載される予定です

 
stringo:

数回のビルドで、Canvasが動作しない(コンパイルはできるが、表示されない)。 それはデザインによるものなのか? それとも見落とし?

// 5年前のビルドはうまくいきました。

 
MetaDriver:

数回のビルドで、Canvasが動作しない(コンパイルはできるが、表示されない)。 それはデザインによるものなのか? それとも見落とし?

もちろん、各ビルドに修正と実装された機能のリストが含まれるのは良いことだと思います。やみくもに新しいものを探し回る必要はないでしょう。
 

ターミナルがまたもやエディタを見つけられませんでした。ターミナルでF4を押すと、エディターが見つからないというログが表示されます。


ターミナルがポータブルで動作している場合、エディターもポータブルで動作している必要があります。スクリーンショットでは、端末のデータディレクトリが開かれています。

しばらくして、ターミナルで2回目のF4を押すと、エディターが起動する。


1.mql5.comプロフィールのリポジトリで作業するにはどうすればよいですか?

2.新しいエディターからMQL Storageは使えますか?

設定の「コミュニティ」タブにログインとパスワードが入力されています。Editorのナビゲータで必要なファイルを選択し、MQL5 Storage-> Addを選択すると、ナビゲータのファイル名が青い「+」で表示されるようになりました。追加されるようです。以前は追加されていたが、後から変更されたファイルも、赤丸の中に「!」マークが表示されます。違いがあるようです。しかし、リポジトリ自体に追加されたファイルは見当たりません。



何がいけないのでしょうか?

 
MetaDriver:

数回のビルドで、Canvasが動作しない(コンパイルはできるが、表示されない)。それはデザインによるものなのか?それとも見落とし?

// 5年前のビルドはうまくいきました。

他のクラスは試されましたか?彼らも働かないのか?

Canvasクラスを見てみましたが、MQL5の関数がそのメソッドに使われています。これが原因である可能性が高いです。例えば、?

//+------------------------------------------------------------------+
//| Set font                                                         |
//+------------------------------------------------------------------+
bool CCanvas::FontSet(void)
  {
   return(TextSetFont(m_fontname,m_fontsize,m_fontflags,m_fontangle));
  }

メソッドはMQL5のTextSetFontを使用していますが、おそらくMQL4ではまだ実装されていないでしょう。ただし、ヘルプの説明文にはすでに存在します。おそらく、実装を忘れてしまったのでしょう。

ところで、エディタでのシンタックスハイライトは、開発者が本当によくやってくれました。クラスメソッドと言語関数を区別するのにとても役立ちます。