while( try !=0){// определение условий для открытыия позиции//..// открытие позициц
res =OrderSend(...);if( res >0){PlaySound("alert.wav");
try =0;Comment("Ордер открыт !");Sleep(2000);
ret =true;}else{/* блок определения ошибок и возврат
err - уровень критичности ошибки (0,1,2,3)
msg - описание ошибки (если showErrors = true)
уровни определяются по номеру ошибки
0-нет ошибки, 1-надо ждать и обновлять,
2-сделка бракуется,3-фатальная ошибка*/
ErrorBlock( showErrors, err, msg);if( err >1) try =0;// в данном случае 2 и 3 критичныComment("Ошибка - ", msg);Sleep(2000);}}
问题是,关闭订单的OrderClose()函数将订单号作为第一个参数,而订单号只能通过调用现有订单的OrderSelect()来获得,所以在一般情况下,关闭看起来像这样...
如果OrdersTotal() = 0,即没有未结订单,那么for循环立即结束。
谢谢你的回答,你能写出OrderSend函数的开头吗?它应该紧跟在最后一个brackets????。
谢谢你的回答,你能写出OrderSend函数的开头吗?它应该紧跟在最后一个brackets????。
那么,这里有一个例子
你能告诉我哪个函数能返回未平仓订单的保证金水平值(百分比),该值显示在 "交易 "标签上?
在《帮助》中,所列出的函数都没有返回这个值。
AccountMargin
AccountFreeMargin
AccountFreeMarginCheck
AccountFreeMarginMode
可以使用Damiani_Volt指标。
有趣的东西,谢谢你。
到了
谢谢你
我不知道你为什么认为我在生气。
这只是我解释的方式
通过采取任何不平等的迹象和运行
>>在测试器中你可以得到一个积极的
某个级别的结果,而哪个级别并不重要
积极或消极。而当被问及
是否在有或没有减分的情况下参加考试。
不幸的是,没有明确的区别。
我可能犯了一个错误..........
问题是,初学者问的是他不知道的东西。这个示例代码的作用是理解EA的结构(正确的结构)。
而这段代码中所包含的内容是建立在一个经典的交易原则之上。专家顾问本身和代码样本都是用来研究原理的,而不是用来戳人或抓人的东西.......,我所问的意思是不清楚的。毕竟,你必须从理论上了解什么和如何。然后创造、雕刻、发明........
1.这是一个错误......你必须将res声明为int,并添加另一个bool类型的变量来返回 打开订单的成功/失败的值......
2.我之前也使用了Igor的OpenPosition()函数的其中一个实现,但后来改变了这个函数,使其更容易捕捉和报告错误...
结果是以下结构