[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 126

 
eddy:
さて、損失と DecreaseFactorとは 何でしょうか?

損失 - 不採算取引

DecreaseFactor - 一連の負けトレードのロット減少の度合いです。

 

Sergey_Rogozin:

DecreaseFactor=3、 Loss= 3とすると、計算式によるとLot=0となります !!!

損失> 3の場合、Lot<0と なる。

だから取引が成立しない、そういう計算です)

負ければ

 
sergeev:
ということで、何も起こりません。関数Funk2 - は値を返しません。

この場合、問題の関数は

void TestFunction (double &return_value1, double &return_value2)
 
sergeev:
Funk2機能
ファンク:)
 
eddy:

だから取引が始まらないんだ、それを期待しているんだ)

すでに多くの損失がある場合。

だから、関わる可能性がまったくないとは言い切れないのです。

では、儲かるトレードはどこからやってくるのでしょうか?))))

 
Sergey_Rogozin:

つまり、電源が入る可能性をまったく閉ざしてしまうわけです。

そのため、DecreaseFactorを 設定しないか、小さく設定する)
 
Sergey_Rogozin:

損失 - 不採算取引

DecreaseFactor - 一連の負けトレードでLotが減らされる度合いです。

extern string a = "ЛОТ ММ";
extern bool   MM=false;      // если false - то работает обычный лот, если true - работает ММ
extern double Lots = 0.1;    // обычный лот
extern double balans = 200;  // баланс при увеличении которого, следующий лот будет увеличен на лот MaximumRisk При ММ
double MaximumRisk = 0.1;    // лот прибавляемый к предыдущему при ММ
double DecreaseFactor = 3.0; // если позиция проигрышная то следующая позиция откроется с лотом /3 При ММ



double LotsOptimized() {
double lot = Lots;
double minlot = MarketInfo(Symbol(), MODE_MINLOT);
double maxlot = MarketInfo(Symbol(), MODE_MAXLOT);
if (MM){
int orders = OrdersHistoryTotal();
int losses = 0;
lot = NormalizeDouble(AccountFreeMargin() * MaximumRisk / balans, 2);
if (DecreaseFactor > 0.0) {
for (int i = orders - 1; i >= 0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) == FALSE) {
Print("Error in history!");
break;
}
if (OrderSymbol() != Symbol() || OrderType() > OP_SELL) continue;
if (OrderProfit() > 0.0) break;
if (OrderProfit() < 0.0) losses++;
}
if (losses > 1) lot = NormalizeDouble(lot - lot * losses / DecreaseFactor, 2);
}}
if(lot < minlot) lot = minlot;
if(lot > maxlot) lot = maxlot;
return (lot);}
 
Martingeil:

はい、まさにその通りです。

損失 / DecreaseFactor >= 1 の場合はどうなるのでしょうか?

あ~!初期Lotから始まりますね。

ありがとうございます。

 
Sergey_Rogozin:

はい、まさにその通りです。

損失 / DecreaseFactor >= 1 の場合はどうなるのでしょうか?

は、前のものが不採算であった場合、3で分割されます。分割時のロットが最小でない場合、最小ロット機能が有効になります
lot = minlot;
 
Martingeil:
前作は採算度外視で、ロットが最小ロットを下回ると最小ロット機能が引き継がれます。

はい、ありがとうございます

了解です。