externdouble LotPerThousand=0.1; // If you had 1000 balance what lot size would you useint start()
{
double lots;
lots=NormalizeDouble((LotPerThousand/1000)*AccountBalance(),2);
if(lots<MarketInfo(Symbol(),MODE_MINLOT)){ lots=MarketInfo(Symbol(),MODE_MINLOT); }
if(lots>MarketInfo(Symbol(),MODE_MAXLOT)){ lots=MarketInfo(Symbol(),MODE_MAXLOT); }
...
OrderSend(Symbol(),OP_BUY,lots,...)
...
return0;
}
/* new value of lot would be (old lot/old balance)*new balance in this case we fix old balance at 1000 and new balance is the current balance i.e. (LotPerThousand/1000)*AccountBalance() */
lots=NormalizeDouble((LotPerThousand/1000)*AccountBalance(),2); // round two 2 decimal places incase more than 2 decimal places is returnedif(lots<MarketInfo(Symbol(),MODE_MINLOT)){ lots=MarketInfo(Symbol(),MODE_MINLOT); } // if lower than minimum required use the minimumif(lots>MarketInfo(Symbol(),MODE_MAXLOT)){ lots=MarketInfo(Symbol(),MODE_MAXLOT); } // if higher than maximum required use the maximum
何をするために......あなたは実際に何をしたいのか説明していません......具体的な質問をされたにもかかわらず......。もし、あなたが質問されたことを無視すれば、あなたはすぐに無視されるでしょう。
ターボをつけるかつけないか
ターボをつけるかつけないか
初心者のため、できるだけシンプルなものがいいということだったので、一番わかりやすいものを探しました。
初心者のため、できるだけシンプルなものがいいということなので、一番わかりやすいものを探しました。
初心者のため、できるだけシンプルなものがいいということだったので、一番わかりやすいものを探しました。
ビンゴ!Tonny これはまさに私が欲しかったもので、Strategy Testerで 動作し、パーセンテージを維持しながらロットサイズを自動で増加させます。無数のif文で構成された私の以前のものよりも優れています。:-)
ロットサイズはminlotとmaxlotの間であり、かつlotStepの倍数でなければなりません。
親愛なるWHRoeder、多くのエラーを含むコードを与えることによって人々を誤解させないでください、あなたはコードでlsオブジェクトを定義していない、あなたはそれを使用するために誰かに与えている、あなたのいたずらな行動を停止してください。
あなたが初心者のため、できるだけシンプルなものを望んでいるようなので、私は最も理解しやすいものを探しました。
tonnyさん、あなたがくれたコードにとても感謝しています。
私は2日間それを見つけて、さらに私の妻とそれについてquarelledました
感謝