帮助“OrderSend error 4051”
1 頁面的第 562 頁 12 上一個上一個
Results 1 to 10 of 13

Thread: 帮助“OrderSend error 4051”

  1. #1
    大家好。我一直试图找出一段时间,但已经能够。一些帮助,这将是很好的。下面的代码是执行我的多头交易,但是我一直得到OrderSend函数的OrderSend错误4051无效金额。我尝试了各种方法,但似乎没有任何工作。通过在我的批量大小中使用此代码,我试图获得大小只会冒每个交易的百分比,但使用可变的止损作为参考。止损点从交易转变为交易,因为它是50烛后的最低点。如果你知道更好或更简单的方式,也将不胜感激。

    编辑:我试图通过这样做将风险/资金管理纳入我的交易。

    变量代码:
    插入代码extern int Risk_Percent = 3;/我的帐户对每笔交易的风险百分比。 double LowestShift = iLowest(Symbol(),PERIOD_H1,MODE_LOW,50,1);/找回50烛光中最低的蜡烛。双最低= iLow(符号(),PERIOD_H1,LowestShift);/找到LowestShift double发现的蜡烛低点Buy_Take_Profit =((Bid-Lowest) Ask);/以1:1进行交易
    执行代码:
    插入代码if(Condition1 gt; Condition2){if(Condition3 lt; Condition4){if(Condition5 lt; Bid){if(getOpenOrders()== 0){double Buy_Lots = NormalizeDouble(((AccountBalance()*(Risk_Percent100))/(((BID-最低)* 100000)*(MarketInfo(符号(),MODE_TICKVALUE)))),2); Buy_Order = OrderSend(Symbol(),OP_BUY,Buy_Lots,Ask,30,Lowest,Buy_Take_Profit,NULL,2000,0,clrGreen); }}}}

  2. #2
    请按订单大小进行打印。插入的代码双重买入也确保它是更大的,然后你的经纪人允许它。例如,您可能希望发送0.005手,这是不可能的(MT4限制),或0.05,但您的经纪商需要0.1手。也可以使用股票,而不是余额,也可以查看免费保证金

  3. #3
    感谢您的答复。我正在这样做,我会回来更多的信息。看起来Risk_Percent除以100的部分让我在打印中返回0。如果我将风险改为100,那么它会给我1.尽管它似乎不想给我一个小数。我会检查最小量,但我认为以上是错误的原因。仍然是一分钟和一个最大的不坏的事情来编程。我会改变它的公平。为什么我必须检查免费保证金?

  4. #4

    Quote Originally Posted by ;
    感谢您的答复。我正在这样做,我会回来更多的信息。看起来Risk_Percent除以100的部分让我在打印中返回0。如果我将风险改为100,那么它会给我1.尽管它似乎不想给我一个小数。我会检查最小量,但我认为以上是错误的原因。仍然是一分钟和一个最大的不坏的事情来编程。我会改变它的公平。为什么我必须检查免费保证金?
    Ernie11- Risk_Percent应定义为双重双重Risk_Percent = 0.30;/每笔交易的风险百分比。

  5. #5
    感谢您的答复。我通过执行Risk_Percent * 0.01而不是Risk_Percent100来工作。不知道为什么一个人工作,另一个人不工作,他们都给出了相同的答案。如果我将Risk_Percent加倍,我将无法将其从输入框中更改为正确的值?它永远是一个固定值?我想实施一个特殊的追踪止损,但我也有一些困难。我希望它在OpenOrderPrice和Take_Profit之间达到X%时开始追踪止损。你可以看看它吗?粗体部分是我从正常的追踪止损中更改的唯一部分。变量:插入的代码extern int Start_Trailing_Stop_Percent = 70; extern int Trailing_Stop = 100; double LowestShift = iLowest(Symbol(),PERIOD_H1,MODE_LOW,50,1); double HighestShift = iHighest(Symbol(),PERIOD_H1,MODE_HIGH,50,1);双最低= iLow(符号(),PERIOD_H1,LowestShift); double Highest = iHigh(Symbol(),PERIOD_H1,HighestShift); double Buy_Take_Profit =((Bid-Lowest) Ask); double Sell_Take_Profit =(Bid-(Highest-Ask));追踪止损:插入代码为(int i = 0; ilt; OrdersTotal(); i ){//选择打开交易if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)== false){}/执行买入交易的追踪止损如果(OrderType()== OP_BUY OrderSymbol()== Symbol()){if(Trailing_Stopgt; 0){#91; b#93; if(Bidgt;((((Start_Trailing_Stop_Percent * 0.01)*(Buy_Take_Profit-OrderOpenPrice ))))) OrderOpenPrice()){#91;b#93; if(OrderStopLoss()lt; Bid-Point * Trailing_Stop){if(OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point * Trailing_Stop,OrderTakeProfit(),0,clrGreen)){return;如果(OrderType()== OP_SELL OrderSymbol()== Symbol()){if(Trailing_Stopgt; 0){#91; b#93; if() Asklt;(OrderOpenPrice() - ((((Start_Trailing_Stop_Percent * 0.01)*(OrderOpenPrice() - Sell_Take_Profit)))))){#91;b#93;如果((OrderStopLoss()gt;(Ask Point * Trailing_Stop))||(OrderStopLoss()== 0)){if(OrderModify(OrderTicket(),OrderOpenPrice(),Ask Point * Trailing_Stop,OrderTakeProfit() 0,clrRed)){return; }其他{}}}}}}

  6. #6

    Quote Originally Posted by ;
    感谢您的答复。我通过执行Risk_Percent * 0.01而不是Risk_Percent100来工作。不知道为什么一个人工作,另一个人不工作,他们都给出了相同的答案。如果我将Risk_Percent加倍,我将无法将其从输入框中更改为正确的值?它永远是一个固定值?我想实施一个特殊的追踪止损,但我也有一些困难。我希望它在OpenOrderPrice和Take_Profit之间达到X%时开始追踪止损。你可以看看它吗?粗体部分...
    Ernie11-是的,你可以在它前面添加外部。至于追踪止损,我不会考虑在没有整个EA代码的情况下进行操作。

  7. #7
    1附件我将附上EA。所有这些都是我为了解决这个问题而付出的印花。我注意到买入逻辑中的OrderOpenPrice()与回测时的开盘价格不一样。感谢您花时间看看它。
    https://www.forex-pedia.com/attachme...2088120550.mq4

  8. #8
    1附件(S)
    Quote Originally Posted by ;
    我将附上EA。所有这些都是我为了解决这个问题而付出的印花。我注意到买入逻辑中的OrderOpenPrice()与回测时的开盘价格不一样。感谢您花时间看看它。 {文件}
    Ernie11-我做了一些修改 - 似乎在ST工作。
    https://www.forex-pedia.com/attachme...5186796309.mq4

  9. #9
    嗨cyber1。感谢您的帮助,我只是跑了一次,看它是否运行,它确实。我第一次实施资金管理部分时,会看到如何解决问题。这是为了帮助一个贸易不会比另一个贸易更大。

  10. #10
    嗨cyber1。我注意到我得到了相当多的OrderModify 130来运行它。你知道为什么吗?此外,它将止损设置移动到%输入,但不会从那里跟踪它,我会尝试将这部分与您所写的内容相加。

發布權限

  • 您不可發布新主題
  • 您不可回复
  • 您不可發布附件
  • 您不可編輯您的帖子
  •  
  • BB代碼是打開的
  • 表情符號是打開的
  • [IMG]代碼是打開的
  • [視頻]代碼是打開的
  • HTML代碼是關閉的
forex-pedia網站使用cookie 文字跟蹤
forex-pedia.com網站使用cookie 文字跟蹤,某些設定已經固定。您可以點擊此處閱讀我們的Cookie使用說明。 請點擊右鍵接受我們的cookies。如果您選擇繼續使用forex-pedia.com網站,我們將認為您接受我們的cookies。