新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 515

 
Ihor Herasko:

这是个非常奇怪的问题。这就像问:"你如何用锉刀在凳子上转动?

我们是要耍小聪明还是我有一个完整的答案,我也可以复制妈妈!?

关于如何用脚本改变指标变量的问题,有什么奇怪的地方!?

如果你不能解释如何去做,就说出来吧!

 
Игорь:

我们是要聪明,还是要完全回答,我也可以乘以一个木乃伊!?

如何用脚本改变指标变量的问题,有什么好奇怪的!?

如果你不能解释如何做,就说出来,就可以了 !

你的指标里有设置。为什么你需要用清洗来改变这些设置?

伊戈尔的意思更清楚了吗?

 
Игорь:

如何用脚本改变指标变量的问题,有什么奇怪的?

这正是它的奇怪之处。为了理解它到底有什么奇怪的地方,我把整个事情翻译成一个比喻。

剧本是一个节目。指标是另一个程序。指标中的变量是一个存储单元。因此,你需要伪造一个存储单元(物理上的),并用另一个存储单元取代它。这个问题的表述自然令人困惑。

最后,你没有更详细地解释你需要什么,而是采取了争论的方式。

 
Игорь:

请给我建议!

我怎样才能用脚本来改变图表上指标的 设置(一个特定的变量)!?

如果可以的话,最好能有一段代码。

没有标准的API,但如果你真的想这样做,你可以:-)

算法是这样的。

- 滚动浏览图表中的所有指标(包括子窗口),以收集有关更改指标的最大信息(名称/序列号)

- 保存图表模板

- 扩展模板,找到所需的指标

- 改变期望值

- 图表应用模板

- 不要忘记,所有的指标和EA将被重新加载,也许你的也会被重新加载,你可能要通过WinAPI复制文件)。

总的来说,它是一个真正的混乱:-)

 
Игорь: 请给我建议!
我怎样才能用脚本来改变图表上指标的设置(一个特定的变量)!?
如果可以的话,最好能有一段代码!!。

这很简单,我经常这样做。其方便之处在于,可以给脚本分配一个键。例如,Ctrl-z删除线,Alt-z显示线。见附件中的函数GlobalVariableSet() 和GlobalVariableGet()。我从另一个资源中得到了这个想法 (经版主Artyom Trishkin纠正)

附加的文件:
xDEL.mq4  1 kb
 
STARIJ:

这很简单,我一直都是这么做的。其方便之处在于,你可以给脚本指定一个键。例如,Ctrl-z删除线,Alt-z显示线。见附件中的函数GlobalVariableSet() 和GlobalVariableGet()。我从另一个资源中得到了这个想法 (经版主Artyom Trishkin纠正)

在删除你对另一个资源的链接时,由于某种原因,文件本身消失了。

能否请你再次附上它?

 
Artyom Trishkin: 当我删除你的另一个资源的链接时,文件本身因某种原因而消失了。

是否禁止链接到其他资源? 我已经看到很多这样的链接...还是有某种标准?

 
Artyom Trishkin:

当我在删除你的另一个资源的链接时,由于某种原因,文件本身也消失了。

请再次附上。

通常情况下,他们在害怕和觉得自己低人一等时就会删除材料,他们有竞争对手,不能被打败。

但这个论坛只是超越了竞争,没有理由害怕什么。

 
Ihor Herasko:

首先,我们不知道一个订单是否已经被打开--没有这方面的检查。因此,检查一个尚未开仓的订单是否达到止损或止盈是没有意义的。


我试过了,但没有用,我一定是做错了什么 (

              {
                    //Цена открытия ордера
                    price=High[1]+OrderPoint*Point;
                    //Стоп лосс
                    stoploss=Low[1]-Point;
                    //Тэйк профит
                    takeprofit=price+price-stoploss;
                    //Установка отложенного ордера (с присвоением magic номера 100, чтобы потом можно было их выбрать и удалить)
                    OrderSend(Symbol(),OP_BUYSTOP,1,price,3,stoploss,takeprofit,"PinBar Buy 1H",100,0,clrGreen);
                        //Проверяет открылись ли (0 - не открылись вроде) и сколько штук открыто (в данном случае не открылись), чтобы потом выбрать (уточнить) 
                        for (int i=0; i<OrdersTotal(); i++)
                        {
                        //Выбираем все неоткрытые отложенные ордера?
                        OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
                           //Если для выбранных ордеров с magic номером 100 текущая цена ушла ниже параметра стоплосса для этого отложенного ордера, то удаляем)
                           if ((OrderMagicNumber()==100)&&(Low[0]<stoploss)) 
                           {
                           OrderDelete(100);
                           }
                        }   
                 }
 
Ihor Herasko:

这正是它的奇怪之处。为了理解它到底有什么奇怪的地方,我把整个事情翻译成一个比喻。

脚本是一个方案。一个指标是另一个方案。指标中的变量是一个存储单元。因此,你需要伪造一个存储单元(物理上的),并用另一个存储单元取代它。这个问题的表述自然令人困惑。

最后,你没有更详细地解释你需要什么,而是采取了争论的方式。

谢谢你,就这样吧