[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 480

 

このExpert Advisorを理解 するのに役立ちます

アリゲーター指標に 基づく
下から上に緑の線が青と赤を交差したときに買うための信号
上から下に緑の線が赤と青を交差したときに売るための信号
ポジションはStopLossとTakeProfit時にクローズされます。


コンパイル時にエラーはありませんが、戦略テスターでテストするときにエラーがあります
文字列の順序を待っている最初の エラーは、 コンパイルされたから 文字列を含む削除コードを開かなかった エラーなし 戦略テスターで実行
作品が、唯一の売り位置を買うために開きません
あなたは見て、コードで間違っているものをオフに署名してください することができました

ファイル:
all_2.mq4  2 kb
 
novicek:

このEAに対処 するのを助けて ください

アリゲーターインジケーター
緑の線が青の線とクロスし、赤の線が下から上にクロスしたとき、買いポジションを持つ。
緑の線が赤の線と交差し、上から下に向かって青の線が引かれたとき、売りポジションを持つ。
StopLossとTakeProfitに達すると、ポジションがクローズされます。


コンパイル時にエラーはありませんが、戦略テスターでテストしたときにエラーがあります
最初のエラーは、文字列の注文を待って開いていなかった戦略テスターで実行されるエラーなしコンパイルから 文字列を含むコードを削除
作品は、唯一の位置を開きます 購入時に売りが望んでいない
あなたは見て、コードで何が間違っているを書いてください することができます。


は、冒頭のセリフを見てください。

OrderSend(Symbol(),OP_BUY,Lot,Ask,Slippage,magic,Ask , StopLoss * Point, Ask , TakeProfit * Point);
            
OrderSend(Symbol(),OP_SELL,Lot,Bid,Slippage,magic,Bid , StopLoss * Point, Bid , TakeProfit * Point);

ここで、OrderSend関数自体の仕様を見てみましょう(説明はこちらhttps://docs.mql4.com/ru/trading/OrderSend)

int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE) 

を実行し、パラメータが残っているかどうかを確認します。

 
novicek:

私のリテラシーに疑問の余地はない
句読点をつけないのは私のビミョーなところ、それだけです。


句読点はつけない」を実践すると、質問投稿が頻繁に無視されることに驚かないでください。

また、人は自分を尊重する習慣を持っています。
また、自国語を尊重する習慣もある。

 
ありがとうございます、しかし、私はそこに解決策を見つけることができませんでした、私はrsiにボリンジャーを適用する必要があり、私は手動でそれを行うことができますが、どのように私はそれをプログラム的に行うのですか?
 
ZZZEROXXX:
ありがとうございます、しかし、私はそこに解決策を見つけられませんでした、私はrsiにボリンジャーを課す必要があります、あなたは手動でそれを行うことができますが、どのようにプログラムでそれを行うには?

ボリンジャーは、StdDevで上下に押されるMAです。やり方は2通り。

1.Deviatの 整数偏差の変化でよければ、iBandsOnArray 関数で

2.Deviatの 小数の端数も数える必要がある場合は、iMAOnArrayと iStdOnArrayの 関数を使用する必要があります

コード上では以下のようになります。

#property indicator_separate_window
#property indicator_buffers 4
#property indicator_minimum 0
#property indicator_maximum 100

#property indicator_color1 SkyBlue
#property indicator_color2 LimeGreen
#property indicator_color3 LimeGreen
#property indicator_color4 LimeGreen
#property indicator_style2 STYLE_DOT

extern int rsiPeriod=14;
extern int rsiPrice=PRICE_CLOSE;
extern int bbPeriod=20;
extern int bbShift=0;
int bbMethod=MODE_SMA;
extern double bbDeviat=2;

double rsi[], ma[], up[], dn[], stdev[];
//------------------------------------------------------------------    init
int init()
{
  int i=0;
  SetIndexBuffer(i, rsi); SetIndexStyle(i, DRAW_LINE); SetIndexLabel(i, "RSI"); i++;
  SetIndexBuffer(i, ma); SetIndexStyle(i, DRAW_LINE); SetIndexLabel(i, "MA"); i++;
  SetIndexBuffer(i, up); SetIndexStyle(i, DRAW_LINE); SetIndexLabel(i, "UP"); i++;
  SetIndexBuffer(i, dn); SetIndexStyle(i, DRAW_LINE); SetIndexLabel(i, "DN"); i++;
  IndicatorBuffers(5);
  SetIndexBuffer(i, stdev); SetIndexStyle(i, DRAW_NONE); // добавочный буфер расчета
  return(0);
}
//------------------------------------------------------------------    start
int start()
{
  int count=IndicatorCounted(); if (count<0) return; // если ошибка расчета
  int lim=Bars-count; if (lim>1) lim=Bars-1; // если нерасчитано более 1 бара, то полный пересчет
  // 1. получаем массив RSI
  for (int i=lim; i>=0; i--) rsi[i]=iRSI(Symbol(), Period(), rsiPeriod, rsiPrice, i);
  // 2. строим на основе RSI - МА (средняя линия болинджера), StdDev и Верхнюю и Нижнюю границу Боллинджера
  for (i=lim; i>=0; i--) 
  {
    ma[i]=iMAOnArray(rsi, 0, bbPeriod, bbShift, bbMethod, i); // средняя линия
    stdev[i]=iStdDevOnArray(rsi, 0, bbPeriod, bbShift, bbMethod, i); // отклонение
    up[i]=ma[i]+bbDeviat*stdev[i]; // верхняя граница
    dn[i]=ma[i]-bbDeviat*stdev[i]; // нижняя граница
  }
  return(0);
}
ファイル:
_bbonrsi.mq4  3 kb
 
abolk:

句読点を打つな」というバイアスを実行すると、質問投稿が頻繁に無視されるようになりますが、驚かないでください。
また、人は自分を尊重する傾向があります。
また、自国語を尊重する習慣もある。

そうなんです。目が痛いし、目を背けたくなる。
そして、とにかく疑念が生じる。「自分のリテラシー(教養)について」である。
 
sergeev:

コードでは、次のようになります。

ありがとうございました。必要なものだけ
 
abolk:


句読点を打つな」というバイアスを実行すると、質問投稿が頻繁に無視されるようになりますが、驚かないでください。

また、人は自分を尊重する傾向があります。
また、自国語を尊重する習慣もある。

私など、いまだにどこに入れたらいいのかわからず、最後に点があるはずだ--ということだけは確実に知っているのです。ロシア語は一番難しい言語です。しかし、他の言語が羨むような表現ができるという利点があります。特に汚い言葉は短く、誰にでも理解できます。
 
親愛なる、いくつかのTFからExpert Advisorに情報Open[1]とClose[1]を呼び出す方法を教えてください。
 
ロシア語でブジークとBは別物です。Bをしっかり持っている、十分な実力がある。