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

 
Vinin >> :

类似这样的事情对我来说是可行的。

>>非常感谢你!

 

下午好!

今天在Alpari上做了一个演示,对小数点后五位感到惊讶。我不得不重新做了EA,增加了一个10。

如果解释一下小数点后五位和四位的区别并不困难,或者给我一个可以读到的链接。

 
gvi2504 >> :

下午好!

今天在Alpari上做了一个演示,对小数点后五位感到惊讶。我不得不重新做专家顾问,增加了一个十。

如果你不介意解释一下五位数和四位数之间的区别,或者给我一个链接,让我能读到相关内容。


这就是我所做的--我在一开始就设置了start()(可能在init()中更好?)

// ```````````````````````````````
   double PointX = 0;
   if(Digits==5 || Digits==3) {
      PointX = Point * 10;
   }
   if(Digits==4 || Digits==2) {
      PointX = Point;
   }
// ```````````````````````````````


然后我用 "PointX "而不是 "Point"。

 
chief2000 >> :


这就是我所做的--我在开始时设置start()(可能在init()中更好?)


然后我用 "PointX "而不是 "Point"。





非常感谢你。

 
Shniperson писал(а)>>
>> 先生们。在H4交易时,如何使H1上的条形值被考虑在内? 例如,如果(......&& Close[0](bar H1)>High[1](bar H1) ???????????

大致上在这里......然而这是一个Macd &) || ( 这个下划线的地方结合了具体代码的条件

指标>0 &&指标<=信号指示器 &&指标>信号指示器将H4和H1结合在一起,即H4和H1的情况对于MAKD来说是一样的(或者不一样--这取决于<=0(小于或等于零/可能为MAKD),此外&&(同时)允许复杂化关系)。

MacdCurrent=indicator_MAIN,0)。
MacdPrevious=indicator_MAIN,1)。
SignalCurrent=indicator_SIGNAL,0)。
SignalPrevious=SIGNAL指标,1)。

total=OrdersTotal()。
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)。
如果(OrderType()<=OP_SELL &&OrderSymbol()==Symbol()) // 检查符号
{
如果(OrderType()==OP_BUY) // 多头头寸被打开。
{
如果((指标>0 &&指标<=信号指标 &&指标>信号指标) ||( 指标<=0 &&指标>0))
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // 关闭头寸

但这个代码是别人的,我自己无法改变它,这是肯定的。

 
JEKA писал(а)>>
你好,我认为这个问题更适合高级程序员,而不是像我这样的初学者,尽管我的想法对两者都有用!所以问题的实质是,是否可以在两个指标的基础上编写一个指标或顾问?V-TBv6.ex4, 5_ZZ_Semafor.ex4 我想自己写,但很遗憾我不具备这样的知识,我想向那些也对这个想法感兴趣的人或在这方面有必要知识的人寻求帮助。

在MA和MCD上有一个交易顾问。

Ma表示打开,Maqd表示关闭

在开仓的代码中,Ma被简单地用于开仓(在与终端一起的脚本中,这些是Ma和Poppy),一个指标(Ma)到收盘(Poppy)的块。

如果同时需要两个指标,则在所需块中声明两个指标,并通过以下方式合并它们的值

空白的CheckForClose()
{
双重MacdCurrent, MacdPrevious, SignalCurrent;
double SignalPrevious;
int cnt, ticket, total;

MacdCurrent=iMACD(NULL,0,MACD_FastEMA,MACD_SlowEMA,MACD_SMA,PRICE_CLOSE,MODE_MAIN,0) 。
MacdPrevious=iMACD(NULL,0,MACD_FastEMA,MACD_SlowEMA,MACD_SMA, PRICE_CLOSE,MODE_MAIN,1)。
SignalCurrent=iMACD(NULL,0,MACD_FastEMA,MACD_SlowEMA,MACD_SMA,PRICE_CLOSE,MODE_SIGNAL,0) 。
SignalPrevious=iMACD(NULL,0,MACD_FastEMA,MACD_SlowEMA,MACD_SMA,PRICE_CLOSE,MODE_SIGNAL,1) 。

total=OrdersTotal()。
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)。
如果(OrderType()<=OP_SELL &&OrderSymbol()==Symbol()) //检查符号
{
如果(OrderType()==OP_BUY) // 多头头寸被打开。
{
if((*>0 && *<=* && *>* ) || (*<=0 && *>0))
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // 关闭头寸
tek_mode=1。
return(0); // 退出
}

}
否则 // 转入空头头寸
{
if((Macd*<0 && Macd*>=* && *<* ) || (*>=0 && *<0))
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // 关闭位置
tek_mode=-1。
return(0); // 退出
}
}
}
}
}
//+------------------------------------------------------------------+

其中tek_mode=-1;用于削减即时回放值。||和&&允许将两组条件作为一组使用。

 

你能给我一个提示吗?

如何从我自己的DLL中智能地、尽可能合理地从MT4获取ticks到Matlab?

有没有人可能做过这样的事情。

从MT的一般意义上说。

开始()

{

fMyDll(Bid); //在每次新的勾选时,将bid传入我的dll函数中。

}

下一步是什么? 交换方法是什么?

 
在测试策略时,对参数组合的数量是否有限制?也就是测试者的通过次数。
 
重新制作了 VSI指标。这是一个有点不发达的地方。谁能告诉我错误在哪里?
附加的文件:
vsi_twin.mq4  4 kb
 
nikost писал(а)>>
重新制作了VSI指标。这是一个有点不发达的地方。谁能告诉我错误在哪里?
附加的文件:
原因: