//+-----------------Включаемые дериктивы-----------------------------+#include <Param.mqh> //фун-я параметры //#include <Message_Print.mqh> //фун-я коммент#include <isTradeTimeString_m.mqh> //фун-я торгов по времени#include <TrailingStop.mqh> //фун-я трайлинг #include <isNewBar.mqh> //фун-я проверки нового бара#include <TotalOrders.mqh> //фун-я проверки кол-ва открытых сделок#include <Crit_Flat.mqh> //фун-я проверки флэт#include <Crit_Sell.mqh> //фун-я проверки сигнала продажи#include <Crit_Buy.mqh> //фун-я проверки сигнала покупки#include <TakeProfitLastClosePos.mqh> //фун-я определения профита послед закрыт поз#include <GetTypeLastClosePos2.mqh> //функция определения типа закрытой поз//+-----------------Переменные---------------------------------------+int ExpertOrdersTotal;//общее колличество открытых позицийint tiket =0;int mn =0;//магик//+------------------------------------------------------------------+//| expert initialization function |//+------------------------------------------------------------------+int init(){//----
MinStop=MarketInfo(Symbol(),MODE_STOPLEVEL);//минимальное разрешимое отклонение стоп лосс от рыночной цены//----return(0);}int start(){//Print("Проверка открытых ордеров 1");//---------------------Проверка по времени------------1---------if( tim==true){
isTradeTimeString();//торговля по времениif( isTradeTimeString( TimeBegin, TimeEnd)){//---------------------Проверка трейлинга------------2---------
TrailingStop();//---------------------Проверка открытых ордеров------------3---------
ExpertOrdersTotal = TotalBuy()+ TotalSell();// СКОЛЬКО ВСЕГО ОРДЕРОВ ОТКРЫТО if( ExpertOrdersTotal>= Sdelki)// если кол-во открытых сделок меньше максимального{// кол-ва сделок, проверяем возможность открытия сделки//Print("превышено кол-во сделок,выход"); return(0);}else{Print("проверка появления нового бара ");//--------------------проверка появления нового бара--------4---------
Fun_New_Bar();// Обращение к функции и передача ей управленияif( New_Bar==false)// Если бар не новый..{//Print("Нового бара пока нет,выход"); return;// ..то уходим }//Print("проверка сигнала ");//--------------------проверка сигнала----------------------5---------
Crit_Flat();
Crit_Sell();
Crit_Buy();// Print("коэф-нт покупки ",ves_buy);// Print("коэф-нт продажи ",ves_sell);if( Flat ==true)//проверка наличия флэта{return(0);}if( Trend==true)//сделки по тренду{if( ves_buy < ves_sell){
tiket =OrderSend(Symbol(),OP_SELL, Lot,Bid,3,Bid+ SL*Point,Ask- TP*Point,"My order #", mn,0,Green);Print("Ордер открыт по тренду");}if( ves_buy > ves_sell){
tiket =OrderSend(Symbol(),OP_BUY, Lot,Ask,3,Bid- SL*Point,Ask+ TP*Point,"My order #", mn,0,Red);Print("Ордер открыт по тренду");}}else{if( ves_buy > ves_sell && ves_buy >= param){
tiket =OrderSend(Symbol(),OP_BUY, Lot,Ask,3,Bid- SL*Point,Ask+ TP*Point,"My order #", mn,0,Red);Print("Ордер открыт по коэфициенту");//--------------------------------------------------// доработать фун-ю открытия ордера//--------------------------------------------------}if( ves_buy < ves_sell && ves_sell >= param){
tiket =OrderSend(Symbol(),OP_SELL, Lot,Bid,3,Bid+ SL*Point,Ask- TP*Point,"My order #", mn,0,Green);Print("Ордер открыт по коэфициенту");//--------------------------------------------------// доработать фун-ю открытия ордера//--------------------------------------------------}}//+------------------------------------------------------------------------ }//скобка проверки колва сделокPrint("есть сделки, выход");}//скобка проверки времени Print("время не подошло");}//проверка флага торговли по времени return(0);//ретурн основного старта}
错误在哪里?
显然,与目前的价格太接近了。你应该检查MarketInfo(Symbol(),MODE_STOPLEVEL)。
显然,与目前的价格太接近了。我们应该检查MarketInfo(Symbol(),MODE_STOPLEVEL)。
它的价格是210分。而测试者给出的错误是3。
最多可以达到210点的价格。而测试者给出的错误是3。
我认为它的设置是不正确的,在过去的某个地方。
最多可以达到210点的价格。而测试者给出的错误是3。
我最近遇到了这个错误。不知不觉中,我克服了这个问题。
请帮助查找错误。我再也找不到它了。我甚至不知道到哪里去找它。错误如:'\end_of_program'--不平衡的左括号
如果(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits)< NormalizeDouble(Dist,Digits)) //缺少结尾括号
如果(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits)< NormalizeDouble(Dist,Digits)) //缺少结尾括号
Vinin ,非常感谢你:-).很抱歉犯了这样一个可笑的错误,我刚刚开始编程,我正在积累经验...
我认为它的方向是错误的,在过去的某个地方。
正是如此。这就是问题所在。
我又向你寻求帮助......我想我完成了EA,....但我似乎无法根据某些特定条件关闭一个订单。在搜索票据或订单号时,我一直得到一个错误,否则在试图确定关闭哪个订单时,我的代码中得到一个无效的值。我没有订单的乐趣,但没有订单似乎也可以管理,也许代码中连续操作的安装有误,但似乎是正确的。帮助谁可以,看看代码,建议需要添加什么,以关闭订单的条件,使代码的实施方面的正确性的处理顺序在fun-i开始,感觉我像一个循环,并在某些时刻,当条件是不打开的顺序(跳过到下一个案例).......!!!! ..))) 这里是代码!
以下是代码。由于我在这里,我还有一个问题......对于EA的实施,在多次重新计算或经纪公司的参数要求方面,是否有任何限制?
我在等待一些帮助和一些批评 )
请帮助我找到这个错误。我不能...我甚至不知道到哪里去找它。错误如:'\end_of_program'--不平衡的左括号
塞米扬-塞米扬奇...
学会写这样的结构。
if(){}然后开始填写,那么你几乎就不会感到困惑了。
像:'\end_of_program'这样的错误--不平衡的左括号是非常不愉快的,因为编译器不能准确地指出错误的位置,所以最好不要做,而是通过上述方法避免它,你可以在某个地方做一个模板并粘贴在正确的地方。
下一个 "你不能把袍子塞进你的牛仔裤"
if();{} - это не верная конструкция>>把它拿走,你的代码和修正的内容在附件文件中。