double minlot = MarketInfo(Symbol(), MODE_MINLOT);
double maxlot = MarketInfo(Symbol(), MODE_MAXLOT);
double lotstep = MarketInfo(Symbol(), MODE_LOTSTEP);
double SMALL = 0.0000001;
double lot, nextlot;
//обнуляем внутреннюю переменную ошибкиGetLastError();
//смотрим, насколько дают открытьсяfor(lot=0; lot<maxlot+SMALL && GetLastError()!=ERR_NOT_ENOUGH_MONEY; lot = nextlot)
{
if(lot<minlot) nextlot = minlot;
else nextlot = lot+lotstep;
AccoutFreeMarginCheck(Symbol(), OP_BUY, nextlot);
}
// ответ на вопрос уже в переменной lot, а если вообще открыться нельзя, то там 0. Осталось нормализовать.// Нормализацию правильно проводить от lotstep, а не от minlot, т.к. встречаются ситуации когда, например, // minlot = 3.0, а lotstep = 0.1int dig = -MathFloor(MathLog(lotstep)/MathLog(10));
lot = NormalizeDouble(lot, dig);
このインジケーターのロジックを理解するのを助けてください。
ここで逆コンパイルするとBANされますよ。 。
MinLot および LotStep を介した処理
NormalizeDouble(lots,precision)例えばこんなことをしたい。
これはどうなるのでしょうか(MinLotとLotStep)。
どこにデコンプがあることが書いてあるんだ?)
モデレーターがやってきて、あなたが投稿したコードのロジックを調べます。だから、見える場所と見えない場所を指摘される前に、隠しておいた方がいいんです。
NormalizeDouble(lots,precision)例えばこんなことをしたい。
これはどうなるのでしょうか(MinLotとLotStep)。
スケッチしただけなんですけどね。こんな感じです。
なるほど、科学的な運動なんですね。パラメータはどこにも保存されないので、わかると思います。
なるほど、科学的な運動なんですね。パラメータはどこにも保存されないので、わかると思います。
テコが浮いている可能性があり、サーバーだけが知っているため、端末のどこにも保存できないのです。私見では、最も正しい計算方法は以下の通りです。
エラーが発生する理由を教えてください 130
エラーが発生する理由を教えてください 130