[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 434

 

帮助 )

1.即时检测到新开的交易(非挂单)订单(手动开仓和借助EA开仓)如果系统检测到一个没有提前开仓的订单,那么它将在第2项下继续。

2.任何任务都只执行一次,只针对这个订单。

再有一个订单打开后,系统又开始从第1点到第2点工作。

你能帮助一个刚接触编程的人 吗?

请帮助。我们如何才能做到这一点?我识别每一个新开的订单,随后的任务为1-n次,只是为了这个订单,如此下去,每一个新开的订单。

谢谢你。

有一个大纲,但它没有索引订单。

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{


//----

for (int k=OrdersTotal()-1;k>=0;k--)//Начинаем перебор всех открытых ордеров начиная с конца
{
RefreshRates();//Обновляем котировки, необходимо при модификации или закрытии ордеров
if (OrderSelect(k,SELECT_BY_POS,MODE_TRADES)==true&&OrderSymbol()==Symbol())//Выбираем ордер с номером из цикла, и проверяем, совпадает ли символ ордера с текущим
{
int cmd=OrderType();//В переменной cmd будем хранить тип ордера
if(cmd>1)//Нас интересуют только отложенные ордеры
{
//Что-то делаем
}
if (cmd==OP_BUY)//А вдруг на покупку ордер?
{
Alert (GetLastError());
}
if (cmd==OP_SELL)//Или на продажу?
{
Alert (GetLastError());
}
}
}
//----
return(0);
}

 

大家好!

你能告诉我为什么这个指标不能绘制每个条形图,我必须重新排列才能看到图表?

//+------------------------------------------------------------------+
//|                                                Ср.отклонение.mq4 |
//|                                                Copyright © 2011. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property  copyright "Copyright © 2011, Dimon"
#property  link      "todem5@gmail.com"
//---- indicator settings
#property  indicator_separate_window
#property  indicator_buffers 1
#property  indicator_color1  Lime
#property  indicator_level1  100
#property  indicator_style1  1
#property  indicator_level2  20
#property  indicator_style2  1
//#property  indicator_color2  Red
#property  indicator_width1  2
//---- indicator parameters
//---- indicator buffers
extern int period=24;
double     MacdBuffer[];
double     SignalBuffer[];
int tf, k;
string S;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   tf=Period();
   S=Symbol();
//---- drawing settings
   SetIndexStyle(0,DRAW_LINE);
   //SetIndexStyle(1,DRAW_LINE);
   
   IndicatorDigits(Digits+1);
//---- indicator buffers mapping
   SetIndexBuffer(0,MacdBuffer);
   //SetIndexBuffer(1,SignalBuffer);
//---- name for DataWindow and indicator subwindow label
   IndicatorShortName("Ср.отклонение.: "+period+", в %: ");
   SetIndexLabel(0,"MACD");
   //SetIndexLabel(1,"Signal");
//---- initialization done
      
   return(0);
  }
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence                           |
//+------------------------------------------------------------------+
int start()
  {
   if (!IsOptimization() && !IsTesting() && !IsVisualMode()) {
   k=WindowFind("Ср.отклонение.: "+period+", в %: ");
   ObjectDelete("OrdCr2");
   ObjectCreate("OrdCr2", OBJ_LABEL, k, 0, 0);
   ObjectSet("OrdCr2", OBJPROP_CORNER, 2);
   ObjectSet("OrdCr2", OBJPROP_XDISTANCE, 5);
   ObjectSet("OrdCr2", OBJPROP_YDISTANCE, 22);
   ObjectSet("OrdCr2", OBJPROP_COLOR, Red);
   ObjectSetText("OrdCr2", "Ср.откл.1", 10, "Arial Black", Moccasin);
   }      
   double sum, f;
   int limit;
   int P;
   if (Digits==5) {P=100000;}
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
//---- macd counted in the 1-st buffer
   for(int i=0; i<limit-period; i++){
      sum=0;
      for (int k=i+1;k<=i+period;k++){
      if (iHigh(Symbol(),tf,k)>iLow(Symbol(),tf,k)) {f=(iHigh(Symbol(),tf,k)-iLow(Symbol(),tf,k));}
      if (iHigh(Symbol(),tf,k)<iLow(Symbol(),tf,k)) {f=(iLow(Symbol(),tf,k)-iHigh(Symbol(),tf,k));}
      sum=sum+(f*P);
      }   
      MacdBuffer[i]=sum/24; 
      }
   
   return(0);
  }
//+------------------------------------------------------------------+
附加的文件:
 
Roman.:
伙计们,你们能告诉我如何在Excel中把一个数字的小数部分的除法(按程序识别)用逗号替换成点 吗?谢谢你的帮助。


控制面板 - 语言和区域标准

将标准改为英语,例如--分号变成句号。
解决数据传输问题--然后改回标准

 
Roman.:
伙计们,你们能告诉我如何在Excel中把一个数字的小数部分的除法(按程序识别)用逗号替换成点 吗?谢谢你的帮助。

第二个选择是在Excel设置中改变分隔符
 
abolk:


控制面板--符合区域标准的语言

将标准改为例如英语 - 逗号变成句号。
解决数据传输问题--然后改回标准


谢谢你
 
sergeev:


第二个选择是在Excel设置中自行改变分隔符

谢谢你...在俱乐部主席的建议下,我已经这样做了......:-))) 如何在excel本身的设置中改变分隔符 - 我没有找到。
 
Roman.:

excel - 我找不到它。
优秀的版本?
 
sergeev:
优秀的版本?


2003г
 
Roman.:

2003г

服务-设置-国际
 
sergeev:

服务-设置-国际

是的,知道了,知道了。谢谢你。在那里也改了。