RefreshRates();// Это обязательно ДО OrderSelect() и лучше в таком виде: while (!RefreshRates()) ;for(int i=OrdersTotal()-1; i>=0; i--)
if (! OrderSelect(i,SELECT_BY_POS)) continue;
Ticket=OrderTicket();
Lot =OrderLots();
// Сообщение о попытке следует выдавать ДО ее осуществления, т.к. попытка может что-то изменить
Alert ("Попытка закрыть Buy Ticket=",Ticket, " Lot=",Lot); // Кажется Alert в тестере бестолкова, попробуйте Print
Ans=OrderClose(Ticket,Lot,OrderClosePrice() ... );
}
Rustam Bikbulatov: Ребята, можно ли с помощью одного советника открывать ордера на других парах? Например Советник только стоит на паре EURAUD и при условии открытии открывается сделка на парах EURAUD и GBPUSD. Какое должно быть условие если будет возможность?
できるのです。
テスターのみ動作しません。
intOrderSend(
stringsymbol, // символint cmd, // торговая операцияdouble volume, // количество лотовdouble price, // ценаint slippage, // проскальзываниеdouble stoploss, // stop lossdouble takeprofit, // take profitstring comment=NULL, // комментарийint magic=0, // идентификаторdatetime expiration=0, // срок истечения ордераcolor arrow_color=clrNONE// цвет
);
ああ。仕事中なので、記憶を頼りに書いています。Try: とTicketはorderclose reportのものと比較します。テスターでは、0, 1, 2, 3, ...と表示されるようです。
EAの作り方を勉強したい。 もしかしたら、マーケットが変わって、アルゴリズムを少し変えるなど、もっとお金を払わなければならないかもしれない?
本当にどのフクロウのコンストラクターでTSを作れるのかわかりませんが、それよりも特定の場所でストップを作るとか、特定の日に取引するように注文するとか、基本的な機能を理解したいです。
私は、コンストラクタでも1,2,3などをどうすればいいのか、なぜこの順番ですべてを矢印でつなぐことが重要なのか、まったくわかりません。 誰がAからZまでML4のトレーニングを提供し、なぜこのようになるのかを詳しく何も説明しないコースを作るインターネット戦士のようではありません、つまり、自分で新しい何かを作ることはありません、あなたはただ彼らのコードをコピーしなければなりません....ピラミッド、ダイナミックロット、スマートストップはプロに任せて、私の仕事は、必要なフィルターをダウンロードして、トレンド形成の本質を理解することです。ご協力ありがとうございました。
必要なのは、用意されているドキュメントと、それを読んで理解する能力だけです。一回目から理解できなかった場合は、もう何回か、できればゆっくりとしたペースで読み、脳が読んだ意味を認識する時間を作ってください。
そしてその後は、イマジネーションがフリーハンドになるのです。
条件付きで注文を出したいドキュメントの「取引関数」を開いて、注文を開く関数を 探し、構文に従って書き込んでください...。
あ、そうだ...条件を満たす必要があります。...「演算子」の項目を開き、「条件付き if-else 文」を読んで、必要な条件を書き込んでください。
それが終わったら、ドキュメントを最初から最後まで読んで、その言語に何があるのか、何が手に入るのかを把握するんです。
1日にn個以上の注文を開けないようにする関数を書いた。
現在、この機能は預かり金を排出しています。つまり、すべてのティックで注文が開始されます。
またどこで失敗したんだろう)
int OrderMax = 3; // 1日の間に開くことができる注文の 最大数。
void OpenOrders()
{
for (int i = 1; i <= 5; i++)
{
if (DayOfWeek() == i)
{
int count_max = 0;
if (count_max <= OrderMax)
{
for(int cn = OrdersTotal()-1; cn>=0; cn--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderType() == OP_BUY)
count_max++;
}
}
}
}
}
また私:)
私は、1日にn個以上の注文を出すことができる関数を書きました。
今、この機能は預金を失っている、つまり、注文はすべてのティックで開かれている。
またどこで失敗したんだろう)
int OrderMax = 3; // 1日の間に開くことができる注文の 最大数。
void OpenOrders()
{
for (int i = 1; i <= 5; i++)
{
if (DayOfWeek() == i)
{
int count_max = 0;
if (count_max <= OrderMax)
{
for(int cn = OrdersTotal()-1; cn>=0; cn--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderType() == OP_BUY)
count_max++;
}
}
}
}
}
私見では、このやり方はまったく論理的ではありません。なぜ曜日を定義するのか?もし、「今日は○○件以上の注文を出さない」という条件であれば、日にちは関係ないのでしょうか?
今日開いた注文をカウントして、コンディションに適切な条件を配置する方が合理的だと思います。
注文の開始日の定義が欠落している。Rustam Bikbulatov:
Ребята, можно ли с помощью одного советника открывать ордера на других парах? Например Советник только стоит на паре EURAUD и при условии открытии открывается сделка на парах EURAUD и GBPUSD. Какое должно быть условие если будет возможность?
テスターのみ動作しません。
はい、そうです。
テスターのみ動作しません。
カンマや&&はどのように羅列するのですか?
カンマか&&か、どうやって列挙 する?
彼ら のは、登場人物のリストか何か?
各OrderSendは それぞれ1文字である。コンマとかがない...。
彼ら のは、登場人物のリストか何かか?
各OrderSendはそれぞれ1文字である。コンマとかがない...。
リストペア
ああ。仕事中なので、記憶を頼りに書いています。Try: とチケットは、注文がレポートにあるものと比較します。テスターでは、0, 1, 2, 3, ...と表示されるようです。