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

 

理论问题。

1.如何写一个函数(在哪里可以读到)?

2.应该用哪个扩展名来编译和保存?

3.我应该把它保存在哪个文件夹里?

4.我是否需要写一个单独的脚本来运行它(或者专家顾问会自己运行)?

非常感谢那些没有通过我的问题的人!))。

 

你好,该指标没有绘制新的数值。 只有当我再次把它放在图表上时,它才会更新数值。

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 White
#property indicator_color2 White

//---- input parameters

extern int CountBars=3500;

//---- buffers
double val1[];
double val2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   IndicatorBuffers(2);
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,217);
   SetIndexBuffer(0, val1);
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,218);
   SetIndexBuffer(1, val2);
   SetIndexEmptyValue(1,0.0);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| AltrTrend_Signal_v2_2                                            |
//+------------------------------------------------------------------+
int start()
  { double F_u_EUR, F_u_GBP, F_d_EUR, F_d_GBP, F_u_USD, F_d_USD;
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if( counted_bars>0) counted_bars--;
   limit=Bars- counted_bars;
   for(int i=3; i< limit; i++)
{ 

	F_u_EUR=iFractals("EURJPY",15,MODE_UPPER, i);
	F_d_EUR=iFractals("EURJPY",15,MODE_LOWER, i);
	F_u_GBP=iFractals("GBPJPY",15,MODE_UPPER, i);
	F_d_GBP=iFractals("GBPJPY",15,MODE_LOWER, i);
	F_u_USD=iFractals("USDJPY",15,MODE_UPPER, i);
	F_d_USD=iFractals("USDJPY",15,MODE_LOWER, i);

if ( F_u_EUR> F_d_EUR&& F_u_GBP> F_d_GBP&& F_u_USD> F_d_USD)
{
	val1[ i]=High[ i]+35*Point;
}
if ( F_u_EUR< F_d_EUR&& F_u_GBP< F_d_GBP&& F_u_USD< F_d_USD) 
{
	val2[ i]=Low[ i]-35*Point;
}


}
   return(0);
  }

如果你能修复代码!

谢谢你

 
Kostay писал(а)>>

你好,该指标没有绘制新的数值。 只有当我再次把它放在图表上时,它才会更新数值。

如果你能修复代码!

谢谢

int start()
  { double F_u_EUR, F_u_GBP, F_d_EUR, F_d_GBP, F_u_USD, F_d_USD;
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if( counted_bars>0) counted_bars--;
   limit=Bars- counted_bars;
   if ( limit<3) limit+=3;
   for(int i=3; i< limit; i++)
{ 

F_u_EUR=iFractals("EURJPY",15,MODE_UPPER, i);
F_d_EUR=iFractals("EURJPY",15,MODE_LOWER, i);
F_u_GBP=iFractals("GBPJPY",15,MODE_UPPER, i);
F_d_GBP=iFractals("GBPJPY",15,MODE_LOWER, i);
F_u_USD=iFractals("USDJPY",15,MODE_UPPER, i);
F_d_USD=iFractals("USDJPY",15,MODE_LOWER, i);

if ( F_u_EUR> F_d_EUR&& F_u_GBP> F_d_GBP&& F_u_USD> F_d_USD)
{
val1[ i]=High[ i]+35*Point;
}
if ( F_u_EUR< F_d_EUR&& F_u_GBP< F_d_GBP&& F_u_USD< F_d_USD) 
{
val2[ i]=Low[ i]-35*Point;
}


}
   return(0);
  }
 

维宁谢谢你的帮助。修正了指标,把它放到可视化中,但它仍然没有画出新的价值!!!!。

我什么都不明白。

 
Kostay писал(а)>>

维宁谢谢你的帮助。修正了指标,把它放到可视化中,但它仍然没有画出新的价值!!!!。

我什么都不明白。

我猜想更新的条数总是少于3条,而且循环条件从未得到满足。

for(int i=3; i< limit; i++)
因为新的酒吧是一个一个地来的。也许是这样的

for(int i=3; i< limit+3; i++)

 
Kostay писал(а)>>

维宁谢谢你的帮助。修正了指标,把它放到可视化中,但它仍然没有画出新的价值!!!!。

我什么都不明白。

这就是多币种指标不应该在可视化上工作的方式。它从当前图表中获取其他时间段的数据。你必须为这种工作做时间上的同步。

 
Vinin >> :

这不是多货币工具在可视化上的工作方式。它从当前图表中获取其他时间段的数据。这种工作必须做到时间同步。

现在我明白了。非常感谢你!!!!!!!!!!!!。

 

你好!

是否可以用EA改变MT4的设置,比如说手数大小?

如果是的话,请告知!

 
vikon >> :

你好!

是否可以用EA改变MT4的设置,比如说手数大小?

如果是的话,请告知!

手数大小与MT4设置无关。:)在发送打开订单的请求时,它被指定为OrderSend 函数的一个参数。

 
Everlost >> :

手数大小与MT4设置无关。:)在发送打开订单的请求时,它被指定为OrderSend 函数的一个参数。

我知道用代码开单的事。

我需要创建一个具有管理属性的半自动系统。

我手动开仓,但手数由EA监控,并在MT中默认更改(服务/设置/交易/默认量)。

是否有可能做到这一点?

原因: