[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 360

 
Vitya >> :

如果你的意思是锁定,你不明白----,我不坚持,我不知道如何使用它。

关闭一部分无利可图的头寸?------ 我想是的,但我还没有试过。

我自己不知道如何使用它。

https://www.mql5.com/ru/code/9185

 
costy_ >> :

手动测试器的答案只能在那里找到(或在演示中)这里是模拟器的链接

https://www.mql5.com/ru/code/9185

我认为答案只能在数学或真正的交易经验中找到。太糟糕了,我两者都没有。谢谢你的链接。

 
Vitya >> :

我认为答案只能在数学或实际交易经验中找到。我觉得太糟糕了,我一个都没有。谢谢你的链接。

如果你对数学一窍不通,但又不会交易,你需要学习,你最终会成功的!"。

我建议用CCI(55)和MA(55)开始手动交易,在M5 GBPJPY的斐波那契 数字 ,并在该数字内找到你的周期(今天我的是67),祝你好运!

是的,我差点忘了,交易时间也很重要,即货币为主要货币的地区(和美国......)的交易时段的开盘。

 
谁能检查一下这个模块中的一切是否正确。
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// MOVE SL TO BE

if( Mode_Close_Part_Set_BE_1==true   &&   OrdersTotal()>0) {

      for(int cnt_BE=0; cnt_BE<OrdersTotal(); cnt_BE++) {
         OrderSelect( cnt_BE, SELECT_BY_POS);         // the next line will check for ONLY market trades, not entry orders
         Ticket = OrderTicket();

// BUY -----------------------------------------------------------------------------------------
         if(OrderType()==OP_BUY   &&   OrderSymbol()==Symbol()   &&   OrderStopLoss()<OrderOpenPrice()   &&   Ask>=(OrderOpenPrice()+ MathAbs(OrderOpenPrice()-OrderStopLoss())) ) {
                  double SL_Original_Buy   = OrderStopLoss();

                  bool AnsHalfModifySL_Buy = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);
                  Sleep( Slippage*3000);

                  if( AnsHalfModifySL_Buy==true) {
                     BreakEvenStatus_Buy   = true;
                     Alert ("SL Buy which was ", SL_Original_Buy, " set to BreakEven at ", OrderStopLoss(), " for ", Symbol());
                  }

                  if( Fun_Error(GetLastError())==1) {       // Обработка ошибок
                     continue;                             // Повторная попытка
                  }

                  return;                                // Выход из start()
         } // if(OrderType() == OP_BUY  &&  OrderSymbol()==Symbol() )
// EO BUY -----------------------------------------------------------------------------------------


// SELL -----------------------------------------------------------------------------------------
         if(OrderType()==OP_SELL  &&  OrderSymbol()==Symbol()   &&   OrderStopLoss()>OrderOpenPrice()   &&   Bid<=(OrderOpenPrice()-MathAbs(OrderStopLoss()-OrderOpenPrice())) ) {
                  double SL_Original_Sell   = OrderStopLoss();

                  bool AnsHalfModifySL_Sell = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Blue);
                  Sleep( Slippage*3000);

                  if( AnsHalfModifySL_Sell==true) {
                     BreakEvenStatus_Sell   = true;
                     Alert ("SL Sell which was ", SL_Original_Sell, " set to BreakEven at ", OrderStopLoss(), " for ", Symbol());
                  }

                  if( Fun_Error(GetLastError())==1) {       // Обработка ошибок
                     continue;                             // Повторная попытка
                  }

                  return;                                // Выход из start()
         } // if(OrderType() == OP_SELL  &&  OrderSymbol()==Symbol() )
// EO SELL -----------------------------------------------------------------------------------------

      } // for(cnt_BE=0; cnt_BE<OrdersTotal(); cnt_BE++)
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


我问这个问题是因为每次调用后都会出现 "发生错误0 "的信息,尽管一切似乎都在正常工作(将达到收支平衡)。





 
chief2000 писал(а)>>
谁能检查一下这个模块中的一切是否正确。

我问这个问题是因为每次调用后都会出现以下信息:"发生了错误0",尽管一切似乎都在正常工作(要达到收支平衡)。

很可能是试图以旧价格修改订单。我们应该比较新旧秩序的参数。而且只有在必要时才应进行修改。

 

错误0发生在OrderModify实际上没有修改任何东西的时候--它把价格改为旧的。

 

下面是一个例子。




在SL=1.1596的情况下开了一个订单。然后SL变为1.1570,最后出现这个错误。

它不能进入第二轮,因为有一个条件。

... OrderStopLoss()>OrderOpenPrice() ...


- 会是什么呢?





 
chief2000 писал(а)>>

下面是一个例子。

在SL=1.1596的情况下开了一个订单。然后SL变为1.1570,最后出现这个错误。

它不能进入第二轮,因为有一个条件。

- 会是什么呢?

它可以。再次检查逻辑条件,但只在早上检查。

逻辑中的东西是允许它这样做的。

 
Vinin >> :

也许。再次检查逻辑条件,但只在早上检查。

逻辑中内置的东西允许你这样做。

我会检查的。>>谢谢你!

 

帮助

int start()  {
//----
Alert(Minute(),Hour());
intMinute( )
返回程序开始时最后已知的服务器时间的当前分钟(0,1,2,...59)(该值在程序执行期间不改变)。

注意:在测试中,最后已知的服务器时间 是模拟的。

但在指标中,当测试时,最后已知的服务器时间没有被模拟出来。应该是这样吗?

原因: