//--Вырезана часть аналогичного кода - листья дерева
} if(Variant_Tree_Sell==2)
{ //---Вырезан код, он не активируется в момент ошибки } //--Дерево на базе
активации листьев без фильтровif(Variant_Tree_Sell==3)
{ //---Вырезан код, он не активируется в момент ошибки } } int
Rez=0; if(Vektor_ZZ==1)Rez=CalcBuy; if(Vektor_ZZ==-1)Rez=CalcSell;
Print("Rez_Tree_Calc=",Rez," - f","
Vektor_ZZ=",Vektor_ZZ," CalcSell=",CalcSell); return Rez; }
そのため、このFunctionは時々769という値を出力します。
2020.03.0115:54:23.500 Core 12019.11.1322:57:00 Rez_Tree_Calc=769 - f Vektor_ZZ=-1 CalcSell=769
class A{};
template<typename T>
class B{
public:
B(int &){}
B(long){}
B(int, int, int){};
B(const B&){}
B(const A*){}
};
// template class type
B<A*> test_b_class_class(){
B<A*> b(1);
int x = 22;
return( B<A*>(1)); // Fixed Compile Error: ambiguous call to overloaded function with the same parameters: "B(long)" and "B(const A*)"return( B<A*>(1,2,3)); // Fixed Compile Error: only one argument is acceptable, argument should be castable to intreturn( B<A*>(x)); // Fixed Compile Error: argument is passed by value instead of by reference.return( B<A*>((A*)NULL)); // Fixed Compile Error: 'int' - invalid cast operation return( B<B<B<long>>>(1)); // Fixed Compile Error: OK, template parameter type does not provide any effort on compilation resultreturn b;
};
B<A*>* test_b_ptr_ptr(){
B<A*> b(1);
return &( B<A*>(1)); // Fixed Compile Error: '&' - illegal operation usereturn &b;
};
voidOnStart (){
// template class type
B<A*> b0 = test_b_class_class();
B<A*>* b_ptr = test_b_ptr_ptr();
}
私の場合は、使えるロジックがないのが辛いところです。
これらの入力を持つ関数があります。
そのため、このFunctionは時々769という値を出力します。
最初のプリントをアンコメントすると
//Print("Rez_Tree_Calc=",Rez," - f"," Vektor_ZZ=",Vektor_ZZ," CalcSell=",CalcSell);
とすると、正しい値が表示されます。
エラーが発生した瞬間に関数が呼び出さ れた時点でアクティブになっていないコードだけを削除して関数を切り詰めると、同様にエラーは発生しません。
明らかにコンパイラのエラー - それはフォーラムに適合しないため、完全な関数を送信するために、開発者、誰。
括弧をつけると、上記のような問題を 解決するのに奇跡的な効果があることがわかった。
それしか書きようがない。
// "MetaTrader 5\MQL5\Files\Reports\2020.03.01 03.43.46ExpertName (琼㹤⸱㠰㐹㰷琯㹤琼㹤⼼摴㰾摴ㄾ〮ㄹ㔷⼼摴㰾摴㈾⸹㠰ㄮ‴㈰〺㨰〰ㄮ㐱⼼摴㰾摴ㄾ〮〹㐵⼼摴㰾摴㰾琯㹤琼㹤⼼摴㰾摴㰾琯㹤琼㹤㰰琯㹤琼㹤⼼摴㰾摴㰾琯㹤琼㹤⼼摴㰾摴 - )\"
このテキスト(Terminal logから取得)をMEにコピーし、カーソルを行末に移動させ、BackSpaceキーで文字を削除してみてください。再現性のあるバグがあるんです。
アニメーションでは、カーソルの位置に注意してください。BackSpaceを押すと、カーソルから遠い文字が削除されるのですが。
ZZY メモ帳ではすべてうまくいっていますが、MEではそうではありません。
検索文字列: Uluchshenie 012.このテキスト(Terminal logから取得)をMEにコピーし、カーソルを行末に移動させ、BackSpaceキーで文字を削除してみてください。再現性のあるバグがあるんです。
ZYメモ帳ではすべてうまくいっていますが、MEではうまくいきません。
ME Win10-64では問題なく削除されました。
全部コピーしたつもりなんですが、最後の文字があるんです。
ZY:MEのトリックがある、私は50KBの.mql4/mql5ソースファイルを持って、フォーラムで同じコードが5〜6KBを取る、私はトリックはエンコーディングにあると思うユニコード - "ユニコードではない" - 私はすでに覚えていない、ここで誰かが議論した。
UPD: MEメニュー:ファイル-名前を付けて保存-エンコーディングの一番下に、私はユニコードをデフォルトとします。
UPD: MEメニュー:ファイル-名前を付けて保存-下のエンコード、私のデフォルトはUnicodeです。
下も同じです。
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
バグ、バグ、質問
fxsaber, 2020.03.01 16:10
アニメーションを開いて、カーソルの位置に気を配るようにしています。BackSpaceを押して、カーソルから遠い文字を削除しています。
このテキスト(Terminal logから取得)をMEにコピーし、カーソルを行末に移動させ、BackSpaceキーで文字を削除してみてください。再現性のあるバグがあるんです。
アニメーションでは、カーソルの位置に注意してください。BackSpaceを押すと、カーソルから遠い文字が削除されるのですが。
ZY メモ帳では問題ないのですが、MEではダメなんです。
検索文字列: Uluchshenie 012.再起動しても改善されない。