初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 138

 
こんにちは、mt4口座にコピーシグナルとロボットを接続し、vpsにこれらすべてを接続することが可能かどうかを教えてください。
削除済み  
2002569:こんにちは、mt4でコピーシグナルとロボットを接続し、全体をvpsに接続することが可能かどうか教えてください。

はい、もちろんできます!!!

 

こんにちは、皆さん。プログラミングに完璧に慣れている人にアドバイスできるのか?

ある条件下で横線を 作る。別のコードでOpenlineBを水平線の価格として使用するために、OLBで価格を定義しています。必要な別のコードでは、整数として表示されます。例えば価格が110,256で110と表示されます。Commentでわかりました。なぜ正確な価格が表示されないのでしょうか、何が問題なのでしょうか。

int OpenlineB() {
    double ma60=...;
    double ma=...;
    if((fMarketOrders(OP_BUY)==0)) { 
         ObjectCreate(0,"BUY",OBJ_HLINE,0,0,ma60+ma); }   
 int OLB=ObjectGet("BUY", OBJPROP_PRICE1);      
 return(OLB);}

int TRlineB(){
Comment(OpenlineB());
return(true);}
 
Rustam Bikbulatov:

こんにちは、皆さん。プログラミングに完璧に慣れている人にアドバイスできるのか?

ある条件下で横線を 作る。別のコードでOpenlineBを水平線の価格として使用するために、OLBで価格を定義しています。必要な別のコードでは、整数として表示されます。例えば価格が110,256で110と表示されます。Commentでわかりました。なぜ正確な価格が表示されないのでしょうか、何が問題なのでしょうか。

int double OpenlineB()

この関数は整数を返します。印刷されたものが出てきます。
もちろん、さらにその先の機能でダブル フォーマットに変換しています。

 
Konstantin Nikitin:

この関数は整数を返します。印刷されたものが出てきます。
もちろん、さらに関数内でダブルの フォーマットに変換します。

double OpenlineB() {
    double ma60=...;
    double ma=...;
    if((fMarketOrders(OP_BUY)==0)) { 
         ObjectCreate(0,"BUY",OBJ_HLINE,0,0,ma60+ma); }   
 int OLB=ObjectGet("BUY", OBJPROP_PRICE1);      
 return(OLB);}

すでに試しましたが、整数を返します。

 
Konstantin Nikitin:

この関数は整数を返します。印刷したものは、印刷したものです。
もちろん、さらに機能でダブル フォーマットに変換します。

int OpenlineB() {
    double ma60=iMA(NULL,1,5,0,1,0,1);
    double ma=(iMA(NULL,60,6205,0,1,2,1)-iMA(NULL,60,6205,0,1,3,1));
    if((fMarketOrders(OP_BUY)==0)) { 
         ObjectCreate(0,"BUY",OBJ_HLINE,0,0,ma60+ma); }   
 double OLB=ObjectGet("BUY", OBJPROP_PRICE1);      
 return(OLB);}

やったーーーー!!!!(笑親愛なるKonstantinさん、ありがとうございます!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 
Rustam Bikbulatov:

もう試しましたよ。整数で出てきます。

ObjectGetDoubleを 使用してみてください。
そして、関数宣言を次のように変更します。

double OpenlineB() {
 
Konstantin Nikitin:

ObjectGetDoubleを 使用してみてください。

すべて完了しました。

double OpenLineB() {
    double ma60=iMA(NULL,1,5,0,1,0,1);
    double ma=(iMA(NULL,60,6205,0,1,2,1)-iMA(NULL,60,6205,0,1,3,1));
    if((fMarketOrders(OP_BUY)==0)) { 
         ObjectCreate(0,"BUY",OBJ_HLINE,0,0,ma60+ma); }   
 double OLB=ObjectGet("BUY", OBJPROP_PRICE1);      
 return(OLB);}

ありがとうございます!!!

 
Rustam Bikbulatov:

すべて完了しました。

ありがとうございます!!!

少し切り詰めてもいいですか?

double OpenLineB() {
  double ma60=iMA(NULL,1,5,0,1,0,1);
  double ma=(iMA(NULL,60,6205,0,1,2,1)-iMA(NULL,60,6205,0,1,3,1));
  if(fMarketOrders(OP_BUY)==0) 
   ObjectCreate(0,"BUY",OBJ_HLINE,0,0,ma60+ma);
 return(ObjectGetDouble(0,"BUY",OBJPROP_PRICE));
}
 
Vitaly Muzichenko:

少し切り詰めてもいいのでは?

double OpenLineB() {
  if(fMarketOrders(OP_BUY)==0) {
    double ma60=iMA(NULL,1,5,0,1,0,1);
    double ma=(iMA(NULL,60,6205,0,1,2,1)-iMA(NULL,60,6205,0,1,3,1));
    ObjectCreate(0,"BUY",OBJ_HLINE,0,0,ma60+ma);
    return ma60+ma;
  }
 return(ObjectGetDouble(0,"BUY",OBJPROP_PRICE));
}

それ以外の場合は、アクセスのたびにキャッシュからインジケータ・データが呼び出されます。
そして、「BUY」ラインのレベルは、チャートで探さずに、自分の変数で管理するのがよいでしょう。