datetime timeBar = iTime(_Symbol,PERIOD_CURRENT, 0);// период можно поставить по своему усмотрениюdatetimestatic timeOpen = 0;
if((PositionsTotal()==0)&&(c0>h1)&&(rGENUP>0.30)&&(timeBar > timeOpen)) // Условие для открытия позиции.
{
MqlTradeRequest request;
MqlTradeResult result;
request.action =TRADE_ACTION_DEAL; // тип торговой операции
request.symbol =Symbol(); // символ
request.volume =1; // объем в 1 лот
request.type =ORDER_TYPE_BUY; // тип ордера
request.price =SymbolInfoDouble(Symbol(),SYMBOL_ASK); // цена для открытия
request.deviation=3;
request.sl = NormalizeDouble(Ask-50*_Point,_Digits);
request.tp = NormalizeDouble(Ask+50*_Point,_Digits);
if(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки//--- информация об операцииPrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
// допустимое отклонение от цены
timeOpen = timeBar;
}
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
それもうまくいかなかった。
ホブゴブリンは何キロのコードが好きなんだ...。
あなたの問題は、変数の宣言を 考慮すると、6行のコードで解決できます。
信号の変数を解明してほしい。
О!効いてますね〜。同志の皆さん、アイデアをありがとうございました。
でも、ちょっとだけ手を加えました。なく、楽になったりもした(本当)。この複雑なMQLのロジックを説明することはできませんが)。
そう思って実装しました。
MQL5でポジションオープンの コードがこんなにあるのはなぜだろう。MQL4とは異なります。4では1行だけです。削れるか?例えば、エラーハンドラを削除することは可能でしょうか?О!効いてますね〜。同志の皆さん、アイデアをありがとうございました。
でも、ちょっとだけ手を加えました。なく、楽になったりもした(本当)。この複雑なMQLのロジックを説明することはできませんが)。
そう思って実装しました。
MQL5では、なぜポジションを 開くためのコードがこんなに多いのでしょうかね。MQL4とは異なります。4では、1行だけです。でも、ここで・・・もっと短くできませんか?例えば、 エラーハンドラを削除できないか?トレードクラスを使用する。そして、そのコードは非常に短いものになります。
例
О!効いてますね〜。同志の皆さん、アイデアをありがとうございました。
でも、ちょっとだけ手を加えました。なく、楽になったりもした(本当)。この複雑なMQLのロジックを説明することはできませんが)。
そんな思いで実装しました。
MQL5でポジションオープンの コードがこんなにあるのはなぜだろう。MQL4とは異なります。4では、1行だけです。しかし、ここで・・・短縮できるのでしょうか?例えば、 エラーハンドラを削除できないか?そのため、コンディションで持っている場合
では、なぜ新しいバーのためにさらにチェックが必要なのでしょうか?それとも、同じバーでポジションをクローズし、2回目のオープニングを禁止するオプションがありますか?
О!効いてますね〜。同志の皆さん、アイデアをありがとうございました。
でも、ちょっとだけ手を加えました。なく、楽になったりもした(本当)。この複雑なMQLのロジックを説明することはできませんが)。
そう思って実装しました。
MQL5では、ポジションを開く のになぜこんなに大きなコードがあるのだろう。MQL4とは異なります。4では、1行だけです。しかし、ここで・・・短縮できるのでしょうか?例えば、 エラーハンドラを削除できないか?昔、MQL4があったとき、「下位のアクセス権が与えられていない--自分なりのやり方ができるように」と憤慨していた人がいましたね。
MQL4でOrderSend()にアクセスできるようになったので、いわばMQLでそのロジックを展開したわけです。でも、そうではなくて、「複雑すぎる」という苦情が来ているんです。
複雑?問題ありません。SBのトレードクラスは、MQL4標準のトレード関数とほぼ同じです。
MQL4では、このようなクラスがトレード関数となります。そしてMQL5で - すべてオープンアクセスで。
それを利用する。
昔、MQL4があったとき、「下位のアクセス権を与えないから、自分たちのやり方で何かできる」と憤慨していた人がいましたよね。
MQL4でOrderSend()にアクセスできるようになったので、いわばMQLでそのロジックを展開したわけです。でも、そうではなくて、「複雑すぎる」という苦情が来ているんです。
複雑?SBのトレードクラスは、MQL4標準のトレード機能とほとんど同じです。
MQL4では、このようなクラスがトレード関数となります。そしてMQL5で - すべてオープンアクセスで。
それを利用する。
ドクタ-、ドクタ-。なぜそんなに怒っているのか(今日)©。
ドクトル、あぁドクトル。なぜそんなに怒っているのか(今日)©。
氷の穴の中に入って...
だから、もしあなたが、ある条件を
なぜ新しいバーをチェックする必要があるのですか?それとも、同じバーでポジションがクローズするので、2回目のオープンを認めないという選択肢もあるのでしょうか?
その通りです。同じバーでポジションをクローズするオプションがあります。
(新しい壁に切り込みを入れる。)その "壁 "をブレイクイーブンと呼びます。
MQL4ではこのように実装されていました。
(どこか覚えていないところでコピーした)。
しかし、5-PCではこうして実装されているのです。どうすればいいのでしょうか?
Trading Classesを見たが、そこにはない。でも、モノは必要なんです。プロはどう言う?
他のチャートのトレードがチャートに表示されないようにするにはどうしたらいいですか?
指定されたチャートにあるロボットのトレードのみ。