コーディングの方法は? - ページ 197 1...190191192193194195196197198199200201202203204...347 新しいコメント soak614 2009.08.05 14:28 #1961 このEAをコーディングするのを手伝ってくれる人はいますか? こんにちは。 私は現在、最大4レベルの注文を出すマーチンゲールEAで取引しています。私は、このEAを使用するリスクを減らすことができるかもしれないヘッジ戦略をちょうど考えています。以下は、私の戦略の説明です。 1.ヘッジEAは、新規注文のドローダウンを監視します。1.ヘッジEAは、新規注文のドローダウンを監視し、浮動損失の合計が事前に設定した金額より大きい場合、新規注文と反対のヘッジ注文をオープンするようEAをトリガーします。 2.2. ヘッジ注文のロットサイズは、最後の新規注文のロットサイズの倍数(ユーザーが設定可能)に基づいて計算されます(例:最後のレベル注文のロットサイズが1.6で倍数が2に設定されている場合、ヘッジ注文はロットサイズが3.2で開かれます。 3.3. ヘッジされた注文がその始値のレベルに戻ると、ヘッジされた注文は自動的に決済されます。 4.4. バスケット全体(始値注文+ヘッジ注文)があらかじめ設定された純利益額に達すると、すべての注文がクローズされます。 誰か優秀なプログラマーがこのヘッジEAをコーディングしてくれないだろうか。私はそれが同様に他のマーチンゲールEAに非常に有用であろうと思います。どうもありがとうございます。 よろしくお願いします。 ウォレス toiii 2009.08.05 14:33 #1962 おいおい... ありがとう、みんな 買いストップと売りストップは どうですか? BUY "の部分を変更するだけでいいのですか? ただ、1つのペアで2つのポジションが欲しいだけです。 すみません、まだ初心者で... liew_stanley 2009.08.05 15:51 #1963 どのようにEAにこのindisをコード化する? こんにちは、私は新しい学習者とmqlを学ぶために興味を持っています、誰かがEAにこれをコード化する方法を教えてもらえますか? extern int Fast.MA.Period = 5; extern int Slow.MA.Period = 34; extern int Signal.period = 5; //---- バッファ double Buffer1[], Buffer2[], b2[], b3[]; //+------------------------------------------------------------------+ //| カスタムインジケータ 初期化関数 //+------------------------------------------------------------------+ int init() { //---- インジケータ // カウントに使用する2つの追加バッファ IndicatorBuffers(4); IndicatorShortName("MA_5_34"); SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,3); SetIndexArrow(0,242); // 下方向 226 234 242 SetIndexBuffer(0,b2)を設定します。 SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,3) を設定します。 SetIndexArrow(1,241); //上 225 233 241 SetIndexBuffer(1,b3); // これらのバッファはプロットされず、単に矢印を決定するために使用されます。 SetIndexBuffer (2,Buffer1).SetIndexBuffer(2,Buffer1);。 SetIndexBuffer (3,Buffer2)。 //---- return(0); } //+------------------------------------------------------------------+ //| カストマーインジケータ初期化関数 //+------------------------------------------------------------------+ int deinit() { //---- return(0); } //+------------------------------------------------------------------+ //| カスタムインジケーターイテレーション関数 //+------------------------------------------------------------------+ int start() { int i, counted_bars=IndicatorCounted(); double MA5,MA34; int limit=Bars-counted_bars; Print(" print limit = ", limit); if(counted_bars>0) limit++; <---誰か、この意味を説明してくれませんか? // メインライン for(i=0; i<limit; i++) <----- どういうことか説明してくれませんか? { MA5=iMA(NULL,0,Fast.MA.Period,0,MODE_SMA,PRICE_MEDIAN,i); MA34=iMA(NULL,0,Slow.MA.Period,0,MODE_SMA,PRICE_MEDIAN,i); Buffer1=MA5-MA34。 } // シグナルライン for(i=0; i<limit; i++) <------can だれかが私にそれがどういう意味であるか説明する? { Buffer2=iMAOnArray(Buffer1,Bars,Signal.period,0,MODE_LWMA,i)。 } <---誰かこの意味を説明してくれませんか? // 矢印 for(i=0; i<limit; i++) { if(Buffer1 > Buffer2 && Buffer1 < Buffer2) b2 = High+10*Point; if(Buffer1 Buffer2) b3 = Low-10*Point; <---誰かこの意味を説明してください。 } //---- return(0); } みんなありがとう =^_^= How to code? Need guide for mql4 グッピー多重移動平均 Roger09 2009.08.05 16:32 #1964 liew_stanley: if(counted_bars>0) limit++; <----can someone explain to me what it means ?// メインライン for(i=0; i<limit; i++) <----can someone explain to me what it means ? // シグナルライン for(i=0; i<limit; i++) <----can someone explain to me what it means ? { Buffer2=iMAOnArray(Buffer1,Bars,Signal.period,0,MODE_LWMA,i); } <---誰かこの意味を説明してくれませんか? // 矢印 for(i=0; i<limit; i++) { if(Buffer1 > Buffer2 && Buffer1 < Buffer2) b2 = High+10*Point; if(Buffer1 Buffer2) b3 = Low-10*Point; <---どなたか、この意味を説明していただけませんか? みんなありがとう =^_^= 簡単なことです。 indiを起動したとき、Bars=1000(例)、counted_bars=0です。つまり、limit=1000で、indiは1000本すべてのバーを計算します。この後、counted_bars=1000となり、新しいティックごとにindiは最後の(ゼロ)バーのみを計算する。次のバーが来たら、limit=1 とし、indiは最後の2本のバーを再計算する。 b3 = Low-10*Point; - これは、バーの最小値より10ポイント低いだけの線です。 raphael 2009.08.05 16:49 #1965 liew_stanley: こんにちは、私は新しい学習者とmqlを学ぶことに興味があります、誰かがEAにこれをコード化する方法を教えてもらえますか?extern int Fast.MA.Period = 5; extern int Slow.MA.Period = 34; extern int Signal.period = 5; //---- バッファ double Buffer1[], Buffer2[], b2[], b3[]; //+------------------------------------------------------------------+ //| カスタムインジケータ初期化関数 //+------------------------------------------------------------------+ int init() { //---- インジケータ // カウントに使用する2つの追加バッファ IndicatorBuffers(4); IndicatorShortName("MA_5_34"); SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,3); SetIndexArrow(0,242); // 下方向 226 234 242 SetIndexBuffer(0,b2)を設定します。 SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,3) を設定します。 SetIndexArrow(1,241); //上 225 233 241 SetIndexBuffer(1,b3); // これらのバッファはプロットされず、単に矢印を決定するために使用されます。 SetIndexBuffer (2,Buffer1).SetIndexBuffer(2,Buffer1);。 SetIndexBuffer (3,Buffer2)。 //---- return(0); } //+------------------------------------------------------------------+ //| カストマーインジケータ初期化関数 //+------------------------------------------------------------------+ int deinit() { //---- return(0); } //+------------------------------------------------------------------+ //| カスタムインジケーターイテレーション関数 //+------------------------------------------------------------------+ int start() { int i, counted_bars=IndicatorCounted(); double MA5,MA34; int limit=Bars-counted_bars; Print(" print limit = ", limit); if(counted_bars>0) limit++; <---誰か、この意味を説明してくれませんか? // メインライン for(i=0; i<limit; i++) <-----誰かこれが何を意味するのか説明してくれませんか? { MA5=iMA(NULL,0,Fast.MA.Period,0,MODE_SMA,PRICE_MEDIAN,i); MA34=iMA(NULL,0,Slow.MA.Period,0,MODE_SMA,PRICE_MEDIAN,i); Buffer1=MA5-MA34。 } // シグナルライン for(i=0; i<limit; i++) <----can someone explain to me what it means ? { Buffer2=iMAOnArray(Buffer1,Bars,Signal.period,0,MODE_LWMA,i)。 } <---誰かこの意味を説明してくれませんか? // 矢印 for(i=0; i<limit; i++) { if(Buffer1 > Buffer2 && Buffer1 < Buffer2) b2 = High+10*Point; if(Buffer1 Buffer2) b3 = Low-10*Point; <---誰かこの意味を説明してください。 } //---- return(0); } みんなありがとう =^_^= このインジケータをEAで使用したい場合は、icustom()関数を使って アクセスすることができます。少なくとも、これが簡単な方法です。 liew_stanley 2009.08.05 17:27 #1966 fxcourt: このインディケータをEAで使用したい場合、icustom()関数を使用してアクセスすることができます。少なくとも、これが簡単な方法です。 つまり、EAでicustom()という関数を使って indisを呼び出すということですか? EAでどのようにコーディングすればよいのでしょうか? ありがとうございます。 Arshed Qureshi 2009.08.06 02:45 #1967 toiii: おっと...ありがとうございます。 買いストップ、売りストップはどうですか? BUY "を変更するだけでいいのですか? ただ、1つのペアで2つのポジションが欲しいだけなのですが、それ以上は無理です。 すみません、まだ初心者で... これを読む MQL4チュートリアル liew_stanley 2009.08.06 04:40 #1968 このコーディングは正しいですか? extern double TakeProfit=100; extern double Lots=1; extern double TrailingStop=35; extern int ShortEma = 5; extern int LongEma = 34; //+------------------------------------------------------------------+ //| エキスパート初期化関数 //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| エキスパート初期化関数 //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } int Crossed (double line1 , double line2) { static int last_direction = 0; static int current_direction = 0; if(line1>line2)current_direction = 1; //上方向 if(line1<line2)current_direction=2;//下方向 if(current_direction != last_direction) //変更されました。 { last_direction = current_direction; return (last_direction); } それ以外 { return (0); } } //+------------------------------------------------------------------+ //| エキスパートスタート機能 //+------------------------------------------------------------------+ int start() { //---- int total; double shortEma, longEma; shortEma = iCustom(NULL,0, "Test_Demo",13,0,0); longEma = iCustom(NULL,0, "Test_Demo",54,0,0); longEma = iCustom(NULL,0, "Test_Demo",54,0,0); longEma = iCustom(NULL,0, "Test_Demo",54,0,0); Print("shortEma = " + shortEma + " : longEma = " + longEma); int isCrossed = 0; isCrossed = Crossed (LongEma,ShortEma); total = OrdersTotal(); if(total < 1) { if(isCrossed == 1) { 1=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,「私のEA」,12345,0,Green); if(1>0) { if(オーダーセレクト(1,SELECT_BY_TICKET,MODE_TRADES))Print("BUY order opened : ",OrderOpenPrice()); else Print("BUY注文の開始エラー :",GetLastError())。 return(0); } if(isCrossed == 2) { 2=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point, "私のEA",12345,0,Red).を送信します。 if(2>0) { if(オーダーセレクト(2,SELECT_BY_TICKET,MODE_TRADES))Print("SELL order opened : ",OrderOpenPrice()); else Print("SELL注文の開始エラー :",GetLastError()); return(0); return(0); } } 1と2が予期しないトークンであるというエラーが発生しました。 ありがとうございます。 How to code? 絵馬クロス! 生のアイデア Roger09 2009.08.06 04:51 #1969 何か削除して忘れたんだろう。 2=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"My EA",12345,0,Red); if(2>0) 無意味なことだ Arshed Qureshi 2009.08.06 04:58 #1970 liew_stanley: extern double TakeProfit=100;extern double Lots=1; extern double TrailingStop=35; 私は1&2予期しないトークンというエラーを持っている、それは何を意味するのでしょうか? 私を導くことができますか? ありがとうございます OrderSend(...)の前に1=と2=を削除してください。 1...190191192193194195196197198199200201202203204...347 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
このEAをコーディングするのを手伝ってくれる人はいますか?
こんにちは。
私は現在、最大4レベルの注文を出すマーチンゲールEAで取引しています。私は、このEAを使用するリスクを減らすことができるかもしれないヘッジ戦略をちょうど考えています。以下は、私の戦略の説明です。
1.ヘッジEAは、新規注文のドローダウンを監視します。1.ヘッジEAは、新規注文のドローダウンを監視し、浮動損失の合計が事前に設定した金額より大きい場合、新規注文と反対のヘッジ注文をオープンするようEAをトリガーします。
2.2. ヘッジ注文のロットサイズは、最後の新規注文のロットサイズの倍数(ユーザーが設定可能)に基づいて計算されます(例:最後のレベル注文のロットサイズが1.6で倍数が2に設定されている場合、ヘッジ注文はロットサイズが3.2で開かれます。
3.3. ヘッジされた注文がその始値のレベルに戻ると、ヘッジされた注文は自動的に決済されます。
4.4. バスケット全体(始値注文+ヘッジ注文)があらかじめ設定された純利益額に達すると、すべての注文がクローズされます。
誰か優秀なプログラマーがこのヘッジEAをコーディングしてくれないだろうか。私はそれが同様に他のマーチンゲールEAに非常に有用であろうと思います。どうもありがとうございます。
よろしくお願いします。
ウォレス
おいおい...
ありがとう、みんな
買いストップと売りストップは どうですか?
BUY "の部分を変更するだけでいいのですか?
ただ、1つのペアで2つのポジションが欲しいだけです。
すみません、まだ初心者で...
どのようにEAにこのindisをコード化する?
こんにちは、私は新しい学習者とmqlを学ぶために興味を持っています、誰かがEAにこれをコード化する方法を教えてもらえますか?
extern int Fast.MA.Period = 5;
extern int Slow.MA.Period = 34;
extern int Signal.period = 5;
//---- バッファ
double Buffer1[],
Buffer2[],
b2[],
b3[];
//+------------------------------------------------------------------+
//| カスタムインジケータ 初期化関数
//+------------------------------------------------------------------+
int init()
{
//---- インジケータ
// カウントに使用する2つの追加バッファ
IndicatorBuffers(4);
IndicatorShortName("MA_5_34");
SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,3);
SetIndexArrow(0,242); // 下方向 226 234 242
SetIndexBuffer(0,b2)を設定します。
SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,3) を設定します。
SetIndexArrow(1,241); //上 225 233 241
SetIndexBuffer(1,b3);
// これらのバッファはプロットされず、単に矢印を決定するために使用されます。
SetIndexBuffer (2,Buffer1).SetIndexBuffer(2,Buffer1);。
SetIndexBuffer (3,Buffer2)。
//----
return(0);
}
//+------------------------------------------------------------------+
//| カストマーインジケータ初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----
return(0);
}
//+------------------------------------------------------------------+
//| カスタムインジケーターイテレーション関数
//+------------------------------------------------------------------+
int start()
{
int i, counted_bars=IndicatorCounted();
double MA5,MA34;
int limit=Bars-counted_bars;
Print(" print limit = ", limit);
if(counted_bars>0) limit++; <---誰か、この意味を説明してくれませんか?
// メインライン
for(i=0; i<limit; i++) <----- どういうことか説明してくれませんか?
{
MA5=iMA(NULL,0,Fast.MA.Period,0,MODE_SMA,PRICE_MEDIAN,i);
MA34=iMA(NULL,0,Slow.MA.Period,0,MODE_SMA,PRICE_MEDIAN,i);
Buffer1=MA5-MA34。
}
// シグナルライン
for(i=0; i<limit; i++) <------can だれかが私にそれがどういう意味であるか説明する?
{
Buffer2=iMAOnArray(Buffer1,Bars,Signal.period,0,MODE_LWMA,i)。
} <---誰かこの意味を説明してくれませんか?
// 矢印
for(i=0; i<limit; i++)
{
if(Buffer1 > Buffer2 && Buffer1 < Buffer2)
b2 = High+10*Point;
if(Buffer1 Buffer2)
b3 = Low-10*Point; <---誰かこの意味を説明してください。
}
//----
return(0);
}
みんなありがとう =^_^=
if(counted_bars>0) limit++; <----can someone explain to me what it means ?
// メインライン
for(i=0; i<limit; i++) <----can someone explain to me what it means ?
// シグナルライン
for(i=0; i<limit; i++) <----can someone explain to me what it means ?
{
Buffer2=iMAOnArray(Buffer1,Bars,Signal.period,0,MODE_LWMA,i);
} <---誰かこの意味を説明してくれませんか?
// 矢印
for(i=0; i<limit; i++)
{
if(Buffer1 > Buffer2 && Buffer1 < Buffer2)
b2 = High+10*Point;
if(Buffer1 Buffer2)
b3 = Low-10*Point; <---どなたか、この意味を説明していただけませんか?
みんなありがとう =^_^=簡単なことです。
indiを起動したとき、Bars=1000(例)、counted_bars=0です。つまり、limit=1000で、indiは1000本すべてのバーを計算します。この後、counted_bars=1000となり、新しいティックごとにindiは最後の(ゼロ)バーのみを計算する。次のバーが来たら、limit=1 とし、indiは最後の2本のバーを再計算する。
b3 = Low-10*Point; - これは、バーの最小値より10ポイント低いだけの線です。
こんにちは、私は新しい学習者とmqlを学ぶことに興味があります、誰かがEAにこれをコード化する方法を教えてもらえますか?
extern int Fast.MA.Period = 5;
extern int Slow.MA.Period = 34;
extern int Signal.period = 5;
//---- バッファ
double Buffer1[],
Buffer2[],
b2[],
b3[];
//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int init()
{
//---- インジケータ
// カウントに使用する2つの追加バッファ
IndicatorBuffers(4);
IndicatorShortName("MA_5_34");
SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,3);
SetIndexArrow(0,242); // 下方向 226 234 242
SetIndexBuffer(0,b2)を設定します。
SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,3) を設定します。
SetIndexArrow(1,241); //上 225 233 241
SetIndexBuffer(1,b3);
// これらのバッファはプロットされず、単に矢印を決定するために使用されます。
SetIndexBuffer (2,Buffer1).SetIndexBuffer(2,Buffer1);。
SetIndexBuffer (3,Buffer2)。
//----
return(0);
}
//+------------------------------------------------------------------+
//| カストマーインジケータ初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----
return(0);
}
//+------------------------------------------------------------------+
//| カスタムインジケーターイテレーション関数
//+------------------------------------------------------------------+
int start()
{
int i, counted_bars=IndicatorCounted();
double MA5,MA34;
int limit=Bars-counted_bars;
Print(" print limit = ", limit);
if(counted_bars>0) limit++; <---誰か、この意味を説明してくれませんか?
// メインライン
for(i=0; i<limit; i++) <-----誰かこれが何を意味するのか説明してくれませんか?
{
MA5=iMA(NULL,0,Fast.MA.Period,0,MODE_SMA,PRICE_MEDIAN,i);
MA34=iMA(NULL,0,Slow.MA.Period,0,MODE_SMA,PRICE_MEDIAN,i);
Buffer1=MA5-MA34。
}
// シグナルライン
for(i=0; i<limit; i++) <----can someone explain to me what it means ?
{
Buffer2=iMAOnArray(Buffer1,Bars,Signal.period,0,MODE_LWMA,i)。
} <---誰かこの意味を説明してくれませんか?
// 矢印
for(i=0; i<limit; i++)
{
if(Buffer1 > Buffer2 && Buffer1 < Buffer2)
b2 = High+10*Point;
if(Buffer1 Buffer2)
b3 = Low-10*Point; <---誰かこの意味を説明してください。
}
//----
return(0);
}
みんなありがとう =^_^=このインジケータをEAで使用したい場合は、icustom()関数を使って アクセスすることができます。少なくとも、これが簡単な方法です。
このインディケータをEAで使用したい場合、icustom()関数を使用してアクセスすることができます。少なくとも、これが簡単な方法です。
つまり、EAでicustom()という関数を使って indisを呼び出すということですか? EAでどのようにコーディングすればよいのでしょうか?
ありがとうございます。
おっと...
ありがとうございます。
買いストップ、売りストップはどうですか?
BUY "を変更するだけでいいのですか?
ただ、1つのペアで2つのポジションが欲しいだけなのですが、それ以上は無理です。
すみません、まだ初心者で...
これを読む
MQL4チュートリアル
このコーディングは正しいですか?
extern double TakeProfit=100;
extern double Lots=1;
extern double TrailingStop=35;
extern int ShortEma = 5;
extern int LongEma = 34;
//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
int Crossed (double line1 , double line2)
{
static int last_direction = 0;
static int current_direction = 0;
if(line1>line2)current_direction = 1; //上方向
if(line1<line2)current_direction=2;//下方向
if(current_direction != last_direction) //変更されました。
{
last_direction = current_direction;
return (last_direction);
}
それ以外
{
return (0);
}
}
//+------------------------------------------------------------------+
//| エキスパートスタート機能
//+------------------------------------------------------------------+
int start()
{
//----
int total;
double shortEma, longEma;
shortEma = iCustom(NULL,0, "Test_Demo",13,0,0); longEma = iCustom(NULL,0, "Test_Demo",54,0,0);
longEma = iCustom(NULL,0, "Test_Demo",54,0,0); longEma = iCustom(NULL,0, "Test_Demo",54,0,0);
Print("shortEma = " + shortEma + " : longEma = " + longEma);
int isCrossed = 0;
isCrossed = Crossed (LongEma,ShortEma);
total = OrdersTotal();
if(total < 1)
{
if(isCrossed == 1)
{
1=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,「私のEA」,12345,0,Green);
if(1>0)
{
if(オーダーセレクト(1,SELECT_BY_TICKET,MODE_TRADES))Print("BUY order opened : ",OrderOpenPrice());
else Print("BUY注文の開始エラー :",GetLastError())。
return(0);
}
if(isCrossed == 2)
{
2=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point, "私のEA",12345,0,Red).を送信します。
if(2>0)
{
if(オーダーセレクト(2,SELECT_BY_TICKET,MODE_TRADES))Print("SELL order opened : ",OrderOpenPrice());
else Print("SELL注文の開始エラー :",GetLastError());
return(0);
return(0);
}
}
1と2が予期しないトークンであるというエラーが発生しました。
ありがとうございます。
何か削除して忘れたんだろう。
無意味なことだ
extern double TakeProfit=100;
extern double Lots=1;
extern double TrailingStop=35;
私は1&2予期しないトークンというエラーを持っている、それは何を意味するのでしょうか? 私を導くことができますか?
ありがとうございますOrderSend(...)の前に1=と2=を削除してください。