MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 899

 
こんにちは。自分でコーディングやインジケーターの書き方、改造の仕方が分からないので助けてほしい。手短に申し上げます。


CrossUpが0.00000から-1.00000に変化 した時の音による通知(Alert)を追加できませんか
CrossDownが-1.00000から0.00000に変化しました。助けてください、永遠に感謝 します。ありがとうございます。

ファイル:
 
S.P.I:
こんにちは。私自身、コーディング、ライティング、インジケーターの変更について何も知らないので、助けが必要です。手短に申し上げます。
のときに音声で通知(Alert)する機能を追加できますか?
CrossUpが0.00000から-1.00000に変化
CrossDownが-1.00000から0.00000に 変化します。
助けてください、永遠に感謝します。ありがとうございます。

フォーマットが間違っています、mq4が必要です

 
Alekseu Fedotov:

フォーマットが間違っています、mq4が必要です

ex4でも同様に、そのリソースに入り、バッファを読み取ることができます。

 
Artyom Trishkin:

このタスクはex4でも可能です - リソースとリードバッファに。

なぜかというと、標準のインジケータから iCustom()経由で呼び出すと、15〜20分かかると思うので、インジケータファイルを2つ用意しておきます。

 
Igor Makanu:

なぜかというと、標準のインジケータから iCustom()経由で呼び出すと、15~20分かかると思うので、インジケータファイルを2つ用意しましょう。

resourcesにもiCustom()がありますが、ファイルは1つです。

ファイルが2つあるのですが、2つにしてください、1つにしてください。そして、同じだけの仕事がある。

 
Alekseu Fedotov:

そうです、計算してみてください.

はい、しかし、それはすでに利益に対する割合であり、変数drawdownがdrawdownで値を割り当てられ、ポジションが利益である場合、値drawdown = 0であるように何らかの建設がなされるべきです。
 
nalyk:
はい、しかし、それはすでに利益の割合であり、何らかの構造が発明されなければならない、変数ドローダウンがドローダウンで値を割り当てられ、ポジションが利益である場合、値ドローダウン= 0 ....
   double drawdown=(AccountProfit()<0 ? AccountProfit()*100/AccountBalance() : 0);
   Comment("текущая просадка  = ",drawdown);
 

こんにちは、最後のフラクタルからの注文の開始を正しく書く方法を教えてください。この方法でやってみたのですが、テスターで開きません。

void CheckForOpen()
{
  
   double hai_candle = iHigh(NULL,TimeCandleTrade,0);
   double low_candle = iLow(NULL,TimeCandleTrade,0); 
   fr_down = iFractals (Symbol(), 0, MODE_LOWER,3);
   fr_up = iFractals(Symbol(),0,MODE_UPPER,3);
   double SL, TP;
  
 if (BuyCount()==0 )
   {
  
    if (fr_down>0 && low_candle<Low[fr_down])
   {
     
      SL = NormalizeDouble(Ask - StopLoss*Point,Digits);
      TP = NormalizeDouble(Ask + TakeProfit*Point,Digits);
      ticket = OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),Slippage,SL,TP,NULL,magik,0,CLR_NONE);
      if (ticket <0)
       Print ("Не удалось открыть ордер на покупку",GetLastError());
   }
   
   }

int BuyCount()
  {
  int count = 0;
  for (int i=OrdersTotal()-1;i>=0;i--)
  {
    if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES) == true && 
        OrderMagicNumber()== magik &&                        
        OrderType() == OP_BUY )                       
        {
        count ++;
        }
    }
}

 
Artyom Trishkin:
ありがとうございます。
 
nelenaby:

こんにちは、最後のフラクタルからの注文の開始を正しく書く方法を教えてください。この方法でやってみたのですが、テスターで開きません。

3本目のバーでフラクタルを探しているのですが、そこにないかもしれません。ループの中の最初のフラクタルを探してください。

 
 for (int s=2; s<100; s++) 
     {
    fr_down=iFractals(Symbol(), 0, MODE_LOWER, s);
    if (f!=0) break;
     }