//+-----------------Включаемые дериктивы-----------------------------+#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が出ます。
最近、このエラーが発生しました。どうにか乗り越えた。
エラーを見つけるのを助けてください。もう見つからないんです。どこを探せばいいのかもわからない。Error like: '\end_of_program' - unbalanced left parenthesis.
if(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits) < NormalizeDouble(Dist,Digits)) // 閉じ括弧がない。
if(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits) < NormalizeDouble(Dist,Digits)) // 閉じ括弧がない。
Vinin さん、どうもありがとうございます :-) こんなとんでもないミスをしてしまって申し訳ありません、私はまだプログラミングを始めたばかりで、経験を積んでいるところです...
過去のどこかで、方向性を間違えているのだと思います。
その通りです。それが問題だった。
またお世話になります...。EAを完成させたと思います、、、。しかし、ある特定の条件に従って注文をクローズすることができないようです。チケットや注文番号を検索するときにエラーが出たり、どの注文をクローズするか判断するときにコードに無効な値が表示されたりするんです。注文のfun- bilityはありませんが、なくてもなんとかなりそうです。もしかしたら、コードに連続した操作の設置が間違っているのかもしれませんが、正しいような気がします。できるヘルプは、コードを見て、条件によって順序を閉じるために追加する必要があるものをアドバイス、ファン- iの開始での処理のシーケンスの正しさの面でコードの実装にコメントを作成し、私はループのように、いくつかの瞬間に条件が(次のケースにスキップ)順序を開いていないことを感じて.........!!!! ..))) コードはこちら!
以下はそのコードです。ここで、もう一つ質問なのですが・・・EAを導入する際、証券会社からの複数回の再計算やパラメータ要求などの制限はあるのでしょうか?
ご指導、ご批判をお待ちしております。)
エラーの原因を教えてください。無理だ...どこを探せばいいのかもわからない。Error like: '\end_of_program' - unbalanced left parenthesis.
セミョーン・セミョーニッチ...
このような構図を書けるようになる。
と記入するようにすれば、ほとんど迷うことはないでしょう。
のようなエラーは、コンパイラがエラーの場所を特定できないので、非常に不愉快ですが、上記の方法で回避することができますので、どこかでテンプレートを作って、適切な場所に貼り付けてください。
次のページ "ローブをジーンズに挟むのはNG"
>>取り上げて、修正したあなたのコードは添付ファイルにあります。