KimIVの便利な機能 - ページ 126

 
khorosh:
彼の立場に立って考えてみてください。祖国から遠く離れた異国の地での生活は、なかなか解消されない。ゲストワーカーになったことで、取り返しのつかない失敗をした自分に腹が立って、イライラしています)。
エラーチェックは正常に行われていますが、正常な機能を阻害するような試みが何度も行われているにもかかわらず、今のところエラーはありません。あらゆる事態に対応できるよう、十分な備えをしています。今回も、未来が見せてくれるでしょう
 
artmedia70:

if(OrderSelect(i,SELECT_BY_POS)) をわざと別ブロックにしました。デバッグ時にエラー値を返すため。else {///選択エラーを好きなように書いて、そこからEMPTYのように返す}。

そして、マーケットに出す注文の選択ミスがあった場合を考えてみましょう。議論しよう。まだ出会っていないんです。

ロジャー

また、正しく作成された注文ループが「false」を返す可能性がある理由を少なくとも1つ挙げてください。

おっと、アルテムがすでに質問しているのに気づかなかった、おっと。それなのに、

どんな違いがあるのでしょうか?

一般的な場合、戻ることがあります。では、ある条件、あるいは異なる条件の集合を観察した結果、偽を返さないことがわかったらどうでしょうか。

この関数の実装の詳細は不明であり、ドキュメントにもそれに関する「推測」は記載されていない。次のブローカーでの条件設定で、突然関数がfalseを返したらどうでしょうか?

理由は簡単で、MTの次期バージョンのリリース時に開発チームがこの機能の実装ミスをした可能性があるからです。真剣に検討するほど確率の高いイベントであってほしいのですが?

この仮説的なバグのために、この関数がランダムに、しかし平均して5回目のリクエストごとにだけ、falseを返すようになったとします。

普通、知らないことを事前に考えることはできない。だから、何が原因かを聞いてもあまり意味がないんです。そうなれば、その理由を簡単に説明することができます。

しかし、将来何が起こるかわからないからと言って、それに対する防御ができないわけではありません。高レベルのアルゴリズムでは、誤った値を受信してしまい、大変なことになる可能性があります。その値が偽であることは分からないだろう。

しかし、価値がないこと、あっても事実であることを知っていれば、自分たちの間違いがなければ、騒ぎ立てることはない。そのため、デバッグモードだけ でなく、戦闘モードでも値の計算が不可能であるという情報を与える必要があるのです。

 

テキストファイルなど、外部データをインジケータに読み込むことは可能ですか?

例えば、日足価格があり、任意の時間枠のチャートに線を引く必要があるのでしょうか?

DATE 価格

2014.12.04 100.00

2014.12.03 101.12

2014.12.02 102.45

2014.12.01 103.23

2014.11.28 102.43

2014.11.27 101.90

 
良い機能です。Igorの努力に感謝します。
 
KimIV:

OpenPosition()関数の使用例です。

1.現在の商品を0.1ロット購入する

2.EURUSDを0.2ロット売ります。

3.USDCADを0.12ロット、20ピップスで売ります。

4.USDJPYを0.15ロット、40ピップスで購入

5.GBPJPYを0.1ロット売り、ストップ23、テイクアウェイ44ピップス。

OpenPosition() 関数をテストするスクリプトを添付します。最初の4つの例はコメントアウトされています。
私のEAを多通貨にする方法がわからないのです。
 
logut:
私はここに座って、私はガチガチです、私のEAを多通貨にする方法がわかりません!あなたが私に答えるかどうかわかりません。
ドミトリー 私は普段から、すべてのロジックを紙に書き出しています。いつ、何を、どうすればいいのか。
 
Roger:

そして、正しく作成されたオーダーループが "false "を返すかもしれない理由を教えてください。

おっと、アルテムがすでに質問しているのに気づかなかった、おっと。それなのに、

簡単!

再度のアップデート後、端末が リロードされ、前日からの注文のみが表示されるようになりました。注文履歴が表示されない。この関数は何かを返すべきです - たとえば履歴がないとか。

ブローカーが一部の注文を削除した。

メインメモリに穴が開いている。メモリがクラッシュして、関数がゴミのようなメモリセルを取っています。モニターに表示されることがあります。表示される場合とされない場合があります。他のハードウェアの問題がある可能性があります。

端末が再起動し、サーバーとの通信が「切れる」。以前はプロキシサーバーを使ってMt3を使っていました。以前は帯域と時間が非常に限られたダイアルアップインターネットで、インターネットの品質も最悪でした。ティックが来て、チャートが動いているのがわかる。注文を開こうとすると、ターミナルが「サーバーとの接続がありません」と書き込もうとする。

MT4で問題に直面し、それはまだ存在しています:私はティックと黒い(空の)チャート画面を取得しました。マウスでチャートを引っ張ったり、ロボットがエラーで出てくると、エラーメッセージが出て、ロボットがクラッシュしてしまいます。マウスでチャートを引っ張ったり、新しいティックが来たりすると、すべてが正常になります。ですから、割り算をするときは、まず何で割るかを確認し、ゼロにならなければ次に進むようにしています

 

親愛なるKimIVさん、私は、一定の利益に達したときにすべてのポジションを閉じるためにあなたの関数を使用しており、私は、保留中の注文が閉じられて いない別のポジションをトリガした状況に遭遇しました。現在、そのような状況の追加チェックと、御社の関数を繰り返し呼び出すことを実装しています。この改善は、メインクロージングサイクルが終了した後に、機能内部で実施するべきだと思いますか?

ClosePosBySortLots()関数とClosePositions()関数がそれです。

 

オンラインテストとヒストリーテストの両方で、保留中の 注文を削除 するためのファンクションコードがあります - https://forum.mql4.com/ru/38949#434195

テストとオンラインの違いについて教えてください。

 
isCloseLastPosByStop()、isCloseLastPosByTake()は、注文の終値と ストップロス(TakeProfit)が必ずしも一致しないため、正しく動作しない場合があります。私のところでもやり直しました。これらの値が等しいという条件を、これらの値の差の絶対値(5ビット引用)が5*Pointより小さいことという条件に置き換えてみました。