//+-------------------------------------------------------+//| функция перебрала открытые ордера на графике |//| и выделила: 1) с самым маленьким лотом и --- профитом |//| 2) с самым большим лотом и +++ профитом. скрипт |//| Предполагается, что такие есть. И удалила PROBA.mq4|//+-------------------------------------------------------+// Назначение функций OrdersTotal, OrderSelect, OrderClose// и прочих узнаем поставив на них курсор и нажав F1#property strictvoidOnStart()
{
int Проскальзывание=20;
int Тикет1 =0, Тикет2=0;
double Лот1=100000, Лот2=0;
bool Результат; // Чтоб избежать лишних предупреждений
// Выделение
for(int Тикет=OrdersTotal()-1; Тикет>=0; Тикет--)
{
if(!OrderSelect(Тикет,SELECT_BY_POS)) continue; // Что-то помешало - идем к следующемуif(OrderSymbol() != _Symbol) continue; // Чужой график// Если с меньшим лотом и --- профитом то запомним тикет и лотif(OrderLots()<Лот1 && OrderProfit()<0)
{
Тикет1=OrderTicket();
Лот1=OrderLots();
}
// Если с большим лотом и +++ профитом то запомним тикет и лотif(OrderLots()>Лот2 && OrderProfit()>0)
{
Тикет2=OrderTicket();
Лот2=OrderLots();
}
}
// Удаление
if(Тикет1)
{
while(!RefreshRates());
if(OrderSelect(Тикет1,SELECT_BY_TICKET)) // Чтоб получить цену закрытия
Результат=OrderClose(Тикет1, Лот1,OrderClosePrice(),Проскальзывание);
}
if(Тикет2)
{
while(!RefreshRates());
if(OrderSelect(Тикет2,SELECT_BY_TICKET))
Результат=OrderClose(Тикет2, Лот2,OrderClosePrice(),Проскальзывание);
}
}
勝利の日おめでとうございます!!! 4日経っても返信がない。やってみよう...不満のある人は直接 書く!!!
そして、もし2つしか注文がないのなら、という疑問が生まれました。大きなロットで利益がマイナスになっているものと、小さなロットで利益がプラスになっているものがあります。
注文が1つだけだったらどうしよう。すべての注文が同じロットで、すべて利益がマイナスの場合、1つずつ閉じるべきでしょうか。
こんにちは。
何かお手伝いできることはありますか?Expert Advisorは1ティックごとに トレードを取得しています。5トレード程度、あるいは好きなだけ取り出せるようにするには、どのようにコードを書けばよいのでしょうか?
extern int tp=50;
extern int sl=200;
extern double lot=0.01;
void OnTick()
{
OrderSend("USDJPY",OP_SELL,lot,Bid,0,Ask+sl*Point,Ask-tp*Point, "Batsasho",1,0,Red)を実行。
}
コードを変更したり、追加したりするにはどうしたらよいですか?
あなたは***に答えることができますか?
ありがとうございました。
こんにちは。
何かお手伝いできることはありますか?Expert Advisorは1ティックごとに トレードを取得しています。5トレード程度、もしくは好きな数だけ取り上げるには、どのようにコードを書けばいいのでしょうか?
extern int tp=50;
extern int sl=200;
extern double lot=0.01;
void OnTick()
{
OrderSend("USDJPY",OP_SELL,lot,Bid,0,Ask+sl*Point,Ask-tp*Point, "Batsasho",1,0,Red)を実行。
}
コードを変更したり、追加したりするにはどうしたらよいですか?
あなたは***に答えることができますか?
ありがとうございました。
まず、テストの時間間隔を短くすること。ベスト:1)過去3ヶ月間。2)ブレグジットを挟んで3ヶ月。すべてのダニでテストしないように注意してください。実際、MT4ではヒストリーにティックはなく、価格の上下の軽い揺れでモデル化されています。M15とM1の2つのタイムフレームでテストしてみると、どちらが良いかがわかります。また、月曜日の朝に起動し、金曜日の夕方によく知られたスクリプトで結果を確認する、というデモを利用するのもよいでしょう。100個のExpert Advisorをテストする必要がある場合、10台の端末を開き、各端末にExpert Advisorを含む10個のチャートを配置します。
多くのコンピュータを持つことが必要である。実際の口座では、レバレッジ500で4ドルあれば十分です。どのチャートを見ても、正しく エントリーすれば、1日で簡単に入金額を2倍にすることができます。それも1ヶ月で100万回。インターネット上にそのような無料EAがあるのでしょうか?誰かそんなの売ってくれないかな?したがって、そのお金はコンピュータに投資すべきです。私たちは、そのエントリーポイントを探しています。プログラムを書いたり、Excelで数式やマクロを使って計算したり、計算のためのスクリプトやExpert Advisorを書いたりします。そして、エントリーポイントの見つけ方がわかってきたら、ロボット、ストップ、トロール、入金、出金...。
勝利の日おめでとうございます。 4日経ちますが、何の反応もありません。やってみよう...不満がある人は個人のアカウントに 書く!!!
そして、もし2つしか注文がないのなら、という疑問が生まれました。大きなロットでマイナス利益、小さなロットでプラス利益の場合
注文が1つだけだったらどうしよう。すべての注文が同じロットで、すべて利益がマイナスになっている場合、1つずつクローズすべきでしょうか?
でも、「チケット」はキリル文字ではダメで、ラテン語で「Ticket」でないとダメなんです。
for(int Ticket=OrdersTotal()-1; Ticket>=0; Ticket--) - これは、逆順(最後に開いたものから最初のものへ)のチケットによるマーケットオーダー検索のコードです - 私はそれを正しく理解するのですか?
しかし、キリル文字で「チケット」ではダメで、ラテン語で「Ticket」が必要です。
勝利の日おめでとうございます!!! 4日経っても返事がない。やってみよう...不満のある人がプライベートで書き込んで いる!!!
そして、2つの命令しかないのなら、という疑問が生まれました。大きなロットでマイナス利益、小さなロットでプラス利益の場合
そして、注文が1つしかない場合。また、すべての注文が同じロットで、すべて利益がマイナスになっている場合、1つずつ決済したほうがいいのでしょうか?
ありがとうございました。これはいい機能ですねー。この関数は、別の注文を開くのに十分なマージンがない場合に呼び出される必要があります。しかし、私は自分の考えを正しく表現できていなかったのです。オープンポジション からの利益が最大となる最大ロットと、オープンポジションからの利益がマイナスとなる最小ロットです。