コーディングのヘルプ - ページ 628

 
annbeea:
ありがとうございます。

しかし、私はコーディングのかなりの初心者です。

mt4のxyzというインジケータに以下のようなパラメータが ある場合、変更することは可能でしょうか?

extern int A=9;

extern int B=14;

extern int D = 10;

とicustom部分 asE= iCustom(Null,timeframe, "xyz",A,B,D,BufferNumber,Shift);?but I do not much understand BufferNumber and Shift?

アンビー

詳しくはこのスレッドをご覧ください :https://www.mql5.com/en/forum/173108

 

mladenさん、こんにちは。

たぶん、私は以前、いくつかの間違いを犯したと思います。

xyzはこのようなものであるべきです。

extern int A=9;

extern int B=14;

extern double D = 10;

question1:そしてasE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); is it ok/ correct?

question2:and icustom part asE=iCustom(Null,timeframe, "xyz",A,B,0,pos); icustom文中のDを意図的または誤って見逃してしまった場合、それは大丈夫ですか、表示や計算で何かを見逃している、または全体的に間違っていますか? コメントありがとう ございました。

 
annbeea:
mladenさん、こんにちは。

というのも、以前、私が何かミスをしたような気がするのです。

xyzはこんな感じです。

extern int A=9;

extern int B=14;

extern double D = 10;

question1:そしてicustomの部分 asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); これでいいのでしょ うか?

質問2:icustomの部分 asE=iCustom(Null,timeframe, "xyz",A,B,0,pos); もし私が意図的にまたは誤ってicustom文のDを見逃してしまったら、それはOK仕事か表示や計算で何かを見逃すか、または完全に間違っていますか? コメントありがとうござい ます。

iCustom()関数が どのように使用され、iCustom()関数の正確なパラメータは何であるかについての詳細は、そのスレッドをお読みください。

 

こんにちは、MLadenです。

私のコーディングレベルは非常に低いです。なぜなら、私は以前、非常に生のコンピューティングの学習をしていたからです。

なぜなら、私はdoubleやstringなどの概念の違いさえ明確でないからです。

しかし、私の質問はちょうどそれです、それはここでキーがDであるように思われるので、私の質問は次のとおりです: extern int D=10 または extern double D=10,icustom part asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); is it ok/ correct? ありがとうございます

 
annbeea:

こんにちは、MLadenです。

私のコーディングレベルは非常に低いです。なぜなら、私は以前、非常に生のコンピューティングの学習をしていたからです。

なぜなら、私はdoubleやstringなどの概念の違いさえ明確でないからです。

しかし、私の質問はちょうどそれです、それはここでキーがDであるように思われるので、私の質問は次のとおりです: extern int D=10 または extern double D=10,icustom part asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); is it ok/ correct? ありがとうございました

anbbeea

はい、それは正しいです

 

こんにちは、ムラデンです。

チャート上のレイは、右側への長さを調整できるのでしょうか?

どのようにこれを変更するのですか?

ObjectSet("mMyLine", OBJPROP_RAY, false);
extern color mCol = Red, mCol2 = Blue, mCol3 = White;
extern int mWid = 2, mHist = 100, mDays = 5;

