[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 251

 
Ibiss >> :

主線と信号線の逆交差での出口の正しいプログラム方法は? 信号が短い間隔で来るので...注文があるべき場所に閉じない状態になってしまう...

という疑問がずっとありました。HELP!

以下、終了条件です。


私はエースではありませんが

if(OrderMagicNumber()!= MAGICMA || OrderSymbol()!=Symbol()) continue;

if (OMN is not equal OMN or OS is not equal OS) {then go on}.


が、Expert Advisorに属さない注文であることを意味します。

こころがける

if(OrderMagicNumber()!= MAGICMA || OrderSymbol()!=Symbol()) break;
 
Ibiss >> :

主線と信号線の逆交差での出口の正しいプログラム方法は? 信号が短い間隔で来るので...注文があるべき場所に閉じない状態になってしまう...

という疑問がずっとありました。PLEASE!

以下、終了条件です。


Snachala narusyj sebe blok shemy svoego algorutma, chtob tu vuzyalno vudel chtob tu doesh y po kakum yslovuyam y tebya zakruvayutsya orders, a vse eto delo perevestu v kod eto yge delo tehnuku - ya tak dymayu.

 

皆さん、各注文のチャートにコメントを表示するような準備があれば教えてください。例:グラフの矢印とその横に理由付きのコメント。テスターで描画してほしい :)

ありがとうございます。

 
AndBar >> :

Snachala narusyj sebe blok shemy svoego algorithm, chtob tu vuzyalno vudel chtob tu doaesh y po kakum yslovuyam y tebya zakruvayutsya orders, a vse eto delo perevestu v kod eto yg elo deo tehnuku - ya tak dymayu.


ヘイマン......こんな風に、こんな風に話してくれるかい?)>> 目が壊れそうです。:)
 

コスパは 悪いですが、ありがとうございました。

クロスやバッククロスを反対注文の開閉にする方法を知っている人がいるかも!?

これには魔法が必要だ...あぁ...。

何種類もの購入や販売があるはずなのに、数枚しかないのは......。

どうすればこの問題を解決できるのでしょうか?

コードを見ても平気な人!お願いします。

全てはインジケータではなくEAのコードにある...と思うのですが...。

とドローダウンが...96%なんて望むべくもない...って感じです。だからなんだ)

はこうでなければならない。


ファイル:
itrend.mq4  5 kb
 

とにかく、グローバル変数について読んでからEAをやり直そうと思ったら、eureka!!!!

と、ダニの問題もありました...。

トレードはすべてのクロスオーバーで開くが、ひとつだけ大きな欠点がある...それは、大きな スタックで開くことだ...

この問題を解決するにはどうしたらいいのでしょうか?)

スクリーンショットをご覧ください。


"気の弱い人には無理です"

ファイル:
ggftest.mq4  3 kb
 
Ibiss >> :

コスパは悪いですが、ありがとうございました。

クロスやバッククロスで反対注文を開閉させる方法、どなたかご存知ですか!?

これには魔法が必要だ...あぁ...。

何種類もの購入や販売があるはずなのに、数枚しかないのは......。

このバグはどうしたら直るのでしょうか?

コードを見ても平気な人!お願いします。

全てはインジケータではなくEAのコードにある...と思うのですが...。

で、ドローダウンは...敵に望むべくもない-96%...。だからなんだ)

これがあるべき姿です。



一番簡単な方法です。

各ティックで4つの指標変数を初期化する。赤い線に2本、緑に2本。と2つのトレーディングシグナル変数がそれぞれあります。

この場合、以下のようなコードになります。

// ------ Пользовательские переменные -------------------
extern bool CloseObr=true;// закрывать ли противоположный ордер при возникновении торгового сигнала
// ---------- Вспомогательные переменные ------------
double Green_1, Green_2, Red_1, Red_2;// значения индикатора на первой и второй свечках
bool SigBuy, SigSell;// торговые сигналы
int TICKET;

int start(){
  Green_1=iCustom(****);// зелёная на первой свече
  Green_2=iCustom(****);// зелёная на второй свече
  Red_1=iCustom(****);// красная на первой свече
  Red_2=iCustom(****);// красная на второй свече
  
  // ------- формируем торговые сигналы -------------
  
  SigBuy=false;
  SigSell=false;
  
  if( Green_2<= Red_2 && Green_1> Red_1){// зелёная пересекает красную снизу вверх
    SigBuy=true;
  }
  if( Green_2>= Red_2 && Green_1< Red_1){// зелёная пересекает красную сверху вниз
    SigSell=true;
  }
  
  // ------ Сигналы сформированы. Торгуем ------------------
  if( SigBuy){
    if( CloseObr){
      // то удаляем все Sell-ордера
    }
    // --- противоположные удалены. Открываем позу
    ......
    TICKET=OrderSend( тут пишем параметры установки лонга);
  }
  if( SigSell){
    if( CloseObr){
      // то удаляем все Buy-ордера
    }
    // --- противоположные удалены. Открываем позу
    ......
    TICKET=OrderSend( тут пишем параметры установки шорта);
  }
}
一般的には、このようにEAが動作するはずです。これは、コードセットの最も完璧なバージョンではないかもしれませんが、その構築の論理をよく示しています。
 

