コーディングの方法は? - ページ 58 1...515253545556575859606162636465...347 新しいコメント Beno 2007.12.13 22:08 #571 直ったかと思ったのですが、そうではありません。 私がしようとしているのは、チャート上とジャーナル上に、現在のポジションを開くためにどのエントリー条件が使われたかを示すコメントを表示させることです。 これは以前に行われたことがあり、どのように行うのでしょうか?なぜなら、私はここしばらくの間試してきましたが、うまくいかず、私が思っていたほど簡単ではありませんでした。 以下は、私の最新の試みです。 どんな助けでも偉大であろう buysig = Long || Long2 || Long3 || Long4; このような場合、「Sellig = Short || Short2 || Short3 || Short4; closebuy=sellsig; closesell=buysigです。 if (curprof>=AccountEquity()*ProfitExit/100.0) {。 exit=true。 } if (last>0 && (Time[0]-last)/(Period()*60)>=CancelOrderBars){。 remorder=true。 } } void CheckForOpen() { int res,tr; //---- 売り条件 co=CalculateCurrentOrders(Symbol())。 if(sellsig && lastsig!=-1){ ショート == true if ( Short == true)Print(" Short signal taken ").If ( Short2 == true)Print(" Short signal taken "); if ( Short2 == true)Print(" Short2 signal taken "); if ( Short3 == true)Print(" Short2 signal taken "); if ( Short3 == true)Print(" Short3 シグナルを取得しました "); if ( Short4 == true)Print(" Short3 シグナルを取得しました "); if ( Short4 == true)Print(" Short4 signal taken "); if ( Short4 == true)Print(" Short4 signal taken "); co=CalculateCurrentOrders(Symbol())。 if (co=0){。 res = OpenStop(OP_SELLSTOP,LotsRisk(StopLoss), Low[shift]-OrderPipsDiff*Point, StopLoss, TakeProfit1); } lastsig=-1; last=Time[0]; を返します。 } //---- 買いの条件 co=CalculateCurrentOrders(Symbol())。 if(buysig && lastsig!=1) { if ( Long == true) Print(" Long signal taken "); if ( Long2 == true)Print(" Long2 signal taken ").If ( Long3 == true) Print(" Long2 signal taken "); if ( Long3 == true) Print(" Long3 signal taken ").If ( Long4 == true) Print(" Long3 signal taken "); if ( Long4 == true)Print(" Long4 signal taken "); if ( Long4 == true)Print(" Long4 signal taken "); co=CalculateCurrentOrders(Symbol())。 if (co=0){。 res = OpenStop(OP_BUYSTOP,LotsRisk(StopLoss), High[shift]+OrderPipsDiff*Point, StopLoss, TakeProfit1); } last=Time[0]; lastsig=1; を返します。 } } bool CloseAtMarket(int ticket,double lot) { //異常な成行注文の終了 //フォールトトレラント成行注文の引け bool bres=false; int tr; tries=0; while (!bres && tries<OrderTriesNumber) { (トライス<注文トライ数) RefreshRates(); bres=OrderClose(ticket,lot,OrderClosePrice(),slippage,White)。 tries++; tr=0; while (tr<5 && IsTradeAllowed()) { tr++; Sleep(2000); }. if (!bres) Print("Error closing order :",ErrorDescription(GetLastError()))。 } int OpenStop(int mode,double lot, double prc, int SL, int TP) { { int res,tr,col; { int res,tr,col; { int prc, int SL, int TP int res,tr,col; 文字列メール double openprice,sl,tp,stlev; tries=0; stlev=(1+MarketInfo(Symbol(),MODE_STOPLEVEL))*Point; while (res<=0 && tries<OrderTriesNumber) {。 tr=0; while (tr<5 && IsTradeAllowed()) { tr++; Sleep(2000); }. RefreshRates(); if (モード==OP_SELLSTOP) {。 if (prc<=Bid-stlev) openprice=prc; else openprice=Bid-stlev; if (SL>0) sl=openprice+SL*Point; if (TP>0) tp=openprice-TP*Point;col=Red; } else if (モード==OP_BUYSTOP) {。 if (prc>=Ask+stlev) openprice=prc; else openprice=Ask+stlev; if (SL>0) sl=openprice-SL*Point; if (TP>0) tp=openprice+TP*Point;col=Blue; } else return; Print(Ask," ",Bid," ",Symbol()," ",mode," ",lot," ",openprice," ",sl," ",tp," ").print()を実行します。 res=OrderSend(Symbol(),mode,lot,openprice,slippage,sl,tp,EAName+"_"+ MagicNumber, MagicNumber,0,col); tries++; } if (res<=0) Print("Error openingpending order:",ErrorDescription(GetLastError()))。 return(res); How to code? I need help with アスク! jturns23 2007.12.14 03:39 #572 このEAはコンパイルさえしません。ストップロスはあなたの懸念の最たるものでしょう。 5つの変数にランダムなスペースが入っていたり、最初の文字が大文字でないものがあります。 tiger_wong 2007.12.14 04:52 #573 jturns23: このEAはコンパイルすらできないので、ストップロスが一番気になるところです。 5つの変数にランダムなスペースが入っていたり、最初の文字が大文字でないものがあります。 修正版はこちらです。 しかし、これはまだどのポジションも開くことができません。なぜなら、ロング/ショートポジションを開く方法を決定するためのロジックがコード内にないからです。 ファイル: chings73maroon73clk200_v2.6.mq4 8 kb BigBoppa 2007.12.14 08:56 #574 Slakerz 2007.12.15 10:14 #575 このEAに関するヘルプ Michel: このCHinGsMAroonCLKは誰ですか?私の記憶では、このEAはelCactusの10p3以外の何ものでもないのですが、たぶん私が間違っているのでしょう。 そのスレッドをチェックしてください、おそらくあなたが探しているものが見つかるでしょう: https://www.mql5.com/en/forum/174975 OK...それで、今問題なのは、このEAにストップロスを置くことができないことです。 削除済み 2007.12.15 23:53 #576 none trading zone - コードヘルプ こんにちは、皆さん。 私はコードを微調整しようとしていますが、多くの努力の後、私はまだそれを正しく得ることができませんでした...あなた方のうちの誰かがこれを見ることができます気にしない...感謝.... このアイデアは、価格帯が前のトレードと同じゾーンにある場合、次のトレードを停止することです。ロングトレードは前回のOPEN POSITIONロングトレードのゾーンをチェック し、ショートトレードは前回のOPEN POSITIONショートトレードのゾーンをチェックします。 例えば、1回目のLONGが1.4000の場合、2回目のLONGは価格がゾーン(20pipsゾーン)から1.3990未満&1.4010以上に移動した場合のみトリガーされます。 皆さんありがとうございます。 //+------------------------------------------------------------------------------------------------------------------------+ //| 横ばい相場用フィルター - 似たような価格帯での複数回取引を防ぎ、取引禁止ゾーンを作成する。 //+------------------------------------------------------------------------------------------------------------------------+ extern int Zone1 = -10; // (下限ゾーン) extern int Zone2 = 10; // (アッパーゾーン) // 直前の取引から-10と+10の間に取引ゾーンがない場合 bool CheckZone(int type) { int cnt = OrdersTotal(); for (int i=0; i < cnt; i++) { if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue; if (OrderSymbol() != Symbol()) continue; if (OrderMagicNumber() != Magic) continue; if (OrderType() != type) continue; if (OrderType() != type) continue; if (タイプ == OP_BUY) { if( (Bid - OrderOpenPrice()) > Zone1*Point && (Bid - OrderOpenPrice()) < Zone2*Point ) return(false); } if (タイプ == OP_SELL) { if( (OrderOpenPrice()-Ask) > Zone1*Point && (OrderOpenPrice()-Ask) < Zone2*Point ) return(false)。 } } return (true); 10ポイント 3.mq4 no trade zone code How to code? arsenic786 2007.12.17 20:46 #577 EAの問題を解決する こんにちは、MQLプログラマーの皆さん。 以下のコードをチェックして、なぜ私のデモ 口座で取引が行われないのか教えてください。GJ 1mでは良いEAなのですが、残念ながら動作していません。どなたか修正し、バグのないEAとして使用できるようにしていただけないでしょうか。 私は、ありがたいことに事前にしています よろしくお願いします。 //+------------------------------------------------------------------+ extern int Length1 = 3; extern int Length2 = 10; extern int Length3 = 16; double ヒスト[]; double MaHisto[]; double up[]; double dn[]; double upMode[]; double dnMode[]; int alertBar; int init() { return(0); int deinit() { return(0); } int start() { int limit; int counted_bars=IndicatorCounted(); if(counted_bars<0)counted_bars=0。 if(counted_bars>0)counted_bars--。 limit=Bars-counted_bars; for(int i = 0 ;i <= limit ;i++)Histo = iMA(Symbol(),0,Length1,0,MODE_EMA,PRICE_CLOSE,i)-iMA(Symbol(),0,Length2,0,MODE_EMA,PRICE_CLOSE,i).を計算する; for(int j = 0 ;j <= limit ;j++)MaHisto[j] = iMAOnArray(Histo,0,Length3,0,MODE_EMA,j)。 for(int m = 0 ;m <= limit ;m++) { if(MaHisto[m+1] 0) { up[m] = Open[m]-(5*Point); if(Bars > alertBar && m == 0) { //Alert(Symbol()+" "+Period()+" KI LONG ",Ask).OrderSend(Symbol())を実行。 OrderSend(Symbol(),OP_BUY,0.1,Ask,3,25,15,0,0,赤); alertBar = Bars; } } else if(MaHisto[m+1] >= 0 && MaHisto[m]< 0) { dn[m] = Open[m]+(5*Point); if(Bars > alertBar && m == 0) { OrderSend(Symbol(),OP_SELL,0.1,Ask,3,25,15,0,0,0,Red); alertBar = Bars; } } さもなくば { up[m] = EMPTY_VALUE; dn[m] = EMPTY_VALUE; } if( MaHisto[m] > 0 ) { upMode[m] = High[m]; dnMode[m] = Low[m]; } else if( MaHisto[m] < 0 ) { dnMode[m] = High[m]; upMode[m] = Low[m]; } return(0); } //+------------------------------------------------------------------+ How to code? Indicators with alerts/signal トレンド指標 Michel 2007.12.17 21:02 #578 arsenic786: こんにちは、MQLプログラマーの皆さん。以下のコードを確認し、私のデモ口座でなぜこれが取引を行わないのか教えてください。GJ1mでは良いEAなのですが、残念ながら動作していません。どなたか修正し、バグのないEAとして使えるようにしていただけないでしょうか。 私は、ありがたいことに事前にしています よろしくお願いします。 //+------------------------------------------------------------------+ extern int Length1 = 3; extern int Length2 = 10; extern int Length3 = 16; double ヒスト[]; double MaHisto[]; double up[]; double dn[]; double upMode[]; double dnMode[]; int alertBar; int init() { return(0); int deinit() { return(0); } int start() { int limit; int counted_bars=IndicatorCounted(); if(counted_bars<0)counted_bars=0。 if(counted_bars>0)counted_bars--。 limit=Bars-counted_bars; for(int i = 0 ;i <= limit ;i++)Histo = iMA(Symbol(),0,Length1,0,MODE_EMA,PRICE_CLOSE,i)-iMA(Symbol(),0,Length2,0,MODE_EMA,PRICE_CLOSE,i).を計算する; for(int j = 0 ;j <= limit ;j++)MaHisto[j] = iMAOnArray(Histo,0,Length3,0,MODE_EMA,j)。 for(int m = 0 ;m <= limit ;m++) { if(MaHisto[m+1] 0) { up[m] = Open[m]-(5*Point); if(Bars > alertBar && m == 0) { //Alert(Symbol()+" "+Period()+" KI LONG ",Ask).OrderSend(Symbol())を実行。 OrderSend(Symbol(),OP_BUY,0.1,Ask,3,25,15,0,0,赤); alertBar = Bars; } } else if(MaHisto[m+1] >= 0 && MaHisto[m]< 0) { dn[m] = Open[m]+(5*Point); if(Bars > alertBar && m == 0) { OrderSend(Symbol(),OP_SELL,0.1,Ask,3,25,15,0,0,0,Red); alertBar = Bars; } } さもなくば { up[m] = EMPTY_VALUE; dn[m] = EMPTY_VALUE; } if( MaHisto[m] > 0 ) { upMode[m] = High[m]; dnMode[m] = Low[m]; } else if( MaHisto[m] < 0 ) { dnMode[m] = High[m]; upMode[m] = Low[m]; } return(0); } //+------------------------------------------------------------------+ "OrderSend(Symbol(),OP_SELL,0.1,Ask,3,25,15,0,0,Red); "を送信します。 あなたはAsk価格で売っていますが、Bidにすべきです。 コメント欄は0ではなく、""であるべきです。 SLの25は、Bid+25*Pointでなければなりません。 TPの15はBid-15*Pointでなければなりません。 "R ed" は色ではありません。 arsenic786 2007.12.17 21:26 #579 Michel:"OrderSend(Symbol(),OP_SELL,0.1,Ask,3,25,15,0,0,R ed); "売値がAskになっていますが、Bidであるべきです。 コメント欄は0ではなく、""であるべきです。 SL の 25 は Bid+25*Point であるべきです。 TPの15はBid-15*Pointでなければなりません。 "R ed" は色ではありません。 サポートありがとうございました。 しかし、私はまだ問題に直面している MQLのゼロ知識。mq4ファイルにコードをコピーペーストして、デモでテストして、うまくいくかどうか教えてください。あなたのサポートは、Kindest Help Michelとしてカウントされます。 よろしくお願いします。 Kashif. Michel 2007.12.17 22:04 #580 いや、申し訳ない、今は時間がないんだ。 数時間後、私はXmasのために私の家族のもとに戻るために船に乗る...そして、これ以上のPCはありません...。 1...515253545556575859606162636465...347 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
直ったかと思ったのですが、そうではありません。
私がしようとしているのは、チャート上とジャーナル上に、現在のポジションを開くためにどのエントリー条件が使われたかを示すコメントを表示させることです。
これは以前に行われたことがあり、どのように行うのでしょうか?なぜなら、私はここしばらくの間試してきましたが、うまくいかず、私が思っていたほど簡単ではありませんでした。
以下は、私の最新の試みです。
どんな助けでも偉大であろう
buysig = Long || Long2 || Long3 || Long4;
このような場合、「Sellig = Short || Short2 || Short3 || Short4;
closebuy=sellsig;
closesell=buysigです。
if (curprof>=AccountEquity()*ProfitExit/100.0) {。
exit=true。
}
if (last>0 && (Time[0]-last)/(Period()*60)>=CancelOrderBars){。
remorder=true。
}
}
void CheckForOpen() {
int res,tr;
//---- 売り条件
co=CalculateCurrentOrders(Symbol())。
if(sellsig && lastsig!=-1){ ショート == true
if ( Short == true)Print(" Short signal taken ").If ( Short2 == true)Print(" Short signal taken ");
if ( Short2 == true)Print(" Short2 signal taken "); if ( Short3 == true)Print(" Short2 signal taken ");
if ( Short3 == true)Print(" Short3 シグナルを取得しました "); if ( Short4 == true)Print(" Short3 シグナルを取得しました ");
if ( Short4 == true)Print(" Short4 signal taken "); if ( Short4 == true)Print(" Short4 signal taken ");
co=CalculateCurrentOrders(Symbol())。
if (co=0){。
res = OpenStop(OP_SELLSTOP,LotsRisk(StopLoss), Low[shift]-OrderPipsDiff*Point, StopLoss, TakeProfit1);
}
lastsig=-1;
last=Time[0];
を返します。
}
//---- 買いの条件
co=CalculateCurrentOrders(Symbol())。
if(buysig && lastsig!=1) {
if ( Long == true) Print(" Long signal taken ");
if ( Long2 == true)Print(" Long2 signal taken ").If ( Long3 == true) Print(" Long2 signal taken ");
if ( Long3 == true) Print(" Long3 signal taken ").If ( Long4 == true) Print(" Long3 signal taken ");
if ( Long4 == true)Print(" Long4 signal taken "); if ( Long4 == true)Print(" Long4 signal taken ");
co=CalculateCurrentOrders(Symbol())。
if (co=0){。
res = OpenStop(OP_BUYSTOP,LotsRisk(StopLoss), High[shift]+OrderPipsDiff*Point, StopLoss, TakeProfit1);
}
last=Time[0];
lastsig=1;
を返します。
}
}
bool CloseAtMarket(int ticket,double lot) { //異常な成行注文の終了
//フォールトトレラント成行注文の引け
bool bres=false; int tr;
tries=0;
while (!bres && tries<OrderTriesNumber) { (トライス<注文トライ数)
RefreshRates();
bres=OrderClose(ticket,lot,OrderClosePrice(),slippage,White)。
tries++;
tr=0; while (tr<5 && IsTradeAllowed()) { tr++; Sleep(2000); }.
if (!bres) Print("Error closing order :",ErrorDescription(GetLastError()))。
}
int OpenStop(int mode,double lot, double prc, int SL, int TP) { { int res,tr,col; { int res,tr,col; { int prc, int SL, int TP
int res,tr,col;
文字列メール
double openprice,sl,tp,stlev;
tries=0;
stlev=(1+MarketInfo(Symbol(),MODE_STOPLEVEL))*Point;
while (res<=0 && tries<OrderTriesNumber) {。
tr=0; while (tr<5 && IsTradeAllowed()) { tr++; Sleep(2000); }.
RefreshRates();
if (モード==OP_SELLSTOP) {。
if (prc<=Bid-stlev) openprice=prc;
else openprice=Bid-stlev;
if (SL>0) sl=openprice+SL*Point;
if (TP>0) tp=openprice-TP*Point;col=Red;
} else
if (モード==OP_BUYSTOP) {。
if (prc>=Ask+stlev) openprice=prc;
else openprice=Ask+stlev;
if (SL>0) sl=openprice-SL*Point;
if (TP>0) tp=openprice+TP*Point;col=Blue;
} else return;
Print(Ask," ",Bid," ",Symbol()," ",mode," ",lot," ",openprice," ",sl," ",tp," ").print()を実行します。
res=OrderSend(Symbol(),mode,lot,openprice,slippage,sl,tp,EAName+"_"+ MagicNumber, MagicNumber,0,col);
tries++;
}
if (res<=0) Print("Error openingpending order:",ErrorDescription(GetLastError()))。
return(res);
このEAはコンパイルさえしません。ストップロスはあなたの懸念の最たるものでしょう。 5つの変数にランダムなスペースが入っていたり、最初の文字が大文字でないものがあります。
このEAはコンパイルすらできないので、ストップロスが一番気になるところです。 5つの変数にランダムなスペースが入っていたり、最初の文字が大文字でないものがあります。
修正版はこちらです。
しかし、これはまだどのポジションも開くことができません。なぜなら、ロング/ショートポジションを開く方法を決定するためのロジックがコード内にないからです。
このEAに関するヘルプ
このCHinGsMAroonCLKは誰ですか?
私の記憶では、このEAはelCactusの10p3以外の何ものでもないのですが、たぶん私が間違っているのでしょう。
そのスレッドをチェックしてください、おそらくあなたが探しているものが見つかるでしょう: https://www.mql5.com/en/forum/174975OK...それで、今問題なのは、このEAにストップロスを置くことができないことです。
none trading zone - コードヘルプ
こんにちは、皆さん。
私はコードを微調整しようとしていますが、多くの努力の後、私はまだそれを正しく得ることができませんでした...あなた方のうちの誰かがこれを見ることができます気にしない...感謝....
このアイデアは、価格帯が前のトレードと同じゾーンにある場合、次のトレードを停止することです。ロングトレードは前回のOPEN POSITIONロングトレードのゾーンをチェック し、ショートトレードは前回のOPEN POSITIONショートトレードのゾーンをチェックします。
例えば、1回目のLONGが1.4000の場合、2回目のLONGは価格がゾーン(20pipsゾーン)から1.3990未満&1.4010以上に移動した場合のみトリガーされます。
皆さんありがとうございます。
//+------------------------------------------------------------------------------------------------------------------------+
//| 横ばい相場用フィルター - 似たような価格帯での複数回取引を防ぎ、取引禁止ゾーンを作成する。
//+------------------------------------------------------------------------------------------------------------------------+
extern int Zone1 = -10; // (下限ゾーン)
extern int Zone2 = 10; // (アッパーゾーン)
// 直前の取引から-10と+10の間に取引ゾーンがない場合
bool CheckZone(int type)
{
int cnt = OrdersTotal();
for (int i=0; i < cnt; i++)
{
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
if (OrderSymbol() != Symbol()) continue;
if (OrderMagicNumber() != Magic) continue;
if (OrderType() != type) continue; if (OrderType() != type) continue;
if (タイプ == OP_BUY)
{
if( (Bid - OrderOpenPrice()) > Zone1*Point && (Bid - OrderOpenPrice()) < Zone2*Point ) return(false);
}
if (タイプ == OP_SELL)
{
if( (OrderOpenPrice()-Ask) > Zone1*Point && (OrderOpenPrice()-Ask) < Zone2*Point ) return(false)。
}
}
return (true);
EAの問題を解決する
こんにちは、MQLプログラマーの皆さん。
以下のコードをチェックして、なぜ私のデモ 口座で取引が行われないのか教えてください。GJ 1mでは良いEAなのですが、残念ながら動作していません。どなたか修正し、バグのないEAとして使用できるようにしていただけないでしょうか。
私は、ありがたいことに事前にしています
よろしくお願いします。
//+------------------------------------------------------------------+
extern int Length1 = 3;
extern int Length2 = 10;
extern int Length3 = 16;
double ヒスト[];
double MaHisto[];
double up[];
double dn[];
double upMode[];
double dnMode[];
int alertBar;
int init()
{
return(0);
int deinit()
{
return(0);
}
int start()
{
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars<0)counted_bars=0。
if(counted_bars>0)counted_bars--。
limit=Bars-counted_bars;
for(int i = 0 ;i <= limit ;i++)Histo = iMA(Symbol(),0,Length1,0,MODE_EMA,PRICE_CLOSE,i)-iMA(Symbol(),0,Length2,0,MODE_EMA,PRICE_CLOSE,i).を計算する;
for(int j = 0 ;j <= limit ;j++)MaHisto[j] = iMAOnArray(Histo,0,Length3,0,MODE_EMA,j)。
for(int m = 0 ;m <= limit ;m++)
{
if(MaHisto[m+1] 0)
{
up[m] = Open[m]-(5*Point);
if(Bars > alertBar && m == 0)
{
//Alert(Symbol()+" "+Period()+" KI LONG ",Ask).OrderSend(Symbol())を実行。
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,25,15,0,0,赤);
alertBar = Bars;
}
}
else if(MaHisto[m+1] >= 0 && MaHisto[m]< 0)
{
dn[m] = Open[m]+(5*Point);
if(Bars > alertBar && m == 0)
{
OrderSend(Symbol(),OP_SELL,0.1,Ask,3,25,15,0,0,0,Red);
alertBar = Bars;
}
}
さもなくば
{
up[m] = EMPTY_VALUE;
dn[m] = EMPTY_VALUE;
}
if( MaHisto[m] > 0 )
{
upMode[m] = High[m];
dnMode[m] = Low[m];
}
else if( MaHisto[m] < 0 )
{
dnMode[m] = High[m];
upMode[m] = Low[m];
}
return(0);
}
//+------------------------------------------------------------------+
こんにちは、MQLプログラマーの皆さん。
以下のコードを確認し、私のデモ口座でなぜこれが取引を行わないのか教えてください。GJ1mでは良いEAなのですが、残念ながら動作していません。どなたか修正し、バグのないEAとして使えるようにしていただけないでしょうか。
私は、ありがたいことに事前にしています
よろしくお願いします。
//+------------------------------------------------------------------+
extern int Length1 = 3;
extern int Length2 = 10;
extern int Length3 = 16;
double ヒスト[];
double MaHisto[];
double up[];
double dn[];
double upMode[];
double dnMode[];
int alertBar;
int init()
{
return(0);
int deinit()
{
return(0);
}
int start()
{
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars<0)counted_bars=0。
if(counted_bars>0)counted_bars--。
limit=Bars-counted_bars;
for(int i = 0 ;i <= limit ;i++)Histo = iMA(Symbol(),0,Length1,0,MODE_EMA,PRICE_CLOSE,i)-iMA(Symbol(),0,Length2,0,MODE_EMA,PRICE_CLOSE,i).を計算する;
for(int j = 0 ;j <= limit ;j++)MaHisto[j] = iMAOnArray(Histo,0,Length3,0,MODE_EMA,j)。
for(int m = 0 ;m <= limit ;m++)
{
if(MaHisto[m+1] 0)
{
up[m] = Open[m]-(5*Point);
if(Bars > alertBar && m == 0)
{
//Alert(Symbol()+" "+Period()+" KI LONG ",Ask).OrderSend(Symbol())を実行。
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,25,15,0,0,赤);
alertBar = Bars;
}
}
else if(MaHisto[m+1] >= 0 && MaHisto[m]< 0)
{
dn[m] = Open[m]+(5*Point);
if(Bars > alertBar && m == 0)
{
OrderSend(Symbol(),OP_SELL,0.1,Ask,3,25,15,0,0,0,Red);
alertBar = Bars;
}
}
さもなくば
{
up[m] = EMPTY_VALUE;
dn[m] = EMPTY_VALUE;
}
if( MaHisto[m] > 0 )
{
upMode[m] = High[m];
dnMode[m] = Low[m];
}
else if( MaHisto[m] < 0 )
{
dnMode[m] = High[m];
upMode[m] = Low[m];
}
return(0);
}
//+------------------------------------------------------------------+"OrderSend(Symbol(),OP_SELL,0.1,Ask,3,25,15,0,0,Red); "を送信します。
あなたはAsk価格で売っていますが、Bidにすべきです。
コメント欄は0ではなく、""であるべきです。
SLの25は、Bid+25*Pointでなければなりません。
TPの15はBid-15*Pointでなければなりません。
"R ed" は色ではありません。
"OrderSend(Symbol(),OP_SELL,0.1,Ask,3,25,15,0,0,R ed); "
売値がAskになっていますが、Bidであるべきです。
コメント欄は0ではなく、""であるべきです。
SL の 25 は Bid+25*Point であるべきです。
TPの15はBid-15*Pointでなければなりません。
"R ed" は色ではありません。サポートありがとうございました。
しかし、私はまだ問題に直面している
MQLのゼロ知識。mq4ファイルにコードをコピーペーストして、デモでテストして、うまくいくかどうか教えてください。あなたのサポートは、Kindest Help Michelとしてカウントされます。
よろしくお願いします。
Kashif.
いや、申し訳ない、今は時間がないんだ。
数時間後、私はXmasのために私の家族のもとに戻るために船に乗る...そして、これ以上のPCはありません...。