みなさん、こんにちは。私はしばらくの間これを理解しようとしていましたが、できました。これで何か助けてもいいですね。以下のコードは私の長い取引を実行するものですが、私はOrderSend関数のためにOrderSendエラー4051無効なロット金額を得続けます。アイブはいろいろ試しましたが、何も動かないようです。私のロットサイズでこのコードを使用することで、多くのサイズを取得しようとしていますが、貿易当たりのパーセンテージはリスクになりますが、参照として変数stoplossを使用します。貿易から貿易に至るまでのストッププラスは、キャンドルバックが50以下で最低となって以来変化しています。もしあなたがより良いまたはより簡単な方法を知っていれば、それはまた評価されるでしょう。
編集:私はこれを行うことによって私の取引にリスク/マネー管理を組み込もうとしています。
変数コード:
挿入されたコードextern int Risk_Percent = 3;/取引あたりのリスクのあるアカウントの割合。二重LowestShift = iLowest(シンボル()、PERIOD_H1、MODE_LOW、50,1);/50個のろうそくの中で最低の低いろうそくを見つけます。二重Lowest = iLow(シンボル()、PERIOD_H1、LowestShift);/LowestShift doubleで見つけられたローソクを見つけます。Buy_Take_Profit =((Bid-Lowest) Ask);/取引を1:1にする
実行コード:
{if(Condition1 gt; Condition2){if(Condition5 lt; Condition4){if(Condition5 lt; Bid){if(getOpenOrders()== 0){Double Buy_Lots = NormalizeDouble((AccountBalance()*(Risk_Percent100))/(((Bid-Lowest)* 100000)*(MarketInfo(Symbol()、MODE_TICKVALUE)))))、2); Buy_Order = OrderSend(Symbol()、OP_BUY、Buy_Lots、Ask、30、Lowest、Buy_Take_Profit、NULL、2000,0、clrGreen); }}}}