double RSI = iRSI(NULL, 0, 18, PRICE_CLOSE, Current + 0);
double RSI_prev = iRSI(NULL, 0, 18, PRICE_CLOSE, Current + 1);
if (RSI > 50 && RSI > RSI_prev) {
Order = BUY;
}
[/CODE]
3) STOCH
Buy when the Oscillator (either %K or %D) falls below a specific level (e.g., 20) and then rises above that level. Sell when the Oscillator rises above a specific level (e.g., 80) and then falls below that level
前のバーの高さ
こんにちは。
前のバーのコードを教えてください。
これは、前のバーが特定の高さより大きいときに注文を置くことを制限するためにEAで使用することができます。
よろしくお願いします。
SIDDESH
Plz correct my code (basic EMA, STOC etc.)
こんにちは...私はここに来たばかりで、MQL4コーディングの初心者です...私は特定の条件に基づいていくつかのコードを構築しました...何か間違いがあれば修正するためにあなた方が私を助けてくれることを願っています...。
さて、始めましょう。
1) EMAがクロスする
買いの場合
- EMA 5 > EMA 18
- 両方の線が上向きである
- EMA5 >= 10pipsの場合、現在と以前の価格の差
現在、これを使用しています。
double EMA5 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, 0);
double EMA5_prev = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, 1);
double EMA18 = iMA(NULL, 0, 18, 0, MODE_EMA, PRICE_CLOSE, 0);
double EMA18_prev = iMA(NULL, 0, 18, 0, MODE_EMA, PRICE_CLOSE, 1);
if (EMA5 > EMA18) {
if ( EMA5 - EMA5_prev >= 10 && EMA18 > EMA_prev) {
Order = BUY;
}
}
[/CODE]
2) RSI
double RSI = iRSI(NULL, 0, 18, PRICE_CLOSE, Current + 0);
double RSI_prev = iRSI(NULL, 0, 18, PRICE_CLOSE, Current + 1);
if (RSI > 50 && RSI > RSI_prev) {
Order = BUY;
}
[/CODE]
3) STOCH
Buy when the Oscillator (either %K or %D) falls below a specific level (e.g., 20) and then rises above that level. Sell when the Oscillator rises above a specific level (e.g., 80) and then falls below that level
[code]
double STOCH_K = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 0);
double STOCH_D = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 0);
if (STOCH_K < 20 || STOCH_D < 20) {
Order = BUY;
}
* i think i've skipped the red one.. dont know how to do that part..
Buy when the %K line rises above the %D line and sell when the %K line falls below the %D line
[code]
double STOCH_K = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 0);
double STOCH_D = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 0);
if (STOCH_K > STOCH_D) {
Order BUY;
} else
if {STOCH_K < STOCH_D) {
Order SELL;
}
4) Stocのコーディングでは、MODE_MAINは何のためにあるのか?MODE_SIGNALは何のためのものですか?
5) EAに自動クローズと自動オンタイマーを設定するには?
例:午前8時にオープン、午後5時にクローズする。
6) ポストがオープンした時に、他のチャートにEAを表示させない方法は?
例えば、2つのペア(GUとEJ)でEAを使用し、GUのポストが開かれたら、EJのEAを無効にするような。
基本的な質問で申し訳ないのですが、教えていただければ幸いです。
トリッキーなストップロス - これについて助けてもらえますか?
私は、トレンドに乗るEAを組みました。利益があるレベルに達したとき、私はオープンロットの一部のストップロスをその利益レベルに移動させたいと思います。残りのロットはそのままにしておきます(または、残りのロットのストップロスをブレイクイーブンにまで上げます)。
私はテイクプロフィットを 使用していません。
どのようにコード化すればよいのでしょうか?
ありがとうございます。
Big Be
...利益があるレベルに達したら、オープンロットの一部のストップロスをその利益レベルまで移動させたい。..
どのようにコーディングすればよいのでしょうか?
ありがとうございます。
ビッグビー複数のポジションを持っていない限り、それはできません:ポジションごとに1つのSP/TPしかない場合があります。しかし、ポジションの一部を閉じる ことはできます:OrderClose(...)関数に 閉じたいロット数を入れればいいのです。
また、(ブローカーに依存しますが)あなたが望む部分のために保留中のストップ(ヘッジ)を置くことができます:その後、あなたは "CloseBy "コマンドまたは関数を実行する必要があります。
#インポートに関する質問
皆さんこんにちは
MT4でこのAPI関数を 呼び出す必要があります。
int GetMouseMovePoints(
UINT cbSize // MOUSEMOVEPOINT構造体のサイズ
LPMOUSEMOVEPOINT lppt, // 現在のマウス移動ポイントへのポインタ
LPMOUSEMOVEPOINT lpptBuf, // ポイントを格納するバッファ.
int nBufPoints, // バッファに格納できる点の数.
DWORD resolution // 点の解像度
);
import節を教えてください。
謝辞
こんにちは
MT4でこのAPI関数を呼び出す必要があります。
int GetMouseMovePoints(
UINT cbSize // MOUSEMOVEPOINT構造体のサイズ
LPMOUSEMOVEPOINT lppt, // 現在のマウス移動ポイントへのポインタ
LPMOUSEMOVEPOINT lpptBuf, // ポイントを格納するバッファ.
int nBufPoints, // バッファに格納できる点の数.
DWORD resolution // 点の解像度
);
import clausuleについて教えてください。
しゃいご質問をこのスレッドに移動しました。
1つのバーにつき1つのトレード?
以前にも取り上げられたことがあると思いますが、どなたか1つのバーに1つの取引しかできないようにするコードを教えていただけませんか?
ありがとうございます。
ミッシェルです。
ありがとうございます。
恐れ入りました。
今度は「マジックナンバーの楽しみ方」を学ばないとね。
ビッグベー
質問です!!!
これはどのようにコーディングすればいいのでしょうか?
前の6つのトレードが損失だった場合、私はこれを試してみましたが、それは動作しません!!!!
int MTL;
extern MaxTradeLoss=6;
int start()
{
for(int b=0;b<MaxTradeLoss;b++)
{
if(OrderSelect(b,SELECT_BY_POS,MODE_HISTORY)==true)
{
if(OrderSymbol()==Symbol() && OrderProfit()<0)
{
MTL++;
}
}
}
MTL=0;
return(0);
}
どのようにコーディングすればよいのでしょうか?
前の6つのトレードが損失だった場合、私はこれを試してみましたが、それは動作しません!!!!
int MTL;
extern MaxTradeLoss=6;
int start()
{
for(int b=0;b<MaxTradeLoss;b++)
{
if(OrderSelect(b,SELECT_BY_POS,MODE_HISTORY)==true)
{
if(OrderSymbol()==Symbol() && OrderProfit()<0)
{
MTL++;
}
}
}
MTL=0;
return(0);
}
MTL=0;という記述は、"for "ループで何をカウントしたかにかかわらず、MTLをゼロに設定するものです。この行は、"for "ループの前ではなく、後であるべきです。