エラー、バグ、質問 - ページ 757

 
joo:

このコードを実行すると、ターミナルでInvalid EX5 fileという エラーが表示されます。

ありがとうございます、検討させていただきます。

 

フィボナッチアーク

レベル修正で コンパイルエラーになる

   string       ObjFA_nm;
   ObjectCreate(
                0,ObjFA_nm="FIBOARC_object"+"_"+IntegerToString(MathRand()),
                OBJ_FIBOARC,0,
                TimeLocal(),1.25,
                TimeLocal(),1.28
                );
   ObjectSetInteger(0,ObjFA_nm,OBJPROP_LEVELVALUE,1,1);
'ObjectSetInteger' - no one of the overloads can be applied to the function call        sFiboArcsAvtoV1.SD.mq5  22      4
 
Silent:

フィボナッチアーク

レベル修正で コンパイルエラーになる

を確認し
OBJPROP_LEVELVALUE
これはIntegerプロパティですか?
 
sergeev:
で、本当にいいのでしょうか?
は、Integerプロパティなのですか?
確かに :) ありがとうございます!
 
開発者の皆様へ。MetaQuotes-Demoのサーバーの時刻が 毎日本当の時刻より少し進んでいるのは冗談でしょうか?
 

In tester Version:5.00 Build 655 (06.Jun.2012) ストップロスの売りの修正なし、エラー表示なし。購入時、問題なくすべて動作

#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\PositionInfo.mqh>
//+------------------------------------------------------------------+
input double   Lot         = 0.01; 
input int      Magic       = 77;
input int      Deviation   = 3;
//+------------------------------------------------------------------+
double ask,bid,stoploss,SL,pos_op_price;
//+------------------------------------------------------------------+
CTrade        mytrade;
CSymbolInfo   mysymbol;
CPositionInfo myposition;
//+------------------------------------------------------------------+
void OnTick()
{ 
    mysymbol.Name(_Symbol);
    mytrade.SetDeviationInPoints(Deviation);
    mytrade.SetExpertMagicNumber(Magic);
    mysymbol.RefreshRates();
    bid      =  NormalizeDouble(mysymbol.Bid(),_Digits);
    ask      =  NormalizeDouble(mysymbol.Ask(),_Digits);
    stoploss =  NormalizeDouble(myposition.StopLoss(),_Digits); 
    SL       =  NormalizeDouble(mysymbol.StopsLevel()*_Point*3,_Digits);  // Три минимальных стопа???
    pos_op_price = NormalizeDouble(myposition.PriceOpen(),_Digits);
//+------------------------------------------------------------------+   
   if (myposition.Select(_Symbol)==false) 
     {
       mytrade.Sell(Lot,NULL,bid,ask + SL,0,"Sell");
       if(mytrade.ResultRetcode()==10009 || mytrade.ResultRetcode()==10008)
        {
         Alert("Position Sell успешно помещен, тикет ордера #:",mytrade.ResultDeal(),"!!");
        }
      else
        {
         Alert("Запрос на установку Position Sell не выполнен - код ошибки:",mytrade.ResultRetcode(),
         "сообщение об ошибке - ",mytrade.ResultRetcodeDescription());
         return;
        }
     }
//+------------------------------------------------------------------+
   if (myposition.Select(_Symbol))
     {
       if (myposition.Type() == POSITION_TYPE_SELL)
         {          
            if (ask + SL < stoploss)
            mytrade.PositionModify(_Symbol,NormalizeDouble(ask + SL,_Digits),0);
            if(mytrade.ResultRetcode()==10009 || mytrade.ResultRetcode()==10008)
              {
               Alert("Stoploss Position Sell успешно помещен :",stoploss);
              }
            else
              {
               Alert("Запрос на установку Stoploss Position Sell не выполнен - код ошибки:",mytrade.ResultRetcode(),
               "сообщение об ошибке - ",mytrade.ResultRetcodeDescription());
               return;
              }
         }      
      } 
//+------------------------------------------------------------------+
Comment("ask   ",ask,"\n","bid   ",bid,"\n","SL   ",SL,"\n","stoploss   ",stoploss,
"\n","pos_op_price   ",pos_op_price,"\n","slsell   ",NormalizeDouble(ask + SL,_Digits));    
//+------------------------------------------------------------------+
}
//+------------------------------------------------------------------+

ビルド

 

どのサーバー?

 
alexvd:

どのサーバー?

MetaQuotes-Demo access.metatrader5.com:443
 
pako:

In tester Version:5.00 Build 655 (06.Jun.2012) ストップロスの売りの修正なし、エラー表示なし。購入時、問題なくすべて動作

以下の編集を試してみてください。

if (myposition.PositionType() == POSITION_TYPE_SELL)
 
alexvd:

以下の編集をお試しください。

はい、うまくいきました、ありがとうございました。