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

 
MakarFX #:

1) はい、「確認用ローソク足 」の数の値です。

2) いいえ、1回目では開きません。所定の回数の「確認ローソク 足」の後にのみ開きます。

3)マジックを変更し、任意のペアに装着する

マジックを外部変数にした方が良い

1)手に入れた。

2) この投稿にスクリーンショットを添付しますが、1本目では開きませんが、4本のローソク足によるエントリーが条件であれば、スクリーンショットのように4本目で開くようになります。もちろん、それがメインではない。 ただ、どうすれば直るのかが知りたいのだ。しかし、それを残したとしても、「Init=true」は何のためにあるのでしょうか?その本質とは何なのか。

3) また、マジックの外部変数を作るにはどうしたらよいでしょうか?ただ、マジックを触ったことがなく、やり方がわからない。

#property copyright "Copyright 2021, DrMak."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//--- input parameters
#define MagicNumber  122122
extern string s1             = "Trading options";
extern double Lot            = 0.01;    // размер лота 0 - авт.расчет
extern double StopLoss       = 40;     // стоплосс
extern double TakeProfit     = 10;     // тейкпрофит
extern double TrailStop      = 21;     // уровень без убытка
extern int    Trailing       = 0;      // трейлинг стоп 1 вкл. 0 выкл.
extern int    Breakeven      = 0;      // перенос стоп лосса в без убыток
extern string s2             = "Day & Hour";
extern int    HrStart        = 0;      // время начала торговли
extern int    HrEnd          = 23;     // время окончания торговли
extern int    Monday         = 1;      // Понедельник 1 вкд. 0 выкл.
extern int    Tuesday        = 1;      // Вторник
extern int    Wednesday      = 1;      // Среда
extern int    Thursday       = 1;      // Четверг
extern int    Friday         = 1;      // Пятница
//+------------------------------------------------------------------+
// параметры индикаторов
int MovingPeriodLw        = 5;      
int MovingPeriodS1        = 75;
int MovingPeriodS2        = 85;
double StopLevel;
double TrailStep             = 3;      // шаг трейлинг стопа
bool OrderBuy = true, OrderSell = true, Order = false, Init = true;
int timeprev = 0, Slip = 3.0, Start, cnt=1;
datetime newbar=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   if (Digits == 3 || Digits == 5) { // Пересчет для 5-ти знаков                                                    
      TakeProfit *= 10;
      TrailStop *= 10;
      TrailStep *= 10;
      StopLoss *=10;
      Slip *=10;
   } 
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL); 
   //---
   if(newbar!=Time[0])
     {
      if(CheckForOpen()!=Start)
        {Start=CheckForOpen(); cnt=1;}
      else
        {cnt+=1;}
      //---
      if(cnt==8)
        {
         // Открытие ордера по методу Пуриа
         if(CheckForOpen()==0) // Если сигнал для покупок 
           {
            if(OrderSend(Symbol(),OP_BUY,Lots(),Ask,Slip,Bid-StopLoss*Point,Ask+TakeProfit*Point,"",MagicNumber,0,Blue))
              {Print("BUY OK");}
              else {Print(GetLastError());}
           } 
         if(CheckForOpen()==1) // Если сигнал для продаж 
           {
            if(OrderSend(Symbol(),OP_SELL,Lots(),Bid,Slip,Ask+StopLoss*Point,Bid-TakeProfit*Point,"",MagicNumber,0,Red))
              {Print("SELL OK");}
              else {Print(GetLastError());}
           }
        }   
      newbar=Time[0];
     }
  }
ファイル:
 
MakarFX #:

悪くない!

 
artem artem #:

1)手に入れた。

2) この投稿にスクリーンショットを添付しますが、最初のローソク足では開きませんが、4本のローソク足によるエントリーが条件にあれば、スクリーンショットのように4本目で開くことになります。もちろん、それがメインではない。 ただ、どうすれば直るのかが知りたいのだ。しかし、それを残したとしても、「Init=true」は何のためにあるのでしょうか?その本質とは何なのか。

3) また、マジックの外部変数を作るにはどうしたらよいでしょうか?ただ、近くでマジックを触ったことがなく、どうすればいいのかわからないのです。

#define MagicNumber  122122

置き換える

extern string MagicNumber = 122122;

"Init=true "を削除することができます。

最初の入力についてですが、考えてみますが、明日)

 

artem artem #:

これを除去する方法を教えてほしい。

削除

ファイル:
artem.mq4  11 kb
 
MakarFX #:
// Мертвая строка

グッドアイデア、よくやった!マカー

 

どうしたらいいか教えてください、異常なケースがあります。

テストでの通過は、過去6ヶ月で40件の取引を示しています。残高は1000ドル以上ある。

同じセットを1年間使い続け、トレードはわずか8回。残金1000円くらい

2020年初めから動かしていますが、3ヶ月は取引-さらに0反応です。

なぜ大きな期間で取引しようとしないのか理解できません。ログブックにエラーが表示されることはありません。

 
artem artem #:

は、テスターで楽しむには良いですね。

そして、これはあなたへのプレゼント、つまりお金を稼ぐためのものです。

\\\\\\\\\\\\\\\\\\\\\\\\\\

テストしてみたので、今夜にでも様子を見たいと思います。

スクリーンショット 2021-10-10 054654

\\\\\\\\\\\\\\\\\\\\\\\\\\\

全てのチャートのパターンを変更する方法を確認しました。-利益総額が目標に達した経緯

スクリーンショット 2021-10-10 055232

ファイル:
artem_artem.mq4  26 kb
 

テスターで確認するのがよいでしょう。インジケーター付きのテンプレートを保存するときに、インジケーターの設定を変更した場合、テスターで一時停止を押して、インジケーターを調整するだけです。

スクリーンショット 2021-10-10 063557

\\\\\\

チャートテンプレート - 上記エキスパート向け

ファイル:
 
SanAlex #:

は、テスターで楽しむには良いですね。

と、こちらはプレゼントとして、お金を稼ぐためのものです。

皆さん、おはようございます!ご機嫌いかがでしょうか?興味をそそられますね。MT5用のartem artem.mq4 コードで問題なければ翻訳をお願いします。実際の口座でロールオーバーをどのように「処理」するのか見てみたい。

敬具 ウラジミール

 
MrBrooklin #:

皆さん、おはようございます!ご機嫌いかがでしょうか?興味をそそられますね。もし、難しいことでなければ、artem artem.mq4 コードをMT5用に翻訳してください。実際の口座でロールオーバーをどのように「処理」するのか見てみたいのです。

敬具 ウラジミール

おはようございます!では、これらのインジケーターからmt5用のシグナルインジケーターを作成します。

\\\\\\\\\\\\\\\\\\\\\\\\\\\\

ここで私はそれを作った - 残りは非常に簡単です - その欲望とそのロジック、トロールと他のすべてとExpert Advisorで。

EURUSDH1

\\\\\\\\\\\\\\\\\\\\\\

Expert Advisorでは、ゼロバーまたは最初のバーで開くように設定することができます。

スクリーンショット 2021-10-10 085616

ファイル:
Fx10_artem.mq5  20 kb