//+------------------------------------------------------------------+
int init()
  {
      ObjectCreate("mMyLine", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine", OBJPROP_COLOR, mCol);
      ObjectSet("mMyLine", OBJPROP_RAY, false);

      ObjectCreate("mMyLine2", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine2", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine2", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine2", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine2", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine2", OBJPROP_COLOR, mCol2);
      ObjectSet("mMyLine2", OBJPROP_RAY, false);
      
      ObjectCreate("mMyLine3", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine3", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine3", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine3", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine3", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine3", OBJPROP_COLOR, mCol3);
      ObjectSet("mMyLine3", OBJPROP_RAY, false);

   return(0);
  }

//+------------------------------------------------------------------+
int deinit()
  {
   ObjectDelete("mMyLine");
   ObjectDelete("mMyLine2");
   ObjectDelete("mMyLine3");
   return(0);
  }

//+------------------------------------------------------------------+
int start()
  {
   double mH = 0, mL=0, mM = 0;
   
   mH = iHigh(NULL, 1440, iHighest(NULL, 1440, MODE_HIGH, mDays, 1));
   mL = iLow(NULL, 1440, iLowest(NULL, 1440, MODE_LOW, mDays, 1));
   mM = mL + (mH - mL) / 2;
   ObjectSet("mMyLine", OBJPROP_PRICE1, mH);
   ObjectSet("mMyLine", OBJPROP_PRICE2, mH);
   ObjectSet("mMyLine2", OBJPROP_PRICE1, mL);
   ObjectSet("mMyLine2", OBJPROP_PRICE2, mL);
   ObjectSet("mMyLine3", OBJPROP_PRICE1, mM);
   ObjectSet("mMyLine3", OBJPROP_PRICE2, mM);


   return(0);
  }
 

矢印は、再描画を避けるために、他のシグナルキャンドルが閉じた後に表示されるようにしようとしましたが、すべてが無駄でした。

どうか私を助けてくださいMR.TOOLSさん、MLADENさん、以下は添付ファイルです。
 

mladen & mrtools

トレードで自己爆破するEAを持っています。私は、既存のEAに追加することができるVoidまたは関数を構築するために助けを必要としています。この関数は、対処する必要があります。

input bool doBasketExit = true; // バスケットエグジット条件をチェックする。
input double BasketTP = 250.0; // バスケットテイクプロフィット(口座通貨) チャートペア
input double BasketSL = -100.0; // バスケット・ストップロス(口座通貨) チャート・ペア

H1のアグレッシブEAで9つのペア/チャートを動かしていて、9つのチャートそれぞれでペアに応じたバスケット取引をしたいのです。
以下は私に起こったことです。9つのチャートが動いていて、3つのチャートはもちろん3つの別々のペアで取引中で、それぞれ15トレード、そう45トレードが開いていて、2つは利益が出ていて、1つはひどく負けている状態です。15の各グループ/ペアを別々に加算し、バスケットのSLとTPの境界線に対して各グループをこする方法を探しています。バスケットのセットアップを見つけましたが、もちろん改良が必要です。コツは、Order Profit Trade欄から同じペアを合算させることです。特定のペアを持つチャートにいることで、私は空白を思いついたと思ったが、そのような複雑なものです。この関数は何らかの方法でOrderProfit by Pairを読み込まなければならないのでしょうか?

例として、私のコードをご覧ください。

void closeTrades( CURRENCY* &currencies[] ) { // バスケット出口をチェックする。
// バスケットエグジットのチェック
if ( doBasketExit ) {
double basketProfit = getBasketProfit();
if ( ( BasketTP > 0.0 ) && ( basketProfit > BasketTP ) )||
( ( バスケットSL < 0.0 ) && ( バスケットProfit < バスケットSL ) ) ){
closeAll()を実行します。
}

double getBasketProfit() {
double basketProfit = 0.0;
for (int iOrder=OrdersTotal()-1; iOrder >= 0; iOrder--){
if (オーダーセレクト(iOrder,SELECT_BY_POS,MODE_TRADES)) { { {?
if ( OrderMagicNumber() == MagicNumber ) { (オーダーマジック番号)
if ( (OrderType() == OP_BUY) )|| (OrderType() == OP_SELL) ){
basketProfit += OrderProfit() + OrderSwap() + OrderCommission();
}
}
}
}
return(basketProfit);


void closeAll() {
ダブルclosePrice;
文字列 symbolName;
int result;
for (int iOrder=OrdersTotal()-1; iOrder >= 0; iOrder--){
if (オーダーセレクト(iOrder,SELECT_BY_POS,MODE_TRADES)) { { { if (オーダーマジックナンバー(OrderMagicNumber))
if ( OrderMagicNumber() == MagicNumber ) { (オーダーマジック番号)
if ( (OrderType() == OP_BUY) )|| (OrderType() == OP_SELL) ){
symbolName = OrderSymbol();
closePrice = ( OrderType() == OP_BUY ) ?MarketInfo( symbolName, MODE_BID ) : MarketInfo( symbolName, MODE_ASK );
result = OrderCloseReliable(OrderTicket(), OrderLots(), closePrice, 50 );
}
}



本当にこれを調べていただきありがとうございます

ありがとうございます。
レイ

 
stevenpun:

こんにちは、ムラデンです。

チャート上のレイは、右側への長さを調整することができるのでしょうか?

どのようにこれを変更するのですか?

次のようにしてみてください。

代わりに

ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]);
//
//
//   try this
//   use the NumberOfDaysToTheRight for the number of days to extend it to the right
//   you have to update this in the start procedure on every tick and for every ray that you created
//
//

ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]+PERIOD_D1*60*NumberOfDaysToTheRight);
 
kapoo:

再描画を避けるために、矢印をシグナルローソクの終値の後に表示するようにしましたが、効果がありません。

MR.TOOLSさん、MLADENさん、よろしくお願いします。TOOLSとMLADEN、以下は、添付されたものです。

カプー

現在、アップロードは動作しませんので、私はあなたのファイルを見ることができません。

これらの問題が解決され次第、再開する予定です。OKですか?