[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 561

 
Vinsant:

このインジケーターのロジックを理解するのを助けてください。

ここでデコンパイルするとBANされるよ。
 
Reshetov:
ここで逆コンパイルするとBANされますよ。 。
デコンプであることがわかるのはどこですか?) 残念ながら作者が見つからず、このインジケータは2006年に良いマーケットエントリーを示して いたのですが、今日思い出しました)) そのロジックが何を根拠にしているのか理解したいのです。
 
sergeev:

MinLot および LotStep を介した処理

NormalizeDouble(lots,precision)例えばこんなことをしたい。

これはどうなるのでしょうか(MinLotとLotStep)。

 
Vinsant:
どこにデコンプがあることが書いてあるんだ?)
モデレーターがやってきて、あなたが投稿したコードの論理を解明してくれるでしょう。だから、見えるところと見えないところを見せられる前に、隠しておいた方がいいんです。
 
Reshetov:
モデレーターがやってきて、あなたが投稿したコードのロジックを調べます。だから、見える場所と見えない場所を指摘される前に、隠しておいた方がいいんです。
あなたのアドバイスに従いました。
 
fore-x:

NormalizeDouble(lots,precision)例えばこんなことをしたい。

これはどうなるのでしょうか(MinLotとLotStep)。

スケッチしただけなんですけどね。こんな感じです。
double minlot = MarketInfo(Symbol, MODE_MINLOT);

int d = 0;
 
if (minlot < 0.9999) {
  if (minlot < 0.09999) {
    d = 2;
  } else {
    d = 1;
  }
}

 ... 

NormalizeDouble(lots, d);
 
Reshetov:
スケッチしただけなんですけどね。こんな感じです。

なるほど、科学的な運動なんですね。パラメータはどこにも保存されないので、わかると思います。

 
fore-x:

なるほど、科学的な運動なんですね。パラメータはどこにも保存されないので、わかると思います。

テコが浮いている可能性があり、サーバーだけが知っているため、端末のどこにも保存できないのです。私見では、最も正しい計算方法は以下の通りです。

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.1

int dig = -MathFloor(MathLog(lotstep)/MathLog(10));

lot = NormalizeDouble(lot, dig);

 

エラーが発生する理由を教えてください 130

ticket1 = OrderSend(Symbol(),OP_BUYLIMIT,Lot,Level,Slippage,0,0,0,MagicNumber,0,Green);
 
sss2019:

エラーが発生する理由を教えてください 130


ticket1 = OrderSend(Symbol(),OP_BUYLIMIT,Lot,Level,Slippage,0,0,0,MagicNumber,0,Green);
                                                                ^
                                                          Что за хрень?