コーディングの方法は? - ページ 152

 
m_43_62:
ハイ

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

インジケーターは アドバイザーとして使用するのではなく、このようにインジケーターと一緒に使用する必要があります。

P.S. インジケータをindicatorディレクトリに置くことを忘れないでください。

ファイル:
 

削除済み

--- 削除済み

 

最後のMAクロスからDAYS/HOURSを表示するコード

私は私に2つのMAが交差した最後の時間を表示するコードが必要です(すなわち、どのくらい前)。それは日または時間でそれを示すことができる。

どんな助けでも感謝されるだろう!

トッド

 

マーケット実行への変換

私はMetatrader4の "Instant Execution" バージョン用に構築されたEAを持っており、私はそれがMetatrader4の "Market Execution" バージョン上で動作するようにコードを変更する誰かを必要としています。 私に見積もりまたは任意の質問を電子メールで送信してくださいphasna@gmail.com

感謝

ポール

 

このインディケータをEAで使用するためのicustomステートメントをご存知の方はいらっしゃいますか?

バッファは1つだけで、SetIndexBuffer( 0, TrStopLevel ); これはトレーリングドットに使われ、矢印はObjectSetで描かれます。

MT4-LevelStop-Reverse-v2-1.mq4

ファイル:
 
increase:
このインジケータのEAで使用するicustom文をご存知の方はいらっしゃいますか?

バッファは1つだけです SetIndexBuffer( 0, TrStopLevel ); これは末尾のドットに使われます 矢印はオブジェクトセットで描かれます icustomステートメントでどのようにそれを拾いますか?

MT4-LevelStop-Reverse-v2-1.mq4

誰か助けてくれませんか?

 

スプレッドの間にトレードを配置するのに役立つ

OK、スプレッドはいくつかのペアを殺す。しかし、スプレッドの真ん中に取引を配置するために離れてtheireはあります。この方法でpipsを節約し、より多くのお金を稼ぐことができます。私はこのコードを持っていますが、注文を入札依頼ではなくチャート価格に修正するように変更することができますか?

void PlaceBuyOrder()

{

double BuyOrders, Lots;

double LowestBuy = 1000, HighestBuy;

if (BarTime != Time[0])

{

BarTime = Time[0];

TickPrice = 0;

TradeAllowed = true。

}

RefreshRates();

for (注文 = OrdersTotal() - 1; 注文 >= 0; 注文--)

{

if (注文選択(注文, SELECT_BY_POS, MODE_TRADES))

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Reference && OrderType() == OP_BUY)

{

if (オーダーオープン価格() < 下限値)LowestBuy = OrderOpenPrice();

if (OrderOpenPrice() > HighestBuy) HighestBuy = OrderOpenPrice().BuyOrders++; if (OrderOpenPrice() > HighhestBuy) HighestBuy = OrderOpenPrice();

BuyOrders++;

}

}

}

if (TradeAllowed)

{

if (Ask >= HighestBuy + (TrendSpacing * Point))

{

// if (乗数)

if (マルチプライヤー == 1)

Lots = NormalizeDouble(LotSize * MathPow(LotIncrement, BuyOrders), 2);

さもなければ

Lots = NormalizeDouble(LotSize + (LotIncrement * BuyOrders), 2);

}

if (Ask <= LowestBuy - (Spacing * Point))

{

// if (マルチプライヤー)

if (乗数 == 1)

Lots = NormalizeDouble(LotSize * CounterTrendMultiplier * MathPow(LotIncrement, BuyOrders), 2);

さもなければ

Lots = NormalizeDouble((LotSize * CounterTrendMultiplier) + (LotIncrement * BuyOrders), 2);

}

if (Lots == 0)

{

// if (マルチプライヤー)

if (マルチプライヤー == 1)

Lots = NormalizeDouble(LotSize, 2);

さもなくば

Lots = NormalizeDouble(LotSize, 2);

}

OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, TradeComment, Reference, Green);

Error = GetLastError()。

if (Error != 0)

Write("Error opening BUY order:" + ErrorDescription(Error) + " (C" + Error + ") Ask:" + Ask + " Slippage:" + Slippage);

さもなくば

{

TickPrice = Close[0];

TradeAllowed = false;

}

}

}

void 売り注文を出す()

{

double 売り注文, ロット;

double HighestSell, LowestSell = 1000;

if (BarTime != Time[0])

{

BarTime = Time[0];

TickPrice = 0;

TradeAllowed = true;

}

RefreshRates();

for (注文 = OrdersTotal() - 1; 注文 >= 0; 注文--)

{

if (注文選択(注文, SELECT_BY_POS, MODE_TRADES))

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Reference && OrderType() == OP_SELL)

{

if (OrderOpenPrice() > HighestSell) HighestSell = OrderOpenPrice();

if (注文開始価格() < 下限値)LowestSell = OrderOpenPrice();

売り注文++。

}

}

}

if (TradeAllowed)

