[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 556

 
Dimka-novitsek:
我想首先删除所有的东西,第二是把一个订单。

根据TarasBY 对代码的编辑设置。

在脚本代码的开头

"

#include     <stdlib.mqh>                        // Библиотека расшифровки ошибок


"

 

当然,我是这样做的!尽管我没有意识到这是什么。

2012.11.30 15:09:07 Buyforum EURUSD,H1: 删除
2012.11.30 14:51:56 Buyforum EURUSD,H1: uninit reason 0
2012.11.30 14:51:05 buyforum EURUSD,H1:加载成功

 
它在炫耀--它不会发送,它不会插入。每次思考20秒。
 
Dimka-novitsek:

当然,我是这样做的!尽管我没有意识到这是什么。

2012.11.30 15:09:07 BuyForum EURUSD,H1: uninit
2012.11.30 14:51:56 Buyforum EURUSD,H1: uninit reason 0
2012.11.30 14:51:05 buyforum EURUSD,H1:加载成功


它在正常工作。没有错误。

脚本在成功加载后会从图表中卸载(加载成功)。

 

就是这样,它成功了!!!。谢谢你。当我把一个EA放在图表上时,除了EA窗口亮起一个绿圈外,我还特别允许它进行交易--EA要求提供可变参数,同时要求允许交易

我在图表上的脚本悄悄地消失了。专家顾问在旁边交易,而我不在。我猜想,这里有某种神秘的东西。

我在设置中挖空心思,调整了所有的东西,结果都成功了。非常感谢!

 
再次感谢你,对不起!
 

你能告诉我如何写(或写什么),以便在外部变量参数中只能选择严格定义的值?

说:5、10、20、40、60等等。

如果你不能写下来,最好的方法是什么?通过与价格的比较和四舍五入?还是其他?


提前感谢!

 
TarasBY:

也许这个会有用。


试试这个
//|                                                         0000.mq4 |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
//+------------------------------------------------------------------+
#include     <stdlib.mqh>                 // Библиотека кодов ошибок
string ErrorDescription(int error_code);
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
int start()
   {
   double ld_Price;int N=23,Ticket=-1;
   for (int i=OrdersTotal()-1;i>=0;i--)
      {
      if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))continue;
      if(OrderSymbol()!=Symbol())continue; 
      if(OrderType()>=2)
         {
         if(OrderDelete(OrderTicket())==true)continue;
         else Print("Error: ",ErrorDescription(GetLastError()));
      }
      if(OrderType()==OP_SELL)ld_Price=Ask;
      if(OrderType()==OP_BUY)ld_Price=Bid;
      if(OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(ld_Price,Digits),6,Red)==true)continue;
      else Print("Error: ",ErrorDescription(GetLastError()));
   }
   for(i=0;i<N;i++)
      {
      if(!IsTradeAllowed()){Sleep(2000);continue;}
      RefreshRates();
      Ticket=OrderSend(Symbol(),OP_BUY,0.1,NormalizeDouble(Ask,Digits),6,0.0,0.0,"Skript",98600,0,Blue);
      if(Ticket>=0)break;
      else Print("Error: ",ErrorDescription(GetLastError()));Sleep(2000);
    }
    if(Ticket<0)Alert("Не удалось открыть ордер за ",N," попыток","Error: ",ErrorDescription(GetLastError()),". Скрипт завершил работу.");
    return (0);
}
//+------------------------------------------------------------------+
 
Chiripaha:

你能告诉我如何写(或写什么),以便在外部变量参数中只能选择严格定义的值?

说:5、10、20、40、60等等。

如果不能这样写,有什么好办法吗?通过与价格比较和四舍五入?还是其他办法?


提前感谢!


声明一个字符串类型的外部变量,并用指令和你的参数集将其初始化为字符串。它将在属性窗口中可见。
 
rigonich:

声明字符串类型的外部变量,并用指令和你的参数集将其初始化为字符串。它将在属性窗口中可见。

:)))什么是指令串? 如果你能,用你的手指给我看看。或者更好的是,写一个例子。我将通过类比来进行。

那么--如果是字符串,这个数据会被当作数据还是会像文本一样被处理?

或者,如果在计算中甚至使用了文本值,如果它们是由数字组成的,它们会被视为数字吗?