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

 

5回注文するごとに利益をカウントするひよこを作りたいのですが、カウントはされるようですが、「4051 Invalid value of function parameter」というエラーが出ます。


input int input_step=5;
int step=input_step;

void start()
{
int h, history=OrdersHistoryTotal();
double orderProfit=0;
 if(history==step)
  {
   for(h=history; h<=history; h--)
    {
    if(OrderSelect(h,SELECT_BY_POS,MODE_HISTORY)==true)
      {
      orderProfit=orderProfit+OrderProfit();
      Print("profit=",orderProfit);
      } 
    }
    step=step+input_step;
  }
  return;
}



 

こんにちは、親愛なるグル ...

ターミナルウィンドウでデータをスクロールする > 履歴 ...

......そして、どうにかしてターミナル・ウィンドウの位置をチャート・ウィンドウの上に移動させた ...

...どなたか、ターミナルウィンドウをチャートウィンドウの下に戻す方法を教えてください。


私はとても感謝しています。

 
Yaroslav Nykula:

こんにちは、親愛なるグル ...

ターミナルウィンドウでデータをスクロールする > 履歴 ...

......そして、どうにかしてターミナル・ウィンドウの位置をチャート・ウィンドウの上に移動させた ...

...どなたか、ターミナルウィンドウをチャートウィンドウの下に戻す方法を教えてください。


私はとても感謝しています。


十字の下にあるバーをマウスでつかんで、好きなところにドラッグします。

 

こんにちは、EAを3回負けたら(同じマジックナンバーで)取引を停止させる方法を教えていただけませんか?こうして一敗地にまみれた後

int flag==0;

for(int pos_buy=OrdersHistoryTotal()-1; pos_buy>=0; pos_buy--)

{

if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY)

{

if(OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0)))

flag=1; }}


3敗はどうなんでしょう...?

 
Alekseu Fedotov:

十字の下にあるバーをマウスでつかんで、好きなところにドラッグします。


ありがとうございます ...ダブルクリックでドラッグすると・・・。自分では思いつかなかった。

 
defailer7:

こんにちは、EAを3回負けたら(同じマジックナンバーで)取引を停止させる方法を教えていただけませんか?こうして一敗地にまみれた後

int flag==0;

for(int pos_buy=OrdersHistoryTotal()-1; pos_buy>=0; pos_buy--)

{

if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY)

{

if(OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0)))

flag=1; }}


3敗はどうでしょうか?

私も初心者なのですが、もしかしたらこの方法でできるかもしれません。

for(int pos_buy=OrdersHistoryTotal()-1; pos_buy>=0; pos_buy--) 
           {
            if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY) 
             {
             if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))
             flag=1; }
            if(OrderSelect(pos_buy-1,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY) 
             {
             if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))
             flag2=1; }
            if(OrderSelect(pos_buy-2,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY) 
             {
             if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))
             flag3=1; }
           }
  if(flag==1 && flag2==1 && flag3==1)bool flag_trex=true;
 
Baruandreas:

私自身は初心者ですが、おそらく次のような方法で可能でしょう。


ありがとうございました、すべてうまくいきました。

 

こんにちは。
EAの取引を時間帯で制限する方法を教えてください。
フォーラムにあった方法をいろいろ試しましたが、何もうまくいかず、ライティングについて何も理解できていません。
何を入れたらいいのか、指南してもらえるとありがたいですね。

 
defailer7:

こんにちは、EAを3回負けたら(同じマジックナンバーで)取引を停止させる方法を教えていただけませんか?こうして一敗地にまみれた後

int flag==0;

for(int pos_buy=OrdersHistoryTotal()-1; pos_buy>=0; pos_buy--)

{

if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY)

{

if(OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0)))

flag=1; }}


3敗ではどうでしょう...?


私も勉強中です!!!Flag++, if (flag==3)exit;

しかも、その損失はゼロ以下。
 
kuzhakov:

こんにちは。
EAをどのようにタイムフレーム化するか、アドバイスをお願いします。
フォーラムにある方法をいろいろと試してみましたが、何もうまくいきません。
どこに何を入れるか、指をさすだけでいいのならいいのですが。


携帯から閲覧しているため、完成したコードを送ることができません。

バーの開店時間を 返す関数がある

バーのオープン時間を1日の周期で返す関数に数字を追加してみてください。

対応するチャートのバーオープン時間(shift パラメータで指定)の値を返します。

datetimeiTime(
文字列記号,// 記号
inttimeframe,// 期間
intshift//シフト
);


期間日

シフト0

iTime(euro, day, today is zero)+1= Time 00-00-01

1分間に60秒ある

iTime(euro, day, today is zero)+60= time 00-01-00-00 といった具合です。

例えば、EAを01-00-00に動作開始させたいとします。

if((iTime(Symbol(),PERIOD D1,0)+3600)<TimeCurent() work)

電話でお手伝いできるのはここまでです。

現在の時分を返して比較することもできます、頑張ってください。