artmedia70>>: Уважаемые гуру! Подскажите застрявшему в дебрях чайнику как организовать учёт ордеров и отслеживание событий по нескольким валютным парам и нескольким ТФ одновременно в одном советнике..... Буду благодарен всем, кто хоть как-то откликнется на мольбу о помощи.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает количество позиций. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+int NumberOfPositions(string sy="", int op=-1, int mn=-1) {
int i, k=OrdersTotal(), kp=0;
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) kp++;
} } } } } return(kp);}
例(スタート機能の場合)。 if (NumberOfPositions("EURUSD",OP_BUY, Magic)>0) {// EURUSDに買いポジションがある場合。 if (MarketInfo("EURUSD",MODE_BID)>=1.3500){/// ユーロの現在の価格が1.3500を超えて上昇した場合、それらを閉じます。 ClosePosFirstProfit("EURUSD",OP_BUY,Magic); }} //同じ関数を使っています。
Помогите пожалуйста, локальные переменные в функции start() сбрасывают своё значение при каждом новом тике?
start()を呼ぶ前に静的変数(staticで示される)を宣言する。
注文のレビューをループで整理することは理解していますが、異なる通貨ペアと異なるタイムフレームで同時にオープンポジションを追跡し、注文を設定する方法がわかりません。くっそー、1ヶ月間こんな状態だったのかよ。1ペア1タイムフレームで取引する教科書的なExpert Advisorを作りましたが、当然ながら私のTSには合わず、取引システムを導入する上で必要な要件を満たしていません。
もう、泣く泣く...。理解できるように助けてください。ヒントだけなら、どこでそれについて読むことができます(唯一の、してください、チュートリアルに私を送り返さない)、そしてできれば例(例なし何初心者 - 感じることは常に見るよりも優れています...)。
この呼びかけに少しでも応えてくれる人がいたら、ありがたいですね。
Уважаемые гуру! Подскажите застрявшему в дебрях чайнику как организовать учёт ордеров и отслеживание событий по нескольким валютным парам и нескольким ТФ одновременно в одном советнике.....
Буду благодарен всем, кто хоть как-то откликнется на мольбу о помощи.
おそらく、(START関数の外側に配置された)関数で、ポジションを追跡することができます。
例(スタート機能の場合)。https://www.mql5.com/ru/forum/107476/page18
if (NumberOfPositions("EURUSD",OP_BUY, Magic)>0) {// EURUSDに買いポジションがある場合。
if (MarketInfo("EURUSD",MODE_BID)>=1.3500){/// ユーロの現在の価格が1.3500を超えて上昇した場合、それらを閉じます。
ClosePosFirstProfit("EURUSD",OP_BUY,Magic); }} //同じ関数を使っています。
もちろん、できますよ。
それ以外の方法はないでしょう。売りと買いは常に別々に修正する必要があります。異なる価格で開かれているため(askで買い、bidで売る)。停止もします。
プロフェッショナルたちよ、教えてくれ...インジケーターの 線を背景として描くことは可能ですか?例えば、バーの下にMAラインを引くコードを追加することは可能ですか?
この質問は奇妙に思えるかもしれませんが、答えが見つからないのです。
自動売買で、同じSL、TPで取引しても、なぜ結果が違うのですか?(なぜか悔しい結果になってしまいましたが)。せめて、適切なリンク先を教えていただけるとありがたいです。
Профи, подскажите... Можно ли рисовать линии индикаторов как фон. Например добавить код, чтобы линия МА рисовалась под барами?
プロパティ(F8)、一般タブ、グラフトップフィールド。