Формат точности. Если значение digits лежит в диапазоне от 0 до 16, то будет получено строковое представление числа с указанным количество знаков после запятой. Если значение digits лежит в диапазоне от -1 до -16, то будет получено строковое представление числа в научном формате с указанным количеством знаков после запятой. Во всех остальных случаях число строковое значение представление числа будет содержать 8 знаков после запятой.
Исполнение по рынку (Market Execution)
В этом режиме исполнения рыночного ордера решение о цене исполнения принимает брокер
без дополнительного согласования с трейдером. Отправка рыночного ордера в таком режиме
подразумевает досрочное согласие с ценой, по которой он будет выполнен.
void Open_trade(int type,double inlot)
{
bool ok;
string name_val[14]={"GBPUSD","EURGBP","GBPCHF","CHFJPY","AUDJPY","EURJPY","GBPJPY","CADJPY","AUDUSD","USDJPY","EURUSD","EURCHF","USDCHF","USDCAD"};
int i;
int a,b,c,d;
if(type==0){a=12;b=14;c=0;d=12;}
if(type==1){a=0;b=12;c=12;d=14;}
for(i=a;i<b;i++)
{
if(AccountInfoDouble(ACCOUNT_FREEMARGIN)>1000) // покупаем если достаточно средств на счете
{
ok=trade.PositionOpen(name_val[i],
ORDER_TYPE_BUY,// ордер на покупку
inlot,// количество лотов для торговлиSymbolInfoDouble(name_val[i],SYMBOL_ASK),// последняя цена ask 0.0,// Stop Loss0.0,// Take Profit "exp");
if(!ok && trade.ResultRetcode()!=10008){i--;}
}
else
{return;}
}
for(i=c;i<d;i++)
{
if(AccountInfoDouble(ACCOUNT_FREEMARGIN)>1000) // покупаем если достаточно средств на счете
{
ok=trade.PositionOpen(name_val[i],
ORDER_TYPE_SELL,// ордер на покупку
inlot,// количество лотов для торговлиSymbolInfoDouble(name_val[i],SYMBOL_BID),// последняя цена ,bid 0.0,// Stop Loss0.0,// Take Profit "exp");
if(!ok && trade.ResultRetcode()!=10008){i--;}
}
else
{return;}
}
}
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
1回目:すでに文言は修正済みです。
Формат точности. Если значение digits лежит в диапазоне от 0 до 16, то будет получено строковое представление числа с указанным количество знаков после запятой. Если значение digits лежит в диапазоне от -1 до -16, то будет получено строковое представление числа в научном формате с указанным количеством знаков после запятой. Во всех остальных случаях число строковое значение представление числа будет содержать 8 знаков после запятой.
2つ目:ここで、ヘルプにあった例を確認するのですが、これは推測しなくてもいいように用意されているはずです。最後の文、「それ以外の 場合、数値の文字列値には小数点以下 が 8 桁含まれる」だけがわかると思います。「これは、とんでもない間違いではなく、むしろそのような表現をしていないのです。
第三に、PrintFormat 関数とStringFormat 関数を使って、望ましい数値 表現を得ることを誰も禁じていません。DoubleToString()関数は その目的を100%果たしますが、グルメな人のために他にもあります。
最後にお願いですが、何か発言するときは、この場合は「○○さんのコメントをご覧ください」というように、現場の事例で裏付けをとってください。そのような参考文献が多ければ多いほど、読まれる可能性は低くなります。
まだ面白いタンブラーがないので手を出していません(MT5が証券会社で提供されるようになったら登場するんでしょうね)。そして、テスターはロックに対応していない。そして、具体的に何がうまくいかないのでしょうか?
私が直面したところでは、SYMBOL_TRADE_EXECUTION_EXCHANGEで、SL/TPを別々に設定する必要があります。
どうしたらいいのか、わからないんです。これは設計上、ブローカーが無効にすることができるのでしょうか?
デフォルトではサーバーで機能が無効になっており、クライアントからの要求で有効になる(1時間以内を約束)、無効にすることは規定されておらず、適用しないことを約束したようなものである。
スコア:-1。
いいか、もううんざりなんだ。サーバーに文字通り無視されてる。
アカウントの現状は以下の通りです。
開発者の皆さん、この状況について、せめて何かコメントをお願いします。MT5が私の注文を実行しないのであれば、実際の資金をMT5管理に預けるのは怖いです。
...サーバーが文字通り無視されている...
マーケットに応じた実行?注文の出し方、ブローカーのテクニカルサポートの対応について教えてください。
見た目からして
サーバーに何か設定があるのでしょう、例によって誰もひねっていないのですが。マーケットに応じた実行?注文の仕方やブローカーのテクニカルサポートはどうなっているのか?
による審査
例によって誰も変えていない設定がサーバーにあるはずです。1 コメントなしのオーダーリストにあるものは、過去のオープンポジションをクローズしています。
そして、「exp」というコメントがついているものは、新規ポジションの開設です。
ここに不自然な点はない。標準ライブラリを使っているだけです。
1 コメントのない注文リストにあるものは、以前のオープンポジションをクローズしています。
そして、"Exp "のコメントがあるものは、新しいポジションの開設です
ここに不自然な点はない。標準ライブラリを使っているだけです。
いいえ、コードで悩む必要はありません。フォーラムがリンクを提供してくれます。どういうことかというと、「実行タイプ」です。
そこに上の画像には、市場価格を持っている、すなわち、ブローカーが価格を決定します。もしかしたら、そこに何かが設定されていないと、このような問題が発生するのかもしれませんね。一般的に、F9で手動で、このタイプは利用できるのでしょうか?インスタントでお試しください。
テスターにバグがあるようです。
EURUSDシンボルで多通貨EURUSD GBPUSDをall ticksモードまたはm1でテストしています。
我々は、ユーロの新しいろうそくを待って いる、今我々はポンドが新しいろうそくを持っている時間を待っている、この時点で我々は、ユーロとポンドの取引を締結しています。EURの取引がローソク足本体内で終了していることが判明し、この場合、テスターは開いているローソク足に接続できず、無視されます。したがって、最適化レポートではすべてのセットが0となり、取引は1つもありません。さて、この0結果を手動またはビジュアライザーで実行すると、すべてのトレードがバランス-エクイティグラフに表示されます。
ターミナルのExpert Advisorはこんなぐちゃぐちゃに落とすだけで終わり。
デバッグに達しない場合は、チャートから一旦削除されます。1時間ほど実験した結果、アプリケーションのクラス階層の任意のクラス =defined= ブランチの任意のスコープに、任意の不要な変数を追加すると、効果がなくなることがわかりました。
デバッグにならず、すぐにチャートから削除される。1時間ほど実験した結果、アプリケーションのクラス階層の任意のクラス =defined= ブランチの任意のスコープに、任意の不要な変数を追加すると、効果がなくなることがわかりました。