订单开放逻辑和最佳实践
Results 1 to 8 of 8

Thread: 订单开放逻辑和最佳实践

  1. #1
    为了开启订单,我需要帮助正确设置逻辑...。如果价格触及一条线,最佳做法是什么? (还有,滑点)
    =============================

    订单开放的变量:
    插入代码int i;/Bar索引int Counted_bars;/计数的条数Counted_bars = IndiorCounted();/计数的条数i = Bars-Counted_bars-1; (igt; = 0)//循环不计数的小节{double MA_Line = iCustom(NULL,timeframe,MA StdDev,MA_Period,1,6,0,0,i); double S_Line1 = iCustom(NULL,timeframe,MA StdDev,MA_Period,1,6,0,1,i); double S_Line2 = iCustom(NULL,timeframe,MA StdDev,MA_Period,1,6,0,2,i); double S_Line3 = iCustom(NULL,timeframe,MA StdDev,MA_Period,1,6,0,3,i); double S_Line4 = iCustom(NULL,timeframe,MA StdDev,MA_Period,1,6,0,4,i); double U_StopLoss = iCustom(NULL,timeframe,MA StdDev,MA_Period,1,6,0,5,i); double L_StopLoss = iCustom(NULL,timeframe,MA-StdDev,MA_Period,1,6,0,5,i); double B_Line1 = iCustom(NULL,timeframe,MA-StdDev,MA_Period,1,6,0,1,i); double B_Line2 = iCustom(NULL,timeframe,MA-StdDev,MA_Period,1,6,0,2,i); double B_Line3 = iCustom(NULL,timeframe,MA-StdDev,MA_Period,1,6,0,3,i); double B_Line4 = iCustom(NULL,timeframe,MA-StdDev,MA_Period,1,6,0,4,i);双StochBuyLine = iStochastic(Symbol(),0,14,3,3,1,1,0,i);双StochSellLine = iStochastic(Symbol(),0,14,3,3,1,1,1,i);一世 - ; }
    需要审查和建议的逻辑:

    插入代码if(Tradeable)else break;如果CurrentPrice < MA_Line {如果StochBuyLinegt; StochSellLine StochBuyLinelt; = 10 CurrentPrice = B_Line4 {OpenBuyOrder @ Line4LotSize}否则如果StochBuyLinegt; StochSellLine StochBuyLinelt; = 10 CurrentPrice = B_Line3 {OpenBuyOrder @ Line3LotSize}否则如果StochBuyLinegt; StochSellLine StochBuyLinelt; = 10 CurrentPrice = B_Line2 {OpenBuyOrder @ Line2LotSize}否则如果StochBuyLinegt; StochSellLine StochBuyLinelt; = 10 CurrentPrice = B_Line1 {OpenBuyOrder @ Line1LotSize}}否则{如果StochSellLinegt; StochBuyLine StochSellLinegt; = 90 CurrentPrice = B_Line4 {OpenBuyOrder @ Line4LotSize}否则如果StochSellLine StochSellLinegt; = 90 CurrentPrice = B_Line3 {OpenBuyOrder @ Line3LotSize}否则如果StochSellLinegt; StochBuyLine StochSellLinegt; = 90 CurrentPrice = B_Line2 {OpenBuyOrder @ Line2LotSize}否则,如果StochSell Linegt; StochBuyLine StochSellLinegt; = 90 CurrentPrice = B_Line1 {OpenBuyOrder @ Line1LotSize}#91; font = quot#93;}#91;font#93;

  2. #2
    几件事情:1.如果第一块代码来自您的EA。摆脱while循环。这不是必需的。为当前条指定i = 0或为前一个条指定i = 1。无需及时回溯,因为您的EA真的不在乎3000小时前发生的事情。 2.如果您有currentprice = B_Line4(以及其他),则单个=符号是一个赋值运算符。为了检查平等,你需要两个==符号。 3.就同一主题而言,价格永远不会与您的生产线价值完全相同。如果生产线在123.4554332,价格在123.45,mt4会认为这些不相等。请使用NormalizeDouble或检查价格是否超过了线路。 4.使用ordersend函数检查错误代码。 ordersend将返回一个整数。 5.滑点取决于你。但我可以保证演示中的作品不一定能够在现场使用。这就是为什么你使用ordersend函数检查错误代码的原因。有时候你需要在服务器上打2-3次才能下订单。

  3. #3
    请使用NormalizeDouble或检查价格是否超过了线路。你能给我看一个交叉线检查的例子吗?......虽然我更喜欢逻辑去尝试并在它碰到线时得到它......所以我猜NormalizeDouble应该是我去的路

  4. #4
    如果你正在寻找它跨越上升..... if(Open [0] lt;行关闭[0] gt; =线)它交叉了下去if(Open [0] gt; the行关闭[0] lt; =行)它横过

  5. #5
    嘿...通常最好的做法是什么?击中线或交叉?

  6. #6

    Quote Originally Posted by ;
    嘿...通常最好的做法是什么?击中线或交叉?
    我会交叉。有时价格会涨2点或更多,只是跳跃平等。你可以检查交叉,然后确保价格在线的1-2点之内。

  7. #7
    所以,我可以做这样的事吗?插入代码if line4tradeslt; 1 StochBuyLinegt; StochSellLine StochBuyLinelt; = 10 CurrentPrice = = B_Line4((Open#91; 0#93; lt; line Close#91; 0#93; gt; = line)||(Open# 91; 0#93; gt;行关闭#91; 0#93; lt; =行))

  8. #8
    看起来我的最后一个回应是通过裂缝

發布權限

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