drknnさん、アイデアとコードの提供ありがとうございました。)


注文が殺到した場合の対処法をご存知ですか?)

 
Ibiss >> :

とにかく、グローバル変数について読んでからEAをやり直そうと思ったら、eureka!!!!

と、ダニの問題もありました...。

トレードはすべてのクロスオーバーで開くが、ひとつだけ大きな欠点がある...それは、大きなスタックで開くことだ...

この問題を解決するにはどうしたらいいのでしょうか?)

スクリーンショットをご覧ください。


">>気の弱い人には無理です。



それなら、こうすればいいんです。

// ------ Пользовательские переменные -------------------
extern bool CloseObr=true;// закрывать ли противоположный ордер при возникновении торгового сигнала
extern int MAGIC=0;// у ордеров открытых вручную магик = 0
// ---------- Вспомогательные переменные ------------
double Green_1, Green_2, Red_1, Red_2;// значения индикатора на первой и второй свечках
bool SigBuy, SigSell;// торговые сигналы
int TICKET;

int start(){
  Green_1=iCustom(****);// зелёная на первой свече
  Green_2=iCustom(****);// зелёная на второй свече
  Red_1=iCustom(****);// красная на первой свече
  Red_2=iCustom(****);// красная на второй свече
  
  // ------- формируем торговые сигналы -------------
  
  SigBuy=false;
  SigSell=false;
  
  if( Green_2<= Red_2 && Green_1> Red_1){// зелёная пересекает красную снизу вверх
    SigBuy=true;
  }
  if( Green_2>= Red_2 && Green_1< Red_1){// зелёная пересекает красную сверху вниз
    SigSell=true;
  }
  
  // ------ Сигналы сформированы. Торгуем ------------------
  if( SigBuy && SchBuy( MAGIC)==0){
    if( CloseObr && SchSell( MAGIC)>0){
      // то удаляем все Sell-ордера
    }
    // --- противоположные удалены. Открываем позу
    ......
    TICKET=OrderSend( тут пишем параметры установки лонга);
  }
  if( SigSell && SchSell( MAGIC)==0){
    if( CloseObr && SchBuy( MAGIC)>0){
      // то удаляем все Buy-ордера
    }
    // --- противоположные удалены. Открываем позу
    ......
    TICKET=OrderSend( тут пишем параметры установки шорта);
  }
return(0);
}
// --------- Пользовательские подпрограммы -----------------

// ==========================================================================================================================
// ************************* Счётчики ордеров *******************************************************************************
// ==========================================================================================================================


//=========== SchBuy()  ===============================
//  Функция возвращает количество Buy-ордеров
//   SchBuy      - счётчик Buy ордеров
//-----------------------------------------------------------
int SchBuy(int MAGIC){
  string SMB=Symbol();
  int SchBuy=0;
  int i;
  for ( i=OrdersTotal()-1; i>=0; i--) {
    if (!OrderSelect( i, SELECT_BY_POS, MODE_TRADES)) { WriteError( i);}
    else {
      if(OrderSymbol()!= SMB || OrderMagicNumber()!= MAGIC){ continue;}
      if(OrderType()==OP_BUY){ 
        SchBuy++;
      }  
    }
  }
  return( SchBuy);
}                  
//==================================================================================================


//=========== SchSell()  ===============================
//  Функция возвращает количество Sell-ордеров
//  SchSell  - счётчик Sell ордеров
//-----------------------------------------------------------
int SchSell(int MAGIC){
  string SMB=Symbol();
  int SchSell=0;
  int i;
  for ( i=OrdersTotal()-1; i>=0; i--){
    if (!OrderSelect( i, SELECT_BY_POS, MODE_TRADES)) { WriteError( i);}
    else {
      if(OrderSymbol()!= SMB || OrderMagicNumber()!= MAGIC){ continue;} 
      if(OrderType()==OP_SELL){
        SchSell++;
      }
    }
  }
 return( SchSell);     
}                  
//==================================================================================================
 
Bond >> :

皆さん、各注文のチャートにコメントを表示する準備が何かあれば教えてください。例:チャート上に矢印を表示し、その横に理由をコメントする。テスターで描画してほしい)

>> ありがとうございました。


テスターでも描画させたい場合は、プログラミングコードを手動で行う必要があります。

この場合、関数OrderSend()およびOrderClose()で矢印を設定するのがよいでしょう。

コメントは様々な方法で印刷することができます。既製品の場合、これはかなり特殊な作業で、既製品のコードを見つけることはまず不可能だと言えます。

MQL4で取引履歴をチャートに表示するスクリプトをここに投稿しました。私のアイデアは、後に他のプログラマーによって修正されました。注文のオープン/クローズポイントを示す矢印とラインが表示されただけです。その後、他のプログラマーのスクリプトにも、注文に対するコメントや約定価格の表示が登場するようになった。ここで探すといいかもしれません。