double history(){
int i;
//обьявляем необходимые нам переменные куда мы положим интересующие нас характеристики ордера double profit;
datetime time;
time = 0;
profit = 0;
for(i = OrdersHistoryTotal();i>=0;i--){// Перебираем все закрытые ордераif(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){//если ордер с таким номером (i) в списке закрытых ордеров есть ( не путать с тикетом)if(OrderSymbol() == Symbol()){//если выбранный ордер был открыт по нашей валютной пареif(time<OrderCloseTime()){//(сравниваем его с хранящимся в переменной time)
time=OrderCloseTime();//если время закрытия ордера больше - ложим его в переменную
profit=OrderProfit();//и заодно запоминаем прибыль ордера
}
}
}
}
//по окончании этой процедуры в наших переменных будут сидет наибольшее время закрытия, и его профит. Или по нулям если история чистая.//теперь мы можем выставлять условия в зависимости от результата процедурыif(profit == 0 &&time == 0){//действия если история чистаяPrint("история чистая");
}
if(profit >= 0){//действия если последний ордер был прибыльным, или нулевымPrint("последний ордер был прибыльным, или нулевым");
}
if(profit < 0 ){//действия если последний ордер был убыточнымPrint("последний ордер был убыточным");
}
return(profit);// вернем в качестве результата функции значение прибыли последнего ордера из истории, так на всякий случай ;)
}
ヴァディムさん、Javaでコーディングできるんですか?
どなたか、古典的なマーチンゲールのロットを計算する最も簡単なスクリプトを投稿していただけませんか。前の取引が損失で終了した場合、次の取引はダブルロットで開始します。自分で書いたんですよ。
extern double Lot = 0.1; extern double MM_koef = 2; extern int magic = 56565;
double Lots=Lot;
{OrderSelect(OrdersHistoryTotal(), SELECT_BY_POS, MODE_HISTORY); //履歴から最後の注文を確認 if( OrderMagicNumber() == magic && ( (OrderType() == OP_BUY && ))(OrderOpenPrice()-OrderClosePrice())<0) //買いの場合、損失を意味する || (OrderType() == OP_SELL && (OrderOpenPrice()-OrderClosePrice())>0) //売りの場合、損失を意味する ) ) Lots=OrderLots()*MM_koef;Print(Lots); }.if (Lots<=0) Lots=Lot;
....OrderSend(Symbol()、OP_BUY、Lots、.........................。
Martinのlotの自動計算がうまくいかないのですが、なぜか0.1と認識されるのですが?どなたか教えてください。
というのも、このようなことがあるからです。
https://www.mql5.com/ru/auth_login ここでログインできない理由を教えていただけませんか?ユーザー名とパスワードの入力ができない(カーソルが点滅しない、またはカーソルが全くない)。
何かおかしいぞ。
試してみました。問題なくログインしています。
何かおかしいぞ。
試してみました。問題なく入れました。
どうしよう、再登録?あるいは、どこに相談すればいいのか?
まずはパソコンを再起動してみるとか・・・)
再起動してもダメでした
OrderModifyのEAで、自動で修正されるときと、ウィンドウが表示されて確認ボタンを押さなければならないとき(MTでF9で開くウィンドウ)があるのはなぜでしょうか?
コード中にOrderModify(......)という行があるだけで、上記のようなロジックは全く実装されていないのです。
OrderModifuが失敗したら、証券会社からこの窓を開けるように信号が送られるのではという思いがあります。可能なのでしょうか?