任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 293

 
oDin48:

伙计们,请建议一个好的DC用于EA交易?


请分享信息,因为没有正常的DC,写猫头鹰有什么意义。
 

https://www.mql5.com/ru/market/product/1144

我有这个EA在市场上出售,售价1800美元,我在欧元兑美元上测试了一下,它能完美地赚钱,在其他货币对上,它的交易是零,我想它已经被调整到票据历史上了,这可能吗?

 
oDin48:

请分享信息,因为在没有任何正常DC的情况下,写一个猫头鹰有什么意义。
我建议你用谷歌搜索一下!一切都是正式的好!
 
SpikeOne:

https://www.mql5.com/ru/market/product/1144

我有这个EA在市场上出售,售价1800美元,我在欧元兑美元上测试了一下,它能完美地赚钱,在其他货币对上,它的交易是零,我想它已经被调整到票据历史上了,这可能吗?

我认为这与票据历史有关!这是为MT5准备的。你可以在那里问!
 
TarasBY:

...你是根据什么语言规则来雕刻的?比如说。

:)


这就是问题所在,这就是需要正确 "制定 "的东西,我一直有很好的逻辑感,但已经有一个月没有做到了((((((((。
 
niformalka:

这就是问题所在,这就是需要正确 "制定 "的东西,我一直对逻辑没有问题,但我已经有一个月没能做到了((((((((。

帮助就在眼前!

文件 教程 淘宝网 代码基础 文章

 

"如果(iCCI(Symbol,0,14,PRICE_TYPICAL,0)<100&&iCCI(Symbol,0,14,PRICE_TYPICAL,0)<100 {"

在我看来,这个例子缺少括号:3个开头和2个结尾。我建议猫头鹰的作者检查所有的括号是否匹配。

我想这样写。

如果((iCCI(Symbol,0,14,PRICE_TYPICAL,0)<100)&&(iCCI(Symbol,0,14,PRICE_TYPICAL,0)<100)){

 
oDin48:

"如果(iCCI(Symbol,0,14,PRICE_TYPICAL,0)<100&&iCCI(Symbol,0,14,PRICE_TYPICAL,0)<100 {"

在我看来,这个例子缺少括号:3个开头和2个结尾。我建议猫头鹰的作者检查所有的括号是否匹配。

我想这样写。

如果((iCCI(Symbol,0,14,PRICE_TYPICAL,0)<100)&&(iCCI(Symbol,0,14,PRICE_TYPICAL,0)<100)){


试过了,在列表的末尾仍然显示一个错误
 
oDin48:

在这个例子中,我认为有3个开括号和2个闭括号丢失。我建议猫头鹰的作者检查所有括号是否匹配。

另外Notepad++也是一个好主意,在Notepad本身,你可以为mql4代码选择C++语法,在设置菜单中tabulation应该被设置为cp3(默认情况下似乎是4)。一目了然,有两个好处。

1.在整个代码中突出显示名称相似的变量

2. 突出显示代码中任何地方的成对括号(包括垂直突出显示,如果代码是Tab-aligned)。任何括号--圆括号、曲括号或方括号。

最后但并非最不重要的是,方便的查找和替换(也在选择中),标签(这 "标记"),一般来说是一个简单和不复杂的开发环境。如果你把它和元编辑结合起来,你得到的当然不是一个工作室,而是一个适度强大的串联。

 

祝大家今天愉快

我有一个脚本,在CU中下订单。

请帮助我改变它,以便考虑到传播。

例如,一对GBPCAD 差价为10 - 更多的订单是卖出 - 所以TP应该在1.7010,止损在1.7000(1.6999是理想的)。

谢谢你


建议如何将扰流板放入

//+------------------------------------------------------------------+
//|                                                    ZeroLevel.mq4 |
//|                                                          VadimVP |
//|                                                poluyan@fxmail.ru |
/*
 Скрипт поставит TakeProfit и StopLoss у открытых ордеров на текущем
 инструменте на уровень безубыточности.
 Расчет ведется только для ордеров текущего инструмента.
 Учитывает своп и комиссии. Работает при любых Digits.
 Точность +/- размер спреда.
 Об успешности изменений сообщит в диалоговом окне.
 Проверьте, включена ли опция "разрешить советнику торговать". 
*/
//| 
//+------------------------------------------------------------------+
#property copyright "VadimVP"
#property link      "poluyan@fxmail.ru"
 
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
   int kol=0;
   int kolOK=0;
   int i=0;
   double lots=0;
   double sum=0;
   double sum1=0;
   for (i=0; i<OrdersTotal(); i++)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol()!=Symbol()) continue;
      if (OrderType()==OP_BUY)
      {
       lots=lots+OrderLots();
       sum=sum+OrderLots()*OrderOpenPrice();
       sum1=sum1+OrderProfit( )+OrderSwap( )+OrderCommission( )  ; 
       kol=kol+1;
      }
      if (OrderType()==OP_SELL)
      {
       lots=lots-OrderLots();
       sum=sum-OrderLots()*OrderOpenPrice();
       sum1=sum1+OrderProfit( )+OrderSwap( )+OrderCommission( )  ;
       kol=kol+1;
      }
   }
   double zeroprice=0;
   if (lots!=0) zeroprice=sum/lots;
   zeroprice = (MathRound(zeroprice*MathPow(10,Digits)))/MathPow(10,Digits);

   
//-----
 Alert ("!!!  Пожалуйста дождитель окончания работы скрипта!");
 int res = 0;
 for (i=0; i<OrdersTotal(); i++)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol()!=Symbol()) continue;
        
         if (zeroprice>Ask) 
         { if (OrderType()==OP_BUY) {if (zeroprice == OrderTakeProfit()) res=res+1; else { if (OrderModify(OrderTicket(),0,OrderStopLoss(),zeroprice,0,CLR_NONE)) res = res+1;}    }
           if (OrderType()==OP_SELL){if (zeroprice == OrderStopLoss()) res=res+1; else { if (  OrderModify(OrderTicket(),0,zeroprice,OrderTakeProfit(),0,CLR_NONE)) res = res+1;}     } }
         if (zeroprice<Bid) 
         { if (OrderType()==OP_BUY) {if (zeroprice == OrderStopLoss()) res=res+1; else { if (  OrderModify(OrderTicket(),0,zeroprice,OrderTakeProfit(),0,CLR_NONE)) res = res+1;} }
           if (OrderType()==OP_SELL){if (zeroprice == OrderTakeProfit()) res=res+1; else { if (OrderModify(OrderTicket(),0,OrderStopLoss(),zeroprice,0,CLR_NONE)) res = res+1;}    } } 
          
   }
 Alert ("***************************************************");
 Alert ("Цена безубыточности "+DoubleToStr(zeroprice,Digits));
 if (kol==res) Alert ("Все ордера успешно изменены! Точка безубыточности выставлена. ОК!"); else Alert ("!!! Внимание!!! Не удалось изменить - " +(kol-res)+ " ордера из "+kol+" имеющихся");
 Alert ("************ информация от ZeroLevel script ************");
 
//------

   return(0);
  }