Dmitri Custurov: Здравствуйте. Не получается написать код, который открывал бы позицию через n-количество баров после открытия предыдущей позиции. Пробовал использовать Time[i], iBarShift, iTime. Все безуспешно. В программировании новичок. Поиск ничего не дал.
同時に、IsStopped関数のヘルプには、mql-programを終了させるコマンドがあった場合、3秒後にプログラムの動作を強制的に終了させることが書かれています。
また、while(true)をwhile(!IsStopped())に置き換えると、チャートから削除してもインジケータは正常に完了します。
すべてがクリアになる。通常の削除は免責とさせていただきました。
端末が閉じると大変なことになる。3秒以内とする。
また、ドキュメントに書くかどうかですが、1.このような無茶な指標を書くことを甘受しないため(確認のために書いたのか)2.緩むと同時に、締まる。
Internal Compiler Error(インジケータで使用される関数)のおかしな原因。
...治療法は明白だが、同意する - 非常に面白い不具合。:)))
プライベート メッセージを書きました。
Dmitri Custurov:
Здравствуйте. Не получается написать код, который открывал бы позицию через n-количество баров после открытия предыдущей позиции. Пробовал использовать Time[i], iBarShift, iTime. Все безуспешно. В программировании новичок. Поиск ничего не дал.
以下はそのコードです。
if ((オーダーセレクト(0,SELECT_BY_POS,MODE_TRADES) ==False)&&(Signal==1)))Timer=Time[0];}。
TimerNull=iBarShift(NULL,0,Timer,false)です。
if ((TimerNull>=n)&&(z==1))
{int send2=OrderSend(Symbol(), OP_SELL, Volume_, Bid, 0, 0, NULL, 2, 0, Red)とする。
z=2;}
こんな方法も試してみました。
Timer=Time[0];}。
TimerNull=Time[0]です。
if ((TimerNull>=(Timer+2700))&&(z==1))//ここでは例として、nの代わりに2700秒を置き、テストでは15分ローソク足3本を意味します) {int send2=OrderSend(Symbol(), OP_SELL, Volume_, Bid, 0, 0, NULL, 2, 0, Red)。
z=2;}
そしてまた、このように。
Timer=Time[0];}。
TimerNull=Time[0]です。
if ((CurrentTime()>=(Timer+2700))&&(z==1))
{int send2=OrderSend(Symbol(), OP_SELL, Volume_, Bid, 0, 0, NULL, 2, 0, Red); //この場合、2700を削除すると、同じバーで最初の取引の直後に2番目の取引が開始されましたが、これは理に適っています。そして、2700ではなく600まで任意の値を入れても、同じバーで2つ目のディールが開かれてしまいました。600より高い値では、2番目の取引は開かれませんでした。何が問題なのか理解できない。是非ともご協力をお願いします。
Timer および TimerNull パラメータは datetime フォーマットである。
この例では、位置の列挙がありません。
if ((オーダーセレクト(0,SELECT_BY_POS,MODE_TRADES) ==False)&&(Signal==1)))
そのため、常にポジション0が選択されます。
すべてに意味がある。正常な削除のための免罪符を作った。
端末を閉じると、硬くなります。3秒以内とする。
また、ドキュメントに書くかどうかですが、1.このような無茶な指標を書くことを甘受しないため(確認のために書いたのか)2.緩めたように、締めたように。
だからもう引き締めるか、リファレンスを直せ。耽溺しない耽溺は、真面目な話ではない。プログラマーがあなたに期待するのは「甘やかし」ではなく、明確できちんとしたドキュメントを持ったソフトウェアです。
もちろんこのコードには、あなた自身が求めたデモ以外の目的はありません。また、Sleepが削除 され、CommentがPrintに置き換われば、無害であることは明らかです。QuartetとQuartet 5のいずれにおいても、ログにギガバイトのPrintをスパムすることに対する保護はありません。
以下はそのコードです。
if ((オーダーセレクト(0,SELECT_BY_POS,MODE_TRADES) ==False)&&(Signal==1)))Timer=Time[0];}。
TimerNull=iBarShift(NULL,0,Timer,false)です。
if ((TimerNull>=n)&&(z==1))
{int send2=OrderSend(Symbol(), OP_SELL, Volume_, Bid, 0, 0, NULL, 2, 0, Red)とする。
z=2;}
こんな方法も試してみました。
Timer=Time[0];}。
TimerNull=Time[0]です。
if ((TimerNull>=(Timer+2700))&&(z==1))//ここでは例として、nの代わりに2700秒を置き、テストでは15分ローソク足3本を意味します) {int send2=OrderSend(Symbol(), OP_SELL, Volume_, Bid, 0, 0, NULL, 2, 0, Red)。
z=2;}
そしてまた、このように。
Timer=Time[0];}。
TimerNull=Time[0]です。
if ((CurrentTime()>=(Timer+2700))&&(z==1))
{int send2=OrderSend(Symbol(), OP_SELL, Volume_, Bid, 0, 0, NULL, 2, 0, Red); //この場合、2700を削除すると、同じバーで最初の取引の直後に2番目の取引が開始されましたが、これは理に適っています。そして、2700ではなく600まで任意の値を入れても、同じバーで2つ目のディールが開かれてしまいました。600より高い値では、2番目の取引は開かれませんでした。何が問題なのか理解できない。是非ともご協力をお願いします。
Timer および TimerNull パラメータは datetime フォーマットである。
このEAは、指定された数のバーの 後に注文を開く必要があります。そして、EAコードを正しく挿入する方法、メッセージバーのSRCボタンについて学びます。
111
この質問は、おそらくウェブサイト開発者またはフリーランスサービス管理者向けです。
---
以前は:568件の仕事が完了、75%が個人的な仕事
13個のジョブを追加(すべて個人的なもの)し、次のようになりました:完了581個、個人的なもの75%。
---
そこで質問ですが、75%とはどういう意味ですか?