口座残高の〇パーセントで決済したい!
FX
こんにちは。ちょびっとfxです。
さて、タイトル通りですが、EAつくーるで出力されたソースコードを基に、口座残高のパーセントで利確するロジックを作ってみました。
今日の目標利益は5%!って時に活躍すると思います。
では早速。
事前にEAつくーるにて、クローズ処理のソースを作ってもらいます。
ざっくり、こんな感じ。
*買いポジション決済と売りポジション決済2つを作りました。
EAつくーるで作ってもらったソースの中から、決済部分を捜します。
lots = Lots;
take_profit = TakeProfit;
stop_loss = StopLoss;
signal = 0;
if(getOrderProfit("0", 0, true) >= Number_value_1_1_2) signal = 1;
if(signal != 0 && getOpenLots(Magic1, OP_BUY) != 0) {
closePosition(Magic1, OP_BUY);
}指定した利益で決済するように、決済分「if(getOrderProfit("0", 0, true) >= Number_value_1_1_2) signal = 1;」を用意されている「take_profit」で決済されるように変更。
lots = Lots;
take_profit = TakeProfit;
stop_loss = StopLoss;
signal = 0;
if(getOrderProfit("0", 0, true) >= take_profit) signal = 1;
if(signal != 0 && getOpenLots(Magic1, OP_BUY) != 0) {
closePosition(Magic1, OP_BUY);
}「take_profit = TakeProfit;」部分を、口座残高のパーセントの値になるように変更
take_profit = AccountBalance() * (TakeProfit / 100);
「AccountBalance()」は、口座残高を取得できる便利関数。
lots = Lots;
take_profit = AccountBalance() * (TakeProfit / 100);
stop_loss = StopLoss;
signal = 0;
if(getOrderProfit("0", 0, true) >= take_profit) signal = 1;
if(signal != 0 && getOpenLots(Magic1, OP_BUY) != 0) {
closePosition(Magic1, OP_BUY);
}
これで「input」のデフォルトpips指定の「TakeProfit」にパーセント指定すればOKです。
簡単ですね。
ファイルDLは下記より。
×![]()
Is it OK?