//+------------------------------------------------------------------+//| maxLimits.mq5 |//| Copyright 2021, MetaQuotes Ltd. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2021, MetaQuotes Ltd."#property link"https://www.mql5.com"#property version"1.00"#property script_show_inputs#include <Trade\Trade.mqh>
//---
CTrade m_trade; // trading object//---sinputuint maxLimits = 3; // Кол-во Позиции Открыть в одну сторонуsinputdouble InpLots = 0.01; // Lots//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//---conststring symbol=NULL;
double price=0.0;
constdouble sl=0.0;
constdouble tp=0.0;
conststring comment="";
//--- check symbolstring symbol_name=(symbol==NULL) ? Symbol() : symbol;
//--- check priceif(price==0.0)
price=SymbolInfoDouble(symbol_name,SYMBOL_ASK);
//---for(uint i=0; i<maxLimits; i++)
{
//--- open positionif(m_trade.PositionOpen(Symbol(),ORDER_TYPE_BUY,InpLots,price,sl,tp))
printf("Position by %s to be opened",Symbol());
else
{
printf("Error opening BUY position by %s : '%s'",Symbol(),m_trade.ResultComment());
printf("Open parameters : price=%f,SL=%f,TP=%f",price,sl,tp);
}
}
}
//+------------------------------------------------------------------+
//---for(uint i=0; i<maxLimits; i++)
{
//--- open positionif(m_trade.Buy(InpLots,symbol_name,price,sl,tp,comment))
//if(m_trade.PositionOpen(Symbol(),ORDER_TYPE_BUY,InpLots,price,sl,tp))printf("Position by %s to be opened",Symbol());
else
{
printf("Error opening BUY position by %s : '%s'",Symbol(),m_trade.ResultComment());
printf("Open parameters : price=%f,SL=%f,TP=%f",price,sl,tp);
}
}
いいえ。
小銭が十分にあれば、保証されます
MT5で、空の口座に100ポジションを開くスクリプトを書く必要があります。
MT4ではこのように解決しました。
MT5で解決している人はいますか?
小銭が十分にあれば、保証される。
部分的なパフォーマンスを考慮していない。また、考慮した場合、ダブルカウントも考慮しなければならない
部分実行は可能ですか?
部分実行がないと仮定しよう。しかし、スクリプトの実行中に、誰かが誤ってポジション表の十字をクリックし、1つまたはいくつかのポジションをクローズしてしまう可能性があります。しかし、スクリプトの実行終了時には、まだちょうど100の位置があるはずです。
MT4 版は、めちゃくちゃシンプルです。だから、このスレッドに書いたのです。
MT5で解決している人はいますか?
シンクロナイザーがないとどうしようもない。
その過程で、初歩的な再注文や 接続の損失が発生する可能性があり、100件の注文が100件の取引をもたらすとは限りません。
シンクロナイザーがないとどうしようもない。
その際、初歩的なリクオートや 通信の切断が発生する可能性があり、100件の注文が100件の取引になるとは限りません。
シンクロナイザーは、PositionsTotalとOrdersTotalの値に矛盾がないことだけを確認します。時間的に嘘をつくからこそ、ダブルカウントになるのです。
シンクロナイザーは原則的に1本です。そして、その仕組みを調べなければ、実装は簡単です。
しかし、シンクロナイザーを使っても、すべてが非常に複雑です。このような条件を使ってもよい。
しかし、この状態は、次のようなことをされると、全くお手上げになります。
部分実行がないと仮定しよう。しかし、スクリプトの実行中に、誰かが誤ってポジションテーブルのクロスをクリックし、1つまたは複数のポジションテーブルを閉じて しまうことがあります。しかし、スクリプトの実行終了時には、まだちょうど100のポジションが残っているはずです。
つまり、MT4では2行で解決するような初歩的な作業が、MT5ではなかなか解決しないのです。そのため、MT5ではMT4-style+Synchronizerがルールとなっています。そのため、MT5には多くのEAがありますが、他のEAがどのように書かれているのかよくわかりません。
シンクロナイザーは、PositionsTotalとOrdersTotalの値が一致しないことだけを確認します。一時的に虚偽であるからこそ、二重計上になるのです。
シンクロナイザーは原則的に1本です。そして、その仕組みを調べなければ、実装は簡単です。
しかし、シンクロナイザーを使っても、すべてが非常に複雑なのです。このような条件を使ってもよい。
しかし、この状態は、次のようなことをされると、全くお手上げになります。
つまり、MT4では2行で解ける初歩的な問題が、MT5では簡単には解けないのです。そのため、MT5ではMT4-style+Synchronizerがルールとなっています。このため、MT5には多くのEAがありますが、他のEAがどのように書かれているのか理解できません。
MT5では、言語とAPIがより豊富になったため、すべてがMT4と同じ方法で解決され、多くの場合、より簡単です。正確には、言語はほぼ同じで、ここではメタクオーツが互換性のために素晴らしい仕事をしてくれていますが、APIはかなり異なっています。MetakvotesのディレクターであるRenatは、以前フォーラムで、MT4は死んでおり、開発されることはないだろうと言っていました。しかし、どうやら商業的な利益の方が重要だったようで、それにもかかわらずアップデートが行われることになりました。しかし、そのほとんどは、MKL 5のバグフィックスと新機能です。だから、開発者はよくやったと、私は脱帽するのです))
そして、一般的に、私はMKL5に切り替えることが困難として、いくつかの同志のうめき声を理解していない。複雑なことはなく、まあ別のAPIがあるので、詳細なソースがあり、私はそこから学ぶことを好む。まだ十分な知識を持っていない人、大歓迎です!簡潔ですが、明確です。いずれにせよ、5番目は4番目より少なくとも10倍速く、最適化モード では、一般的にあなたが許可されたCPUのすべてのコアを使用して、最新のビデオカードで数百回で4番目に勝っている。だから、悲しい歌を書く必要はない。))
部分的な性能を考慮していない、考慮するとオーバーランも考慮しなければならない
というのは、それもおかしいのでは?- この機能に何を求めているのか理解できませんが、100%仕事をしてくれます!
部分実行がないと仮定しよう。しかし、スクリプトの実行中に、誰かが誤って ポジション表の十字をクリック し、1つまたはいくつかのポジションをクローズしてしまう可能性が あります。しかし、スクリプトの実行終了時には、まだちょうど100の位置があるはずです。
MT4版は、めちゃくちゃシンプルです。だから、このスレッドに書いたのです。
つまり、MQL5では誰かが遊べるような条件を設定し、MQL4ではそうしないのですか?他のパソコンから口座に接続して数ピップス置いた場合...MQL4は何を開くのでしょうか?
何のチェックもなしにガチャガチャやるか?プログラミングの寛容さを提唱しているのか、それとも誰かの私利私欲でMQL5を誹謗中傷しようとしているのか?
mql4で同じようにチェックとフールプルーフで書き込む。
MQL5では誰かがいじくり回せるような条件を設定したが、MQL4ではそうではないのか?他のコンピュータから自分の口座に接続して数ピップス置いた場合...MQL4は何を開くのでしょうか?
MT4とMT5の利用条件は同じです。
何のチェックもせずにガチャガチャやるか?プログラミングの寛容さを提唱しているのか、それとも誰かの私利私欲のためにMQL5を蔑ろにしようとしているのか、どちらでしょうか?
その方法がわからないと、mql4と同じ問題をティックとフールプルーフで表示する必要があります。
私はすべてMT5のみで行っています。MT5がMT4より複雑ではないと言っているのです。もっともっと複雑なんです。今週だけポジション逆転の解決策があり、100%うまくいっているわけではありません。
長年にわたり、誰もがバックテストについて知っていた、に来る...睡眠を とる。なぜなら、それはとても複雑なことだからです。フォーラムで指摘された取引APIの特殊性については、開発者が気づいていない、あるいはコメントを出していないことが多いようです。
誰もMT5を批判しているわけではありません。これまで、初歩的な問題を解く際の問題点を例示してきた。