// этот код будет работать корректно только если в истории отсутствуют отложенные ордера.
int SchLossOrders(){
string SMB=Symbol();
int Sch=0;
int i;
for (i=OrdersHistoryTotal()-1;i>=0;i--){
if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { Print("Ошибка ",GetLastError()," при выборе ордера");}
else {
if(OrderProfit()<0 && (OrderType()==OP_BUY || OrderType()==OP_SELL)){
Sch++;
}
else{
return(Sch);
}
}
}
return(Sch);
}
EAの冒頭で私たちはこう書いています。
if(SchLossOrders()>=10){
// 10 последних сделок были убыточными - выполняем какое-то действие
}
mql4でいくつかのテキストをファイル、例えば*.txtに書き込み、その後取引のためにこのデータを取得することが可能かどうか助言してください。 アイデアは、EAがそれ自身の取引を学習することで、価格が数バーにつき100*ポイント以上変化したとき、EAはこれらの値を記憶して、それらを使用しようとします(注文を開くための指標値+/- n%)。 これはEAにも実装できましたが、メタトレーダーを終了するとすべての変数値がゼロにリセットされているように思われます。
最後の10ポジションがマイナスでクローズされた場合、あるアクションを実行する関数を書くのを手伝ってください。
ありがとうございました。はい、はい、わかりました.しかし、苦労して稼いだお金を手放す前に、必要なスクリプトがパブリックドメインで入手できないかどうか確かめたい
スクリプトは通常、シンプルで統一された動作を行うように設計されています。スクリプトのセットを使用し、それぞれが異なるホットキーにバインドされるようにするのが最適です。
例えば、こんな感じです。
といった具合に。
リバーススクリプト site:mql4.com のような google のリクエストで検索すれば、データベース内の対応する既製のスクリプトを見つけることができます。
例えば、直近の10ポジションがマイナスで決済された場合、ある動作をするような関数を書きたいのですが。
ありがとうございました。ループの中で損切りしたラストオーダーの数を計算するのは難しいことではありません。しかし、不明確なアクションを実行するようなコードを書くにはどうしたらいいのでしょうか?
こんにちは!ここで質問なんですが・・・。入力条件や補助関数、extern doubleなどの外部変数が豊富なため、EAが重くなることがあるのでしょうか? テスターでは謎のままですが...。最初のロボットはコード内にすべてを隠したもので、すべてがextern doubleであるロボットよりドローダウンが大きい...どちらも同じ変数パラメータを持っているが。(も同じです)。
変数の値をもう一度確認してください。もしかしたら、変数の値が違っていて、最初のものをコンパイルするときに、互いに異なる動作をする可能性があります。
それとは別に、検索-ダウンロード-WinMergeU.exeで、このプログラムと比較してください。
https://www.mql5.com/ru/code/9274 からダウンロードしました。
ここからダウンロードしたスクリプトで、あらかじめ設定した利食いと損切りを自動的に設定するのですが、価格に従って浮動し始めます。何が問題で、どのように設定すれば固定になるのか教えてください。
を計算するコードが必要です。
これは難しいことではありません。サブプログラムを書く。
EAの冒頭で私たちはこう書いています。