{

if (Bid <= LowestSell - (TrendSpacing * Point))

{

// if (倍率)

if (マルチプライヤー == 1)

Lots = NormalizeDouble(LotSize * MathPow(LotIncrement, SellOrders), 2);

さもなければ

Lots = NormalizeDouble(LotSize + (LotIncrement * SellOrders), 2);

}

if (Bid >= HighestSell + (Spacing * Point))

{

// if (マルチプライヤー)

if (乗数 == 1)

Lots = NormalizeDouble(LotSize * CounterTrendMultiplier * MathPow(LotIncrement, SellOrders), 2);

さもなければ

Lots = NormalizeDouble((LotSize * CounterTrendMultiplier) + (LotIncrement * SellOrders), 2);

}

if (Lots == 0)

{

// if (マルチプライヤー)

if (マルチプライヤー == 1)

Lots = NormalizeDouble(LotSize, 2);

さもなくば

Lots = NormalizeDouble(LotSize, 2);

}

注文送信(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, TradeComment, Reference, Red);

Error = GetLastError()。

if (Error != 0)

Write("Error openingSELL order:" + ErrorDescription(Error) + " (D" + Error + ") Bid:" + Bid + " Slippage:" + Slippage);

さもなくば

{

TickPrice = Close[0];

TradeAllowed = false;

}

}

}

これは、できるものなのでしょうか?

 

HELP~just 1 error, use 3 Hours still can't find it out.

私は非常に心配している、なぜなら私は以下のエラーを修正する方法を見つけることができません。

どなたか、どこが間違いか教えていただけませんか? または、デバッグを手伝っていただけませんか?

'\end_of_program' - unbalanced left parenthesis C:\Program Files MetaTrader⇄ MetaTrader screenscripts﹑delete_pending_SAM.mq4 (38, 2)

it is a script file~ ~.

//+------------------------------------------------------------------+

//|delete_pending.mq4 |||。

|| Copyright ?2004, MetaQuotes Software Corp.

//+------------------------------------------------------------------+

#property copyright "Copyright ?2004, MetaQuotes Software Corp."(著作権)。

#property link "http://www.metaquotes.net/"

#property show_inputs

bool result;

extern double OverSymbolDel = 1; //0:FASLE ; 1: TRUE

//+------------------------------------------------------------------+

//| スクリプト "保留中の注文を 削除"

//+------------------------------------------------------------------+

int start()

{

for (int number=0; (number <= OrdersTotal()+1); number++ )

{for (int times=0;( times <= OrdersTotal()+1); times++ )

{if (オーダーセレクト(番号,SELECT_BY_POS,MODE_TRADES))

{if((オーダータイプ()==OP_BUY))|| (OrderType()==OP_SELL) ) break;

if ((OverSymbolDel ==0)&& (Symbol()==OrderSymbol() ) delPending();

if (OverSymbolDel ==1) delPending()。

else Print("Error when Order Select ", GetLastError() ) ;

}

}

}

//+------------------------------------------------------------------+

void delPending()

{OrderPrint()を実行します。

int ticket =OrderTicket();

result=OrderDelete(ticket)。

if (result==False) Print("Error when delete Order ", GetLastError() );

ファイル:
 

チウィングへ

これを試してみてください。

#property copyright "Copyright ?2004, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net/"

#property show_inputs

bool result;

extern double OverSymbolDel = 1; //0:FASLE ; 1: TRUE

//+------------------------------------------------------------------+

//| script "delete pending order" |

//+------------------------------------------------------------------+

int start()

{

for (int number=OrdersTotal()-1; number >= 0; number--)

{

OrderSelect(number,SELECT_BY_POS,MODE_TRADES);

if((OrderType()==OP_BUY) || (OrderType()==OP_SELL) ) continue;

if (OverSymbolDel ==0&& Symbol()==OrderSymbol() ) delPending();

if (OverSymbolDel ==1) delPending();

}

}

//+------------------------------------------------------------------+

void delPending()

{

OrderPrint();

int ticket =OrderTicket();

result=OrderDelete(ticket);

if (!result) Print("Error when delete Order ", GetLastError() );

}
 
Roger09:
チーイングへ

これを試してみてください。

#property copyright "Copyright ?2004, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net/"

#property show_inputs

bool result;

extern double OverSymbolDel = 1; //0:FASLE ; 1: TRUE

//+------------------------------------------------------------------+

//| script "delete pending order" |

//+------------------------------------------------------------------+

int start()

{

for (int number=OrdersTotal()-1; number >= 0; number--)

{

OrderSelect(number,SELECT_BY_POS,MODE_TRADES);

if((OrderType()==OP_BUY) || (OrderType()==OP_SELL) ) continue;

if (OverSymbolDel ==0&& Symbol()==OrderSymbol() ) delPending();

if (OverSymbolDel ==1) delPending();

}

}

//+------------------------------------------------------------------+

void delPending()

{

OrderPrint();

int ticket =OrderTicket();

result=OrderDelete(ticket);

if (!result) Print("Error when delete Order ", GetLastError() );

}

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

そして、私は私の間違いを見つける。

{if (オーダーセレクト(番号,SELECT_BY_POS,MODE_TRADES) )

に変更します。

OrderSelect(number,SELECT_BY_POS,MODE_TRADES) に変更します。

{if((OrderType()==OP_BUY))|| (OrderType()==OP_SELL) ) break;

に変更します。

if((OrderType()==OP_BUY))|| (OrderType()==OP_SELL) )countinueに 変